diff --git a/cockatrice/CMakeLists.txt b/cockatrice/CMakeLists.txt index 3b5d43b6e..06870b36c 100644 --- a/cockatrice/CMakeLists.txt +++ b/cockatrice/CMakeLists.txt @@ -130,6 +130,7 @@ set(cockatrice_SOURCES src/settings/shortcuts_settings.cpp src/settings/shortcut_treeview.cpp src/settings/card_override_settings.cpp + src/settings/debug_settings.cpp src/client/sound_engine.cpp src/client/network/spoiler_background_updater.cpp src/game/zones/stack_zone.cpp diff --git a/cockatrice/src/game/cards/abstract_card_item.cpp b/cockatrice/src/game/cards/abstract_card_item.cpp index f0daf5eef..3adc3bed9 100644 --- a/cockatrice/src/game/cards/abstract_card_item.cpp +++ b/cockatrice/src/game/cards/abstract_card_item.cpp @@ -141,8 +141,13 @@ void AbstractCardItem::paintPicture(QPainter *painter, const QSizeF &translatedS QString nameStr; if (facedown) nameStr = "# " + QString::number(id); - else - nameStr = name; + else { + QString prefix = ""; + if (SettingsCache::instance().debug().getShowCardId()) { + prefix = "#" + QString::number(id) + " "; + } + nameStr = prefix + name; + } painter->drawText(QRectF(3 * scaleFactor, 3 * scaleFactor, translatedSize.width() - 6 * scaleFactor, translatedSize.height() - 6 * scaleFactor), Qt::AlignTop | Qt::AlignLeft | Qt::TextWrapAnywhere, nameStr); diff --git a/cockatrice/src/settings/cache_settings.cpp b/cockatrice/src/settings/cache_settings.cpp index 29fec11ac..e1fb59e0a 100644 --- a/cockatrice/src/settings/cache_settings.cpp +++ b/cockatrice/src/settings/cache_settings.cpp @@ -181,6 +181,7 @@ SettingsCache::SettingsCache() downloadSettings = new DownloadSettings(settingsPath, this); recentsSettings = new RecentsSettings(settingsPath, this); cardOverrideSettings = new CardOverrideSettings(settingsPath, this); + debugSettings = new DebugSettings(settingsPath, this); if (!QFile(settingsPath + "global.ini").exists()) translateLegacySettings(); diff --git a/cockatrice/src/settings/cache_settings.h b/cockatrice/src/settings/cache_settings.h index b62addd1e..738c4a431 100644 --- a/cockatrice/src/settings/cache_settings.h +++ b/cockatrice/src/settings/cache_settings.h @@ -4,6 +4,7 @@ #include "../utility/macros.h" #include "card_database_settings.h" #include "card_override_settings.h" +#include "debug_settings.h" #include "download_settings.h" #include "game_filters_settings.h" #include "layouts_settings.h" @@ -86,6 +87,7 @@ private: DownloadSettings *downloadSettings; RecentsSettings *recentsSettings; CardOverrideSettings *cardOverrideSettings; + DebugSettings *debugSettings; QByteArray mainWindowGeometry; QByteArray tokenDialogGeometry; @@ -619,6 +621,10 @@ public: { return *cardOverrideSettings; } + DebugSettings &debug() const + { + return *debugSettings; + } bool getIsPortableBuild() const { return isPortableBuild; diff --git a/cockatrice/src/settings/debug_settings.cpp b/cockatrice/src/settings/debug_settings.cpp new file mode 100644 index 000000000..1a2b61905 --- /dev/null +++ b/cockatrice/src/settings/debug_settings.cpp @@ -0,0 +1,17 @@ +#include "debug_settings.h" + +#include + +DebugSettings::DebugSettings(const QString &settingPath, QObject *parent) + : SettingsManager(settingPath + "debug.ini", parent) +{ + // force debug.ini to be created if it doesn't exist yet + if (!QFile(settingPath + "debug.ini").exists()) { + setValue(false, "showCardId", "debug"); + } +} + +bool DebugSettings::getShowCardId() +{ + return getValue("showCardId", "debug").toBool(); +} diff --git a/cockatrice/src/settings/debug_settings.h b/cockatrice/src/settings/debug_settings.h new file mode 100644 index 000000000..431b381fa --- /dev/null +++ b/cockatrice/src/settings/debug_settings.h @@ -0,0 +1,17 @@ +#ifndef DEBUG_SETTINGS_H +#define DEBUG_SETTINGS_H +#include "settings_manager.h" + +class DebugSettings : public SettingsManager +{ + Q_OBJECT + friend class SettingsCache; + + explicit DebugSettings(const QString &settingPath, QObject *parent = nullptr); + DebugSettings(const DebugSettings & /*other*/); + +public: + bool getShowCardId(); +}; + +#endif // DEBUG_SETTINGS_H diff --git a/oracle/CMakeLists.txt b/oracle/CMakeLists.txt index 016fad7a6..744bd5fd7 100644 --- a/oracle/CMakeLists.txt +++ b/oracle/CMakeLists.txt @@ -33,6 +33,7 @@ set(oracle_SOURCES ../cockatrice/src/settings/layouts_settings.cpp ../cockatrice/src/settings/download_settings.cpp ../cockatrice/src/settings/card_override_settings.cpp + ../cockatrice/src/settings/debug_settings.cpp ../cockatrice/src/client/ui/theme_manager.cpp ../cockatrice/src/client/network/release_channel.cpp ${VERSION_STRING_CPP}