From 6a3dc43c8ea0a31473c0628450e20a4cf9cd9799 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Br=C3=BCbach?= Date: Sun, 12 Jan 2025 22:19:26 +0100 Subject: [PATCH] Address comments. --- .../general/layout_containers/flow_widget.cpp | 4 +- .../general/layout_containers/flow_widget.h | 2 +- .../deck_preview_deck_tags_display_widget.cpp | 2 +- .../deck_preview/deck_preview_tag_dialog.cpp | 75 ++++++++++++------- .../deck_preview/deck_preview_tag_dialog.h | 5 ++ .../deck_preview/deck_preview_widget.cpp | 2 +- cockatrice/src/deck/deck_loader.cpp | 8 +- cockatrice/src/settings/cache_settings.cpp | 2 +- 8 files changed, 64 insertions(+), 36 deletions(-) diff --git a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.cpp b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.cpp index 00dd76229..958cc98be 100644 --- a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.cpp +++ b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.cpp @@ -87,9 +87,9 @@ void FlowWidget::addWidget(QWidget *widget_to_add) const flowLayout->addWidget(widget_to_add); } -void FlowWidget::removeWidget(QWidget *widget_to_remove) const +void FlowWidget::removeWidget(QWidget *widgetToRemove) const { - flowLayout->removeWidget(widget_to_remove); + flowLayout->removeWidget(widgetToRemove); } /** diff --git a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h index c58b13527..a514b56a7 100644 --- a/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h +++ b/cockatrice/src/client/ui/widgets/general/layout_containers/flow_widget.h @@ -13,7 +13,7 @@ class FlowWidget final : public QWidget public: FlowWidget(QWidget *parent, Qt::ScrollBarPolicy horizontalPolicy, Qt::ScrollBarPolicy verticalPolicy); void addWidget(QWidget *widget_to_add) const; - void removeWidget(QWidget *widget_to_remove) const; + void removeWidget(QWidget *widgetToRemove) const; void clearLayout(); [[nodiscard]] int count() const; [[nodiscard]] QLayoutItem *itemAt(int index) const; diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp index 756401e85..5ecd246c2 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_deck_tags_display_widget.cpp @@ -26,6 +26,6 @@ DeckPreviewDeckTagsDisplayWidget::DeckPreviewDeckTagsDisplayWidget(DeckPreviewWi for (const QString &tag : this->deckLoader->getTags()) { flowWidget->addWidget(new DeckPreviewTagDisplayWidget(this, tag)); } - flowWidget->addWidget(new DeckPreviewTagAdditionWidget(this, "Add tags ...")); + flowWidget->addWidget(new DeckPreviewTagAdditionWidget(this, tr("Add tags ..."))); layout->addWidget(flowWidget); } \ No newline at end of file diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp index 9b02f4784..2c2ec7056 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.cpp @@ -61,24 +61,39 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, const Q "🌏 Land", "πŸͺ„ Aura", - // Tribal Types - "πŸ‰ Tribal", - "🐠 Merfolk", - "🐺 Werewolves", - "🦴 Skeletons", - "πŸ¦… Flying", - "πŸ‘Ύ Eldrazi", - "πŸ§› Vampires", - "πŸ¦‡ Bats", - "🐺 Wolves", - "πŸ‰ Dragons", - "πŸ„ Fungus", - "πŸ¦— Insects", - "πŸ¦… Birds", - "🐚 Sea Creatures", - "🎩 Wizards", - "🎻 Bards", - + // Kindred Types + "πŸ‰ Kindred", // Kindred + "🐠 Merfolk", // Merfolk + "🐺 Werewolves", // Werewolves + "🦴 Skeletons", // Skeletons + "πŸ¦… Birds", // Birds + "πŸ‘Ύ Eldrazi", // Eldrazi + "πŸ‰ Dragons", // Dragons + "πŸ§› Vampires", // Vampires + "πŸ¦‡ Bats", // Bats + "🐺 Wolves", // Wolves + "πŸ„ Fungus", // Fungus + "πŸ¦— Insects", // Insects + "🐚 Sea Creatures", // Octopus, Leviathan, etc. + "🎩 Wizards", // Wizards + "🎻 Bards", // Bards + "πŸ˜‡ Angels", // Angels + "βš”οΈ Soldiers", // Soldiers + "πŸ›‘οΈ Knights", // Knights + "πŸ§™ Humans", // Humans + "🧝 Elves", // Elves + "πŸ’€ Zombies", // Zombies + "πŸ‘Ή Demons", // Demons + "🌲 Dryads", // Dryads + "πŸ— Boars", // Boars + "🦁 Cats", // Cats + "🦊 Foxes", // Foxes + "πŸ€ Rats", // Rats + "πŸ¦„ Unicorns", // Unicorns + "🐘 Elephants", // Elephants + "🐻 Bears", // Bears + "🦏 Rhinos", // Rhinos + "πŸ¦‚ Scorpions", // Scorpions }; // Merge knownTags with defaultTags, ensuring no duplicates @@ -89,8 +104,7 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, const Q auto *mainLayout = new QVBoxLayout(this); // Instruction label - auto *instructionLabel = - new QLabel("Manage your deck tags. Check or uncheck tags as needed, or add new ones:", this); + instructionLabel = new QLabel(this); instructionLabel->setWordWrap(true); mainLayout->addWidget(instructionLabel); @@ -111,8 +125,7 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, const Q // Add tag input layout auto *addTagLayout = new QHBoxLayout(); newTagInput_ = new QLineEdit(this); - newTagInput_->setPlaceholderText("Add a new tag (e.g., Aggro️)"); - addTagButton_ = new QPushButton("Add Tag", this); + addTagButton_ = new QPushButton(this); addTagLayout->addWidget(newTagInput_); addTagLayout->addWidget(addTagButton_); mainLayout->addLayout(addTagLayout); @@ -121,8 +134,8 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, const Q // OK and Cancel buttons auto *buttonLayout = new QHBoxLayout(); - auto *okButton = new QPushButton("OK", this); - auto *cancelButton = new QPushButton("Cancel", this); + okButton = new QPushButton(this); + cancelButton = new QPushButton(this); buttonLayout->addStretch(); buttonLayout->addWidget(okButton); buttonLayout->addWidget(cancelButton); @@ -130,6 +143,16 @@ DeckPreviewTagDialog::DeckPreviewTagDialog(const QStringList &knownTags, const Q connect(okButton, &QPushButton::clicked, this, &DeckPreviewTagDialog::accept); connect(cancelButton, &QPushButton::clicked, this, &DeckPreviewTagDialog::reject); + retranslateUi(); +} + +void DeckPreviewTagDialog::retranslateUi() +{ + instructionLabel->setText(tr("Manage your deck tags. Check or uncheck tags as needed, or add new ones:")); + newTagInput_->setPlaceholderText(tr("Add a new tag (e.g., Aggro️)")); + addTagButton_->setText(tr("Add Tag")); + okButton->setText(tr("OK")); + cancelButton->setText(tr("Cancel")); } QStringList DeckPreviewTagDialog::getActiveTags() const @@ -141,7 +164,7 @@ void DeckPreviewTagDialog::addTag() { QString newTag = newTagInput_->text().trimmed(); if (newTag.isEmpty()) { - QMessageBox::warning(this, "Invalid Input", "Tag name cannot be empty!"); + QMessageBox::warning(this, tr("Invalid Input"), tr("Tag name cannot be empty!")); return; } @@ -150,7 +173,7 @@ void DeckPreviewTagDialog::addTag() auto *item = tagListView_->item(i); auto *tagWidget = qobject_cast(tagListView_->itemWidget(item)); if (tagWidget && tagWidget->checkBox()->text() == newTag) { - QMessageBox::warning(this, "Duplicate Tag", "This tag already exists."); + QMessageBox::warning(this, tr("Duplicate Tag"), tr("This tag already exists.")); return; } } diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.h b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.h index b5b9d6b12..3377be221 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.h +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_tag_dialog.h @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -21,11 +22,15 @@ public: private slots: void addTag(); void onCheckboxStateChanged(); + void retranslateUi(); private: + QLabel *instructionLabel; QListWidget *tagListView_; QLineEdit *newTagInput_; QPushButton *addTagButton_; + QPushButton *okButton; + QPushButton *cancelButton; QStringList activeTags_; }; diff --git a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp index 5c0a9df26..ab371bd32 100644 --- a/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp +++ b/cockatrice/src/client/ui/widgets/visual_deck_storage/deck_preview/deck_preview_widget.cpp @@ -48,7 +48,7 @@ QString DeckPreviewWidget::getColorIdentity() { QStringList cardList = deckLoader->getCardList(); if (cardList.isEmpty()) { - return ""; + return {}; } QSet colorSet; // A set to collect unique color symbols (e.g., W, U, B, R, G) diff --git a/cockatrice/src/deck/deck_loader.cpp b/cockatrice/src/deck/deck_loader.cpp index 861a75018..6dd5664d4 100644 --- a/cockatrice/src/deck/deck_loader.cpp +++ b/cockatrice/src/deck/deck_loader.cpp @@ -121,7 +121,7 @@ bool DeckLoader::updateLastLoadedTimestamp(const QString &fileName, FileFormat f { QFileInfo fileInfo(fileName); if (!fileInfo.exists()) { - qWarning() << "File does not exist:" << fileName; + qCWarning(DeckLoaderLog) << "File does not exist:" << fileName; return false; } @@ -130,7 +130,7 @@ bool DeckLoader::updateLastLoadedTimestamp(const QString &fileName, FileFormat f // Open the file for writing QFile file(fileName); if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { - qWarning() << "Failed to open file for writing:" << fileName; + qCWarning(DeckLoaderLog) << "Failed to open file for writing:" << fileName; return false; } @@ -154,12 +154,12 @@ bool DeckLoader::updateLastLoadedTimestamp(const QString &fileName, FileFormat f // Re-open the file and set the original timestamp if (!file.open(QIODevice::ReadWrite)) { - qWarning() << "Failed to re-open file to set timestamp:" << fileName; + qCWarning(DeckLoaderLog) << "Failed to re-open file to set timestamp:" << fileName; return false; } if (!file.setFileTime(originalTimestamp, QFileDevice::FileModificationTime)) { - qWarning() << "Failed to set modification time for file:" << fileName; + qCWarning(DeckLoaderLog) << "Failed to set modification time for file:" << fileName; file.close(); return false; } diff --git a/cockatrice/src/settings/cache_settings.cpp b/cockatrice/src/settings/cache_settings.cpp index d111d2812..17083d443 100644 --- a/cockatrice/src/settings/cache_settings.cpp +++ b/cockatrice/src/settings/cache_settings.cpp @@ -265,7 +265,7 @@ SettingsCache::SettingsCache() visualDeckStorageDrawUnusedColorIdentities = settings->value("interface/visualdeckstoragedrawunusedcoloridentities", true).toBool(); visualDeckStorageUnusedColorIdentitiesOpacity = - settings->value("interface/visualdeckstorageunusedcoloridentitiesopacity", 30).toInt(); + settings->value("interface/visualdeckstorageunusedcoloridentitiesopacity", 15).toInt(); horizontalHand = settings->value("hand/horizontal", true).toBool(); invertVerticalCoordinate = settings->value("table/invert_vertical", false).toBool(); minPlayersForMultiColumnLayout = settings->value("interface/min_players_multicolumn", 4).toInt();