More const, parents passed in constructors and braces
This commit is contained in:
parent
1dc80b96d1
commit
a7a32dddc4
6 changed files with 65 additions and 46 deletions
|
@ -64,7 +64,8 @@ void ArtConfigWindow::loadData(const QString &filename)
|
|||
|
||||
QFile artFile(filename);
|
||||
artFile.open(QFile::ReadOnly);
|
||||
QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
const QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
m_newBannerEdit->setText(artJson[QStringLiteral("new-banner")].toString());
|
||||
m_commissionsOpen->setChecked(artJson[QStringLiteral("commissions")].toBool());
|
||||
|
@ -78,7 +79,8 @@ void ArtConfigWindow::saveData(const QString &filename)
|
|||
object[QStringLiteral("new-banner")] = m_newBannerEdit->text();
|
||||
object[QStringLiteral("commissions")] = m_commissionsOpen->isChecked();
|
||||
|
||||
QJsonDocument jsonDoc(object);
|
||||
const QJsonDocument jsonDoc(object);
|
||||
|
||||
QFile file(filename);
|
||||
file.open(QFile::WriteOnly);
|
||||
file.write(jsonDoc.toJson());
|
||||
|
|
|
@ -27,7 +27,7 @@ ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirec
|
|||
setWindowTitle(filename);
|
||||
|
||||
QFileInfo info(filename);
|
||||
QString withoutExtension = info.completeBaseName();
|
||||
const QString withoutExtension = info.completeBaseName();
|
||||
|
||||
auto mainLayout = new QHBoxLayout();
|
||||
setLayout(mainLayout);
|
||||
|
@ -66,15 +66,15 @@ ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirec
|
|||
|
||||
m_dateEdit = new QDateEdit();
|
||||
m_dateEdit->setCalendarPopup(true);
|
||||
formLayout->addRow(QStringLiteral("Date"), m_dateEdit);
|
||||
formLayout->addRow(i18nc("@label:chooser", "Date"), m_dateEdit);
|
||||
|
||||
m_altTextEdit = new QTextEdit();
|
||||
m_altTextEdit->setAcceptRichText(false);
|
||||
formLayout->addRow(QStringLiteral("Alt Text"), m_altTextEdit);
|
||||
formLayout->addRow(i18nc("@label:textbox", "Alt Text"), m_altTextEdit);
|
||||
|
||||
m_descriptionEdit = new QTextEdit();
|
||||
m_descriptionEdit->setAcceptRichText(false);
|
||||
formLayout->addRow(QStringLiteral("Description"), m_descriptionEdit);
|
||||
formLayout->addRow(i18nc("@label:textbox", "Description"), m_descriptionEdit);
|
||||
|
||||
m_nsfwBox = new QCheckBox();
|
||||
formLayout->addRow(i18nc("@option:check", "Is NSFW?"), m_nsfwBox);
|
||||
|
@ -104,10 +104,7 @@ ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirec
|
|||
|
||||
auto addCharacterButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-add")), i18nc("@action:button", "Add"));
|
||||
connect(addCharacterButton, &QPushButton::clicked, this, [this] {
|
||||
auto tmp = m_characterListModel->stringList();
|
||||
;
|
||||
tmp.push_back(QStringLiteral("New Character"));
|
||||
m_characterListModel->setStringList(tmp);
|
||||
m_characterListModel->setStringList(m_characterListModel->stringList() << QStringLiteral("New Character"));
|
||||
});
|
||||
characterButtonLayout->addWidget(addCharacterButton);
|
||||
characterButtonLayout->addStretch(1);
|
||||
|
@ -137,10 +134,7 @@ ArtDetailWindow::ArtDetailWindow(const QString &filename, const QDir &assetDirec
|
|||
|
||||
auto addTagButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-add")), i18nc("@action:button", "Add"));
|
||||
connect(addTagButton, &QPushButton::clicked, this, [this] {
|
||||
auto tmp = m_tagsListModel->stringList();
|
||||
;
|
||||
tmp.push_back(QStringLiteral("New Tag"));
|
||||
m_tagsListModel->setStringList(tmp);
|
||||
m_tagsListModel->setStringList(m_tagsListModel->stringList() << QStringLiteral("New Tag"));
|
||||
});
|
||||
tagButtonLayout->addWidget(addTagButton);
|
||||
tagButtonLayout->addStretch(1);
|
||||
|
@ -182,16 +176,20 @@ void ArtDetailWindow::loadData(const QString &filename)
|
|||
|
||||
QFile artFile(filename);
|
||||
artFile.open(QFile::ReadOnly);
|
||||
QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("title")))
|
||||
const QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("title"))) {
|
||||
m_titleEdit->setText(artJson[QStringLiteral("title")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("alt_text")))
|
||||
if (artJson.object().contains(QStringLiteral("alt_text"))) {
|
||||
m_altTextEdit->setText(artJson[QStringLiteral("alt_text")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("description")))
|
||||
if (artJson.object().contains(QStringLiteral("description"))) {
|
||||
m_descriptionEdit->setText(artJson[QStringLiteral("description")].toString());
|
||||
}
|
||||
|
||||
m_knowExactDateBox->setChecked(artJson[QStringLiteral("date")].toString().contains(QStringLiteral("-")));
|
||||
if (m_knowExactDateBox->isChecked()) {
|
||||
|
@ -202,24 +200,29 @@ void ArtDetailWindow::loadData(const QString &filename)
|
|||
m_dateEdit->setDisplayFormat(QStringLiteral("yyyy"));
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("nsfw")))
|
||||
if (artJson.object().contains(QStringLiteral("nsfw"))) {
|
||||
m_nsfwBox->setChecked(artJson[QStringLiteral("nsfw")].toBool());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("mastodon_url")))
|
||||
if (artJson.object().contains(QStringLiteral("mastodon_url"))) {
|
||||
m_mastodonUrlEdit->setText(artJson[QStringLiteral("mastodon_url")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("pixiv_url")))
|
||||
if (artJson.object().contains(QStringLiteral("pixiv_url"))) {
|
||||
m_pixivUrlEdit->setText(artJson[QStringLiteral("pixiv_url")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("newgrounds_url")))
|
||||
if (artJson.object().contains(QStringLiteral("newgrounds_url"))) {
|
||||
m_newgroundsUrlEdit->setText(artJson[QStringLiteral("newgrounds_url")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("program")))
|
||||
if (artJson.object().contains(QStringLiteral("program"))) {
|
||||
m_programEdit->setText(artJson[QStringLiteral("program")].toString());
|
||||
}
|
||||
|
||||
if (artJson.object().contains(QStringLiteral("characters"))) {
|
||||
QStringList list;
|
||||
for (auto character : artJson[QStringLiteral("characters")].toArray()) {
|
||||
for (const auto &character : artJson[QStringLiteral("characters")].toArray()) {
|
||||
list.append(character.toString());
|
||||
}
|
||||
|
||||
|
@ -228,7 +231,7 @@ void ArtDetailWindow::loadData(const QString &filename)
|
|||
|
||||
if (artJson.object().contains(QStringLiteral("tags"))) {
|
||||
QStringList list;
|
||||
for (auto tag : artJson[QStringLiteral("tags")].toArray()) {
|
||||
for (const auto &tag : artJson[QStringLiteral("tags")].toArray()) {
|
||||
list.append(tag.toString());
|
||||
}
|
||||
|
||||
|
@ -241,14 +244,17 @@ void ArtDetailWindow::saveData(const QString &filename)
|
|||
qDebug() << "Saving data to" << filename;
|
||||
|
||||
QJsonObject object;
|
||||
if (!m_titleEdit->text().isEmpty())
|
||||
if (!m_titleEdit->text().isEmpty()) {
|
||||
object[QStringLiteral("title")] = m_titleEdit->text();
|
||||
}
|
||||
|
||||
if (!m_altTextEdit->document()->isEmpty())
|
||||
if (!m_altTextEdit->document()->isEmpty()) {
|
||||
object[QStringLiteral("alt_text")] = m_altTextEdit->document()->toPlainText();
|
||||
}
|
||||
|
||||
if (!m_descriptionEdit->document()->isEmpty())
|
||||
if (!m_descriptionEdit->document()->isEmpty()) {
|
||||
object[QStringLiteral("description")] = m_descriptionEdit->document()->toPlainText();
|
||||
}
|
||||
|
||||
if (m_knowExactDateBox->isChecked()) {
|
||||
object[QStringLiteral("date")] = m_dateEdit->date().toString(QStringLiteral("yyyy-MM-dd"));
|
||||
|
@ -256,20 +262,25 @@ void ArtDetailWindow::saveData(const QString &filename)
|
|||
object[QStringLiteral("date")] = m_dateEdit->date().toString(QStringLiteral("yyyy"));
|
||||
}
|
||||
|
||||
if (m_nsfwBox->isChecked())
|
||||
if (m_nsfwBox->isChecked()) {
|
||||
object[QStringLiteral("nsfw")] = m_nsfwBox->isChecked();
|
||||
}
|
||||
|
||||
if (!m_mastodonUrlEdit->text().isEmpty())
|
||||
if (!m_mastodonUrlEdit->text().isEmpty()) {
|
||||
object[QStringLiteral("mastodon_url")] = m_mastodonUrlEdit->text();
|
||||
}
|
||||
|
||||
if (!m_pixivUrlEdit->text().isEmpty())
|
||||
if (!m_pixivUrlEdit->text().isEmpty()) {
|
||||
object[QStringLiteral("pixiv_url")] = m_pixivUrlEdit->text();
|
||||
}
|
||||
|
||||
if (!m_newgroundsUrlEdit->text().isEmpty())
|
||||
if (!m_newgroundsUrlEdit->text().isEmpty()) {
|
||||
object[QStringLiteral("newgrounds_url")] = m_newgroundsUrlEdit->text();
|
||||
}
|
||||
|
||||
if (!m_programEdit->text().isEmpty())
|
||||
if (!m_programEdit->text().isEmpty()) {
|
||||
object[QStringLiteral("program")] = m_programEdit->text();
|
||||
}
|
||||
|
||||
auto tags = m_tagsListModel->stringList();
|
||||
if (!tags.isEmpty()) {
|
||||
|
@ -281,7 +292,8 @@ void ArtDetailWindow::saveData(const QString &filename)
|
|||
object[QStringLiteral("characters")] = QJsonArray::fromStringList(characters);
|
||||
}
|
||||
|
||||
QJsonDocument jsonDoc(object);
|
||||
const QJsonDocument jsonDoc(object);
|
||||
|
||||
QFile file(filename);
|
||||
file.open(QFile::WriteOnly);
|
||||
file.write(jsonDoc.toJson());
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
#include <QPixmap>
|
||||
#include <QtConcurrent>
|
||||
|
||||
ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory)
|
||||
: QAbstractTableModel()
|
||||
ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory, QObject *parent)
|
||||
: QAbstractTableModel(parent)
|
||||
{
|
||||
piecesFuture = new QFutureWatcher<ArtPiece>(this);
|
||||
connect(piecesFuture, &QFutureWatcher<ArtPiece>::resultReadyAt, this, &ArtModel::pieceFinished);
|
||||
|
@ -26,6 +26,7 @@ ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory)
|
|||
QString asset;
|
||||
};
|
||||
QVector<PieceInformation> pieceList;
|
||||
|
||||
QDirIterator it(definitionDirectory);
|
||||
while (it.hasNext()) {
|
||||
QFileInfo info(it.next());
|
||||
|
@ -42,7 +43,7 @@ ArtModel::ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory)
|
|||
endInsertRows();
|
||||
}
|
||||
|
||||
std::function<ArtPiece(const PieceInformation &info)> loadPiece = [this](const PieceInformation &info) -> ArtPiece {
|
||||
const std::function<ArtPiece(const PieceInformation &info)> loadPiece = [this](const PieceInformation &info) -> ArtPiece {
|
||||
ArtPiece p;
|
||||
loadData(p, info.definition, info.asset);
|
||||
|
||||
|
@ -67,10 +68,11 @@ int ArtModel::columnCount(const QModelIndex &parent) const
|
|||
return 4;
|
||||
}
|
||||
|
||||
QVariant ArtModel::data(const QModelIndex &index, int role) const
|
||||
QVariant ArtModel::data(const QModelIndex &index, const int role) const
|
||||
{
|
||||
if (!index.isValid())
|
||||
if (!index.isValid()) {
|
||||
return {};
|
||||
}
|
||||
|
||||
if (role == Qt::DisplayRole) {
|
||||
switch (index.column()) {
|
||||
|
@ -126,7 +128,8 @@ void ArtModel::loadData(ArtPiece &piece, const QString &filename, const QString
|
|||
|
||||
QFile artFile(piece.jsonFilename);
|
||||
artFile.open(QFile::ReadOnly);
|
||||
QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
const QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll());
|
||||
|
||||
if (artJson[QStringLiteral("date")].toString().contains(QStringLiteral("-"))) {
|
||||
piece.date = QDate::fromString(artJson[QStringLiteral("date")].toString(), QStringLiteral("yyyy-MM-dd"));
|
||||
|
@ -142,7 +145,8 @@ void ArtModel::loadData(ArtPiece &piece, const QString &filename, const QString
|
|||
piece.hasAltText = true;
|
||||
}
|
||||
}
|
||||
void ArtModel::pieceFinished(int row)
|
||||
|
||||
void ArtModel::pieceFinished(const int row)
|
||||
{
|
||||
m_artPieces[row] = piecesFuture->resultAt(row);
|
||||
|
||||
|
@ -151,7 +155,7 @@ void ArtModel::pieceFinished(int row)
|
|||
|
||||
void ArtModel::finished()
|
||||
{
|
||||
std::sort(m_artPieces.begin(), m_artPieces.end(), [](ArtPiece &a, ArtPiece &b) {
|
||||
std::sort(m_artPieces.begin(), m_artPieces.end(), [](const ArtPiece &a, const ArtPiece &b) {
|
||||
return a.date > b.date;
|
||||
});
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ class ArtModel : public QAbstractTableModel
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory);
|
||||
explicit ArtModel(const QDir &definitionDirectory, const QDir &assetDirectory, QObject *parent = nullptr);
|
||||
|
||||
[[nodiscard]] int rowCount(const QModelIndex &parent) const override;
|
||||
[[nodiscard]] int columnCount(const QModelIndex &parent) const override;
|
||||
|
|
|
@ -13,7 +13,8 @@
|
|||
#include "ArtDetailWindow.h"
|
||||
#include "ArtModel.h"
|
||||
|
||||
MainWindow::MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory)
|
||||
MainWindow::MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory, QWidget *parent)
|
||||
: QMainWindow(parent)
|
||||
{
|
||||
setWindowTitle(i18nc("@title:window", "Redai"));
|
||||
setMinimumSize(1280, 720);
|
||||
|
@ -42,7 +43,7 @@ MainWindow::MainWindow(const QDir &definitionDirectory, const QDir &assetDirecto
|
|||
QHeaderView *horizontalHeader = pieceListView->horizontalHeader();
|
||||
horizontalHeader->setSectionResizeMode(QHeaderView::ResizeToContents);
|
||||
|
||||
connect(pieceListView, &QListView::clicked, this, [this, assetDirectory](QModelIndex index) {
|
||||
connect(pieceListView, &QListView::clicked, this, [this, assetDirectory](const QModelIndex index) {
|
||||
const QString filename = index.data(Qt::UserRole + 1).toString();
|
||||
const QJsonObject object = index.data(Qt::UserRole).toJsonObject();
|
||||
|
||||
|
|
|
@ -11,5 +11,5 @@ class MainWindow : public QMainWindow
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory);
|
||||
explicit MainWindow(const QDir &definitionDirectory, const QDir &assetDirectory, const QDir &dataDirectory, QWidget *parent = nullptr);
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue