diff --git a/src/ArtConfigWindow.cpp b/src/ArtConfigWindow.cpp index fd88904..81bf599 100644 --- a/src/ArtConfigWindow.cpp +++ b/src/ArtConfigWindow.cpp @@ -27,27 +27,25 @@ ArtConfigWindow::ArtConfigWindow(const QString& filename, QWidget* parent) : QDi formLayoutWidget->setLayout(formLayout); mainLayout->addWidget(formLayoutWidget); - QScrollArea* galleryScrollArea = new QScrollArea(); + auto galleryScrollArea = new QScrollArea(); formLayout->addWidget(galleryScrollArea); m_newBannerEdit = new QLineEdit(); - formLayout->addRow("New Banner", m_newBannerEdit); + formLayout->addRow(QStringLiteral("New Banner"), m_newBannerEdit); m_commissionsOpen = new QCheckBox(); - formLayout->addRow("Commissions Open", m_commissionsOpen); + formLayout->addRow(QStringLiteral("Commissions Open"), m_commissionsOpen); auto bottomButtonLayout = new QHBoxLayout(); formLayout->addRow(bottomButtonLayout); - auto cancelButton = new QPushButton(QIcon::fromTheme("dialog-close"), "Cancel"); - connect(cancelButton, &QPushButton::clicked, this, [=] { - close(); - }); + auto cancelButton = new QPushButton(QIcon::fromTheme(QStringLiteral("dialog-close")), QStringLiteral("Cancel")); + connect(cancelButton, &QPushButton::clicked, this, &ArtConfigWindow::close); bottomButtonLayout->addWidget(cancelButton); bottomButtonLayout->addStretch(1); - auto saveButton = new QPushButton(QIcon::fromTheme("dialog-ok"), "Save"); - connect(saveButton, &QPushButton::clicked, this, [=] { + auto saveButton = new QPushButton(QIcon::fromTheme(QStringLiteral("dialog-ok")), QStringLiteral("Save")); + connect(saveButton, &QPushButton::clicked, this, [this, filename] { saveData(filename); }); bottomButtonLayout->addWidget(saveButton); @@ -64,16 +62,16 @@ void ArtConfigWindow::loadData(const QString& filename) { artFile.open(QFile::ReadOnly); QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll()); - m_newBannerEdit->setText(artJson["new-banner"].toString()); - m_commissionsOpen->setChecked(artJson["commissions"].toBool()); + m_newBannerEdit->setText(artJson[QStringLiteral("new-banner")].toString()); + m_commissionsOpen->setChecked(artJson[QStringLiteral("commissions")].toBool()); } void ArtConfigWindow::saveData(const QString& filename) { qDebug() << "Saving data to" << filename; QJsonObject object; - object["new-banner"] = m_newBannerEdit->text(); - object["commissions"] = m_commissionsOpen->isChecked(); + object[QStringLiteral("new-banner")] = m_newBannerEdit->text(); + object[QStringLiteral("commissions")] = m_commissionsOpen->isChecked(); QJsonDocument jsonDoc(object); QFile file(filename); diff --git a/src/ArtDetailWindow.cpp b/src/ArtDetailWindow.cpp index 07545fd..82c4e96 100644 --- a/src/ArtDetailWindow.cpp +++ b/src/ArtDetailWindow.cpp @@ -36,9 +36,9 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi mainLayout->addWidget(formLayoutWidget); QImage image; - image.load(QString("%1/%2.webp").arg(assetDirectory).arg(withoutExtension)); + image.load(QStringLiteral("%1/%2.webp").arg(assetDirectory, withoutExtension)); - auto previewBox = new QGroupBox("Preview"); + auto previewBox = new QGroupBox(QStringLiteral("Preview")); mainLayout->addWidget(previewBox); auto previewLayout = new QVBoxLayout(); @@ -49,47 +49,47 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi previewLayout->addWidget(imageView); m_titleEdit = new QLineEdit(); - formLayout->addRow("Title", m_titleEdit); + formLayout->addRow(QStringLiteral("Title"), m_titleEdit); m_knowExactDateBox = new QCheckBox(); connect(m_knowExactDateBox, &QCheckBox::toggled, this, [=](bool checked) { if (checked) { - m_dateEdit->setDisplayFormat("yyyy-MM-dd"); + m_dateEdit->setDisplayFormat(QStringLiteral("yyyy-MM-dd")); } else { - m_dateEdit->setDisplayFormat("yyyy"); + m_dateEdit->setDisplayFormat(QStringLiteral("yyyy")); } }); - formLayout->addRow("Know Exact Date?", m_knowExactDateBox); + formLayout->addRow(QStringLiteral("Know Exact Date?"), m_knowExactDateBox); m_dateEdit = new QDateEdit(); m_dateEdit->setCalendarPopup(true); - formLayout->addRow("Date", m_dateEdit); + formLayout->addRow(QStringLiteral("Date"), m_dateEdit); m_altTextEdit = new QTextEdit(); m_altTextEdit->setAcceptRichText(false); - formLayout->addRow("Alt Text", m_altTextEdit); + formLayout->addRow(QStringLiteral("Alt Text"), m_altTextEdit); m_descriptionEdit = new QTextEdit(); m_descriptionEdit->setAcceptRichText(false); - formLayout->addRow("Description", m_descriptionEdit); + formLayout->addRow(QStringLiteral("Description"), m_descriptionEdit); m_nsfwBox = new QCheckBox(); - formLayout->addRow("Is NSFW?", m_nsfwBox); + formLayout->addRow(QStringLiteral("Is NSFW?"), m_nsfwBox); m_mastodonUrlEdit = new QLineEdit(); - formLayout->addRow("Mastodon URL", m_mastodonUrlEdit); + formLayout->addRow(QStringLiteral("Mastodon URL"), m_mastodonUrlEdit); m_pixivUrlEdit = new QLineEdit(); - formLayout->addRow("Pixiv URL", m_pixivUrlEdit); + formLayout->addRow(QStringLiteral("Pixiv URL"), m_pixivUrlEdit); m_newgroundsUrlEdit = new QLineEdit(); - formLayout->addRow("Newgrounds URL", m_newgroundsUrlEdit); + formLayout->addRow(QStringLiteral("Newgrounds URL"), m_newgroundsUrlEdit); m_programEdit = new QLineEdit(); - formLayout->addRow("Program", m_programEdit); + formLayout->addRow(QStringLiteral("Program"), m_programEdit); auto charactersLayout = new QVBoxLayout(); - formLayout->addRow("Characters", charactersLayout); + formLayout->addRow(QStringLiteral("Characters"), charactersLayout); auto characterList = new QListView(); m_characterListModel = new QStringListModel(); @@ -99,16 +99,16 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi auto characterButtonLayout = new QHBoxLayout(); charactersLayout->addLayout(characterButtonLayout); - auto addCharacterButton = new QPushButton(QIcon::fromTheme("list-add"), "Add"); + auto addCharacterButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-add")), QStringLiteral("Add")); connect(addCharacterButton, &QPushButton::clicked, this, [=] { auto tmp = m_characterListModel->stringList();; - tmp.push_back("New Character"); + tmp.push_back(QStringLiteral("New Character")); m_characterListModel->setStringList(tmp); }); characterButtonLayout->addWidget(addCharacterButton); characterButtonLayout->addStretch(1); - auto removeCharacterButton = new QPushButton(QIcon::fromTheme("list-remove"), "Remove"); + auto removeCharacterButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-remove")), QStringLiteral("Remove")); connect(removeCharacterButton, &QPushButton::clicked, this, [=] { if(characterList->selectionModel()->hasSelection()) { QString toRemove = characterList->selectionModel()->selectedRows()[0].data().toString(); @@ -121,7 +121,7 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi characterButtonLayout->addWidget(removeCharacterButton); auto tagLayout = new QVBoxLayout(); - formLayout->addRow("Tags", tagLayout); + formLayout->addRow(QStringLiteral("Tags"), tagLayout); auto tagsList = new QListView(); m_tagsListModel = new QStringListModel(); @@ -131,16 +131,16 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi auto tagButtonLayout = new QHBoxLayout(); tagLayout->addLayout(tagButtonLayout); - auto addTagButton = new QPushButton(QIcon::fromTheme("list-add"), "Add"); + auto addTagButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-add")), QStringLiteral("Add")); connect(addTagButton, &QPushButton::clicked, this, [=] { auto tmp = m_tagsListModel->stringList();; - tmp.push_back("New Tag"); + tmp.push_back(QStringLiteral("New Tag")); m_tagsListModel->setStringList(tmp); }); tagButtonLayout->addWidget(addTagButton); tagButtonLayout->addStretch(1); - auto removeTagButton = new QPushButton(QIcon::fromTheme("list-remove"),"Remove"); + auto removeTagButton = new QPushButton(QIcon::fromTheme(QStringLiteral("list-remove")), QStringLiteral("Remove")); connect(removeTagButton, &QPushButton::clicked, this, [=] { if(tagsList->selectionModel()->hasSelection()) { QString toRemove = tagsList->selectionModel()->selectedRows()[0].data().toString(); @@ -155,14 +155,14 @@ ArtDetailWindow::ArtDetailWindow(const QString& filename, const QString& assetDi auto bottomButtonLayout = new QHBoxLayout(); formLayout->addRow(bottomButtonLayout); - auto cancelButton = new QPushButton(QIcon::fromTheme("dialog-close"),"Cancel"); + auto cancelButton = new QPushButton(QIcon::fromTheme(QStringLiteral("dialog-close")), QStringLiteral("Cancel")); connect(cancelButton, &QPushButton::clicked, this, [=] { close(); }); bottomButtonLayout->addWidget(cancelButton); bottomButtonLayout->addStretch(1); - auto saveButton = new QPushButton(QIcon::fromTheme("dialog-ok"), "Save"); + auto saveButton = new QPushButton(QIcon::fromTheme(QStringLiteral("dialog-ok")), QStringLiteral("Save")); connect(saveButton, &QPushButton::clicked, this, [=] { saveData(filename); }); @@ -180,51 +180,51 @@ void ArtDetailWindow::loadData(const QString& filename) { artFile.open(QFile::ReadOnly); QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll()); - if(artJson.object().contains("title")) - m_titleEdit->setText(artJson["title"].toString()); + if(artJson.object().contains(QStringLiteral("title"))) + m_titleEdit->setText(artJson[QStringLiteral("title")].toString()); - if(artJson.object().contains("alt_text")) - m_altTextEdit->setText(artJson["alt_text"].toString()); + if(artJson.object().contains(QStringLiteral("alt_text"))) + m_altTextEdit->setText(artJson[QStringLiteral("alt_text")].toString()); - if(artJson.object().contains("description")) - m_descriptionEdit->setText(artJson["description"].toString()); + if(artJson.object().contains(QStringLiteral("description"))) + m_descriptionEdit->setText(artJson[QStringLiteral("description")].toString()); - m_knowExactDateBox->setChecked(artJson["date"].toString().contains("-")); + m_knowExactDateBox->setChecked(artJson[QStringLiteral("date")].toString().contains(QStringLiteral("-"))); if(m_knowExactDateBox->isChecked()) { - m_dateEdit->setDate(QDate::fromString(artJson["date"].toString(), "yyyy-MM-dd")); - m_dateEdit->setDisplayFormat("yyyy-MM-dd"); + m_dateEdit->setDate(QDate::fromString(artJson[QStringLiteral("date")].toString(), QStringLiteral("yyyy-MM-dd"))); + m_dateEdit->setDisplayFormat(QStringLiteral("yyyy-MM-dd")); } else { - m_dateEdit->setDate(QDate::fromString(artJson["date"].toString(), "yyyy")); - m_dateEdit->setDisplayFormat("yyyy"); + m_dateEdit->setDate(QDate::fromString(artJson[QStringLiteral("date")].toString(), QStringLiteral("yyyy"))); + m_dateEdit->setDisplayFormat(QStringLiteral("yyyy")); } - if(artJson.object().contains("nsfw")) - m_nsfwBox->setChecked(artJson["nsfw"].toBool()); + if(artJson.object().contains(QStringLiteral("nsfw"))) + m_nsfwBox->setChecked(artJson[QStringLiteral("nsfw")].toBool()); - if(artJson.object().contains("mastodon_url")) - m_mastodonUrlEdit->setText(artJson["mastodon_url"].toString()); + if(artJson.object().contains(QStringLiteral("mastodon_url"))) + m_mastodonUrlEdit->setText(artJson[QStringLiteral("mastodon_url")].toString()); - if(artJson.object().contains("pixiv_url")) - m_pixivUrlEdit->setText(artJson["pixiv_url"].toString()); + if(artJson.object().contains(QStringLiteral("pixiv_url"))) + m_pixivUrlEdit->setText(artJson[QStringLiteral("pixiv_url")].toString()); - if(artJson.object().contains("newgrounds_url")) - m_newgroundsUrlEdit->setText(artJson["newgrounds_url"].toString()); + if(artJson.object().contains(QStringLiteral("newgrounds_url"))) + m_newgroundsUrlEdit->setText(artJson[QStringLiteral("newgrounds_url")].toString()); - if(artJson.object().contains("program")) - m_programEdit->setText(artJson["program"].toString()); + if(artJson.object().contains(QStringLiteral("program"))) + m_programEdit->setText(artJson[QStringLiteral("program")].toString()); - if(artJson.object().contains("characters")) { + if(artJson.object().contains(QStringLiteral("characters"))) { QStringList list; - for(auto character : artJson["characters"].toArray()) { + for(auto character : artJson[QStringLiteral("characters")].toArray()) { list.append(character.toString()); } m_characterListModel->setStringList(list); } - if(artJson.object().contains("tags")) { + if(artJson.object().contains(QStringLiteral("tags"))) { QStringList list; - for(auto tag : artJson["tags"].toArray()) { + for(auto tag : artJson[QStringLiteral("tags")].toArray()) { list.append(tag.toString()); } @@ -237,43 +237,43 @@ void ArtDetailWindow::saveData(const QString& filename) { QJsonObject object; if(!m_titleEdit->text().isEmpty()) - object["title"] = m_titleEdit->text(); + object[QStringLiteral("title")] = m_titleEdit->text(); if(!m_altTextEdit->document()->isEmpty()) - object["alt_text"] = m_altTextEdit->document()->toPlainText(); + object[QStringLiteral("alt_text")] = m_altTextEdit->document()->toPlainText(); if(!m_descriptionEdit->document()->isEmpty()) - object["description"] = m_descriptionEdit->document()->toPlainText(); + object[QStringLiteral("description")] = m_descriptionEdit->document()->toPlainText(); if(m_knowExactDateBox->isChecked()) { - object["date"] = m_dateEdit->date().toString("yyyy-MM-dd"); + object[QStringLiteral("date")] = m_dateEdit->date().toString(QStringLiteral("yyyy-MM-dd")); } else { - object["date"] = m_dateEdit->date().toString("yyyy"); + object[QStringLiteral("date")] = m_dateEdit->date().toString(QStringLiteral("yyyy")); } if(m_nsfwBox->isChecked()) - object["nsfw"] = m_nsfwBox->isChecked(); + object[QStringLiteral("nsfw")] = m_nsfwBox->isChecked(); if(!m_mastodonUrlEdit->text().isEmpty()) - object["mastodon_url"] = m_mastodonUrlEdit->text(); + object[QStringLiteral("mastodon_url")] = m_mastodonUrlEdit->text(); if(!m_pixivUrlEdit->text().isEmpty()) - object["pixiv_url"] = m_pixivUrlEdit->text(); + object[QStringLiteral("pixiv_url")] = m_pixivUrlEdit->text(); if(!m_newgroundsUrlEdit->text().isEmpty()) - object["newgrounds_url"] = m_newgroundsUrlEdit->text(); + object[QStringLiteral("newgrounds_url")] = m_newgroundsUrlEdit->text(); if(!m_programEdit->text().isEmpty()) - object["program"] = m_programEdit->text(); + object[QStringLiteral("program")] = m_programEdit->text(); auto tags = m_tagsListModel->stringList(); if(!tags.isEmpty()) { - object["tags"] = QJsonArray::fromStringList(tags); + object[QStringLiteral("tags")] = QJsonArray::fromStringList(tags); } auto characters = m_characterListModel->stringList(); if(!characters.isEmpty()) { - object["characters"] = QJsonArray::fromStringList(characters); + object[QStringLiteral("characters")] = QJsonArray::fromStringList(characters); } QJsonDocument jsonDoc(object); diff --git a/src/ArtModel.cpp b/src/ArtModel.cpp index 210b64e..707ee8e 100644 --- a/src/ArtModel.cpp +++ b/src/ArtModel.cpp @@ -30,7 +30,7 @@ ArtModel::ArtModel(const QString& definitionDirectory, const QString& assetDirec continue; } - pieceList.push_back(PieceInformation{QString("%1/%2").arg(definitionDirectory).arg(info.baseName()), QString("%1/%2").arg(assetDirectory).arg(info.baseName())}); + pieceList.push_back(PieceInformation{QStringLiteral("%1/%2").arg(definitionDirectory, info.baseName()), QStringLiteral("%1/%2").arg(assetDirectory, info.baseName())}); beginInsertRows(QModelIndex(), m_artPieces.size(), m_artPieces.size() + 1); @@ -85,7 +85,7 @@ QVariant ArtModel::data(const QModelIndex &index, int role) const { } break; case 3: - return m_artPieces[index.row()].hasAltText ? QIcon::fromTheme("emblem-checked") : QIcon::fromTheme("emblem-error"); + return m_artPieces[index.row()].hasAltText ? QIcon::fromTheme(QStringLiteral("emblem-checked")) : QIcon::fromTheme(QStringLiteral("emblem-error")); } } else if (role == Qt::UserRole + 1) { return m_artPieces[index.row()].jsonFilename; @@ -98,13 +98,15 @@ QVariant ArtModel::headerData(int section, Qt::Orientation orientation, int role if (orientation == Qt::Orientation::Horizontal && role == Qt::DisplayRole) { switch(section) { case 0: - return "Filename"; + return QStringLiteral("Filename"); case 1: - return "Image"; + return QStringLiteral("Image"); case 2: - return "Title"; + return QStringLiteral("Title"); case 3: - return "Has Alt Text"; + return QStringLiteral("Has Alt Text"); + default: + Q_UNREACHABLE(); } } @@ -120,17 +122,17 @@ void ArtModel::loadData(ArtPiece& piece, const QString& filename, const QString& artFile.open(QFile::ReadOnly); QJsonDocument artJson = QJsonDocument::fromJson(artFile.readAll()); - if(artJson["date"].toString().contains("-")) { - piece.date = QDate::fromString(artJson["date"].toString(), "yyyy-MM-dd"); + if(artJson[QStringLiteral("date")].toString().contains(QStringLiteral("-"))) { + piece.date = QDate::fromString(artJson[QStringLiteral("date")].toString(), QStringLiteral("yyyy-MM-dd")); } else { - piece.date = QDate::fromString(artJson["date"].toString(), "yyyy"); + piece.date = QDate::fromString(artJson[QStringLiteral("date")].toString(), QStringLiteral("yyyy")); } - if (artJson.object().contains("title")) { - piece.title = artJson.object()["title"].toString(); + if (artJson.object().contains(QStringLiteral("title"))) { + piece.title = artJson.object()[QStringLiteral("title")].toString(); } - if(artJson.object().contains("alt_text")) { + if(artJson.object().contains(QStringLiteral("alt_text"))) { piece.hasAltText = true; } } diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index d49bfb2..1429bd1 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -13,15 +13,15 @@ #include "ArtModel.h" MainWindow::MainWindow(const QString& definitionDirectory, const QString& assetDirectory, const QString& dataDirectory) { - setWindowTitle("Redai"); + setWindowTitle(QStringLiteral("Redai")); setMinimumSize(1280, 720); auto menuBar = new QMenuBar(); setMenuBar(menuBar); - auto manageMenu = menuBar->addMenu("Manage"); + auto manageMenu = menuBar->addMenu(QStringLiteral("Manage")); - auto editConfigAction = manageMenu->addAction("Edit Config..."); + auto editConfigAction = manageMenu->addAction(QStringLiteral("Edit Config...")); connect(editConfigAction, &QAction::triggered, this, [this, dataDirectory] { auto window = new ArtConfigWindow(QStringLiteral("%1/art-config.json").arg(dataDirectory), this); window->show(); diff --git a/src/main.cpp b/src/main.cpp index 1a32897..d9cff98 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,21 +12,20 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); QCommandLineParser parser; - parser.addPositionalArgument("site-path", QCoreApplication::translate("main", "Site directory.")); + parser.addPositionalArgument(QStringLiteral("site-path"), QCoreApplication::translate("main", "Site directory.")); parser.process(app); - auto args = parser.positionalArguments(); - + const auto args = parser.positionalArguments(); if (args.empty()) { return -1; } const QDir sitePath = args[0]; - const QString defPath = sitePath.absoluteFilePath("art"); - const QDir assetPath = sitePath.absoluteFilePath("assets"); - const QString artAssetPath = assetPath.absoluteFilePath("art"); - const QString dataPath = sitePath.absoluteFilePath("data"); + const QString defPath = sitePath.absoluteFilePath(QStringLiteral("art")); + const QDir assetPath = sitePath.absoluteFilePath(QStringLiteral("assets")); + const QString artAssetPath = assetPath.absoluteFilePath(QStringLiteral("art")); + const QString dataPath = sitePath.absoluteFilePath(QStringLiteral("data")); MainWindow window(defPath, artAssetPath, dataPath); window.show();