Cockatrice/libcockatrice_settings/libcockatrice/settings/commander_bracket_settings.h
BruebachL 827e44a4d3
[DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander' (#6415)
* [DeckEditor] Use CommanderSpellbook.com to estimate bracket if format is 'commander'

Took 2 minutes

Took 16 minutes

* Convert json data holder to structs, rename variables, extract widget

- Extract bracket estimation UI from DeckEditorDeckDockWidget into a
  new CommanderBracketWidget
- Move CommanderSpellbook integration settings from CardsDisplaySettings
  to DeckEditorSettings (matching the settings refactor on master)
- Rename CommanderSpellbook integration variables to drop the redundant
  'DeckEditor' prefix

Took 4 minutes

# Commit time for manual adjustment:
# Took 6 minutes

# Commit time for manual adjustment:
# Took 8 minutes

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-08-09 00:46:17 +02:00

56 lines
1.3 KiB
C++

#ifndef COMMANDER_BRACKET_SETTINGS_H
#define COMMANDER_BRACKET_SETTINGS_H
#include "settings_manager.h"
#include <QHash>
#include <QObject>
#include <QString>
#include <QVariantList>
struct CommanderBracketDefinition
{
QString tag;
QString officialName;
QString displayName;
QString explanation;
};
class CommanderBracketSettings : public SettingsManager
{
Q_OBJECT
friend class SettingsCache;
public:
static constexpr int CurrentSchemaVersion = 1;
static QVariantList defaultDefinitions();
void clearDefinitions();
void saveDefinitions(const QVariantList &definitions);
QVariantList loadDefinitions() const;
void reloadDefinitions(const QVariantList &definitions);
QString officialName(const QString &tag) const;
QString displayName(const QString &tag) const;
QString explanation(const QString &tag) const;
bool contains(const QString &tag) const;
void setSchemaVersion(int version);
int getSchemaVersion() const;
private:
explicit CommanderBracketSettings(const QString &settingPath, QObject *parent = nullptr);
CommanderBracketSettings(const CommanderBracketSettings &) = delete;
CommanderBracketSettings &operator=(const CommanderBracketSettings &) = delete;
QHash<QString, CommanderBracketDefinition> definitions;
};
#endif // COMMANDER_BRACKET_SETTINGS_H