Cockatrice 2026-09-01-Development-3.1.0-beta.10
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
cache_settings.h
Go to the documentation of this file.
1
6
7#ifndef SETTINGSCACHE_H
8#define SETTINGSCACHE_H
9
10#include <QLoggingCategory>
11#include <QStringList>
15
16inline Q_LOGGING_CATEGORY(SettingsCacheLog, "settings_cache");
17
18class ReleaseChannel;
19
20#define DEFAULT_LANG_NAME "English"
21#define CLIENT_INFO_NOT_SET "notset"
22
23#define DEFAULT_FONT_SIZE 12
24
30class ChatSettings;
32class DebugSettings;
36class GameSettings;
38class LayoutsSettings;
39class MessageSettings;
40class PathsSettings;
42class RecentsSettings;
43class ServersSettings;
45class SoundSettings;
46class TabsSettings;
47class UpdatesSettings;
50class NetworkSettings;
51class QSettings;
52
54{
55 Q_OBJECT
56
57signals:
59
60private:
61 QSettings *settings;
88
89 QString themeName;
90
91 QList<ReleaseChannel *> releaseChannels;
93
94 [[nodiscard]] QString getSafeConfigPath(QString configEntry, QString defaultPath) const;
95 [[nodiscard]] QString getSafeConfigFilePath(QString configEntry, QString defaultPath) const;
96 void loadPaths();
97
98public:
100 QString getDataPath();
101 QString getSettingsPath();
102 [[nodiscard]] QString getCachePath() const;
103 [[nodiscard]] QString getNetworkCachePath() const;
104
105 // ICardDatabasePathProvider - delegate to pathsSettings
106 [[nodiscard]] QString getCustomCardDatabasePath() const override;
107 [[nodiscard]] QString getCardDatabasePath() const override;
108 [[nodiscard]] QString getSpoilerCardDatabasePath() const override;
109 [[nodiscard]] QString getTokenDatabasePath() const override;
110
111 // INetworkSettingsProvider - delegate to sub-objects
112 [[nodiscard]] int getKeepAlive() const override;
113 [[nodiscard]] int getTimeOut() const override;
114 [[nodiscard]] bool getNotifyAboutUpdates() const override;
115 void setKnownMissingFeatures(const QString &_knownMissingFeatures) override;
116 [[nodiscard]] QString getKnownMissingFeatures() override;
117 QString getClientID() override;
118
119 [[nodiscard]] QString getThemeName() const
120 {
121 return themeName;
122 }
123
124 [[nodiscard]] ReleaseChannel *getUpdateReleaseChannel() const;
125 [[nodiscard]] QList<ReleaseChannel *> getUpdateReleaseChannels() const;
126 [[nodiscard]] int getUpdateReleaseChannelIndex() const;
127
128 [[nodiscard]] QStringList getCountries() const;
129
130 [[nodiscard]] ShortcutsSettings &shortcuts() const;
131 [[nodiscard]] CardDatabaseSettings &cardDatabase() const;
132 [[nodiscard]] ServersSettings &servers() const;
133 [[nodiscard]] MessageSettings &messages() const;
134 [[nodiscard]] GameFiltersSettings &gameFilters() const;
135 [[nodiscard]] LayoutsSettings &layouts() const;
136 [[nodiscard]] DownloadSettings &downloads() const;
137 [[nodiscard]] RecentsSettings &recents() const;
138 [[nodiscard]] CardOverrideSettings &cardOverrides() const;
139 [[nodiscard]] DebugSettings &debug() const;
140 [[nodiscard]] CardCounterSettings &cardCounters() const;
141 [[nodiscard]] TabsSettings &tabs() const;
142 [[nodiscard]] SoundSettings &sound() const;
143 [[nodiscard]] GameSettings &game() const;
144 [[nodiscard]] ChatSettings &chat() const;
145 [[nodiscard]] CacheStorageSettings &cacheStorage() const;
146 [[nodiscard]] UpdatesSettings &updates() const;
147 [[nodiscard]] PersonalSettings &personal() const;
148 [[nodiscard]] CardsDisplaySettings &cardsDisplay() const;
149 [[nodiscard]] InterfaceSettings &userInterface() const;
150 [[nodiscard]] DeckEditorSettings &deckEditor() const;
151 [[nodiscard]] PathsSettings &paths() const;
152 [[nodiscard]] VisualDeckStorageSettings &visualDeckStorage() const;
153 [[nodiscard]] AppearanceSettings &appearance() const;
154 [[nodiscard]] NetworkSettings &network() const;
156 {
158 }
159
160 [[nodiscard]] bool getIsPortableBuild() const
161 {
162 return isPortableBuild;
163 }
164
165 static SettingsCache &instance();
166 void resetPaths();
167
168public slots:
169 void setThemeName(const QString &_themeName);
170};
171#endif
Q_LOGGING_CATEGORY(SettingsCacheLog, "settings_cache")
Definition appearance_settings.h:13
Definition cache_storage_settings.h:26
Definition card_counter_settings.h:16
Definition card_database_settings.h:18
Definition card_override_settings.h:16
Definition cards_display_settings.h:9
Definition chat_settings.h:9
Definition commander_bracket_settings.h:22
Definition debug_settings.h:12
Definition deck_editor_settings.h:24
Definition download_settings.h:13
Definition game_filters_settings.h:14
Definition game_settings.h:9
Definition interface_card_database_path_provider.h:6
Definition interface_network_settings_provider.h:6
Definition interface_settings.h:9
Definition layouts_settings.h:15
Definition message_settings.h:13
Definition network_settings.h:13
Definition paths_settings.h:9
Definition personal_settings.h:11
Definition recents_settings.h:13
Definition release_channel.h:87
Definition servers_settings.h:20
Definition cache_settings.h:54
QString getCustomCardDatabasePath() const override
Definition cache_settings.cpp:266
void resetPaths()
Definition cache_settings.cpp:244
PersonalSettings * personalSettings
Definition cache_settings.h:79
AppearanceSettings & appearance() const
Definition cache_settings.cpp:449
QString getSpoilerCardDatabasePath() const override
Definition cache_settings.cpp:276
CardDatabaseSettings & cardDatabase() const
Definition cache_settings.cpp:339
bool getIsPortableBuild() const
Definition cache_settings.h:160
SettingsCache()
Definition cache_settings.cpp:101
VisualDeckStorageSettings & visualDeckStorage() const
Definition cache_settings.cpp:444
ReleaseChannel * getUpdateReleaseChannel() const
Definition cache_settings.cpp:318
DeckEditorSettings & deckEditor() const
Definition cache_settings.cpp:439
void setThemeName(const QString &_themeName)
Definition cache_settings.cpp:169
bool getNotifyAboutUpdates() const override
Definition cache_settings.cpp:297
InterfaceSettings * interfaceSettings
Definition cache_settings.h:81
LayoutsSettings & layouts() const
Definition cache_settings.cpp:359
UpdatesSettings * updatesSettings
Definition cache_settings.h:78
SoundSettings * soundSettings
Definition cache_settings.h:74
QString getClientID() override
Definition cache_settings.cpp:312
VisualDeckStorageSettings * visualDeckStorageSettings
Definition cache_settings.h:84
CacheStorageSettings & cacheStorage() const
Definition cache_settings.cpp:409
QString getSafeConfigFilePath(QString configEntry, QString defaultPath) const
Definition cache_settings.cpp:90
QString getThemeName() const
Definition cache_settings.h:119
void setKnownMissingFeatures(const QString &_knownMissingFeatures) override
Definition cache_settings.cpp:302
CardDatabaseSettings * cardDatabaseSettings
Definition cache_settings.h:63
CardOverrideSettings & cardOverrides() const
Definition cache_settings.cpp:374
UpdatesSettings & updates() const
Definition cache_settings.cpp:414
DownloadSettings * downloadSettings
Definition cache_settings.h:68
PathsSettings * pathsSettings
Definition cache_settings.h:83
SoundSettings & sound() const
Definition cache_settings.cpp:394
DebugSettings & debug() const
Definition cache_settings.cpp:379
ShortcutsSettings & shortcuts() const
Definition cache_settings.cpp:334
QString getSettingsPath()
Definition cache_settings.cpp:57
QString themeName
Definition cache_settings.h:89
int getKeepAlive() const override
Definition cache_settings.cpp:287
QString getDataPath()
Definition cache_settings.cpp:48
CommanderBracketSettings & commanderBrackets() const
Definition cache_settings.h:155
NetworkSettings * networkSettings
Definition cache_settings.h:86
LayoutsSettings * layoutsSettings
Definition cache_settings.h:67
CardsDisplaySettings & cardsDisplay() const
Definition cache_settings.cpp:424
MessageSettings * messageSettings
Definition cache_settings.h:65
ServersSettings & servers() const
Definition cache_settings.cpp:344
QString getCachePath() const
Definition cache_settings.cpp:62
CommanderBracketSettings * commanderBracketSettings
Definition cache_settings.h:87
RecentsSettings * recentsSettings
Definition cache_settings.h:69
DeckEditorSettings * deckEditorSettings
Definition cache_settings.h:82
CardOverrideSettings * cardOverrideSettings
Definition cache_settings.h:70
int getUpdateReleaseChannelIndex() const
Definition cache_settings.cpp:328
PersonalSettings & personal() const
Definition cache_settings.cpp:419
QString getNetworkCachePath() const
Definition cache_settings.cpp:71
GameSettings * gameSettings
Definition cache_settings.h:75
TabsSettings & tabs() const
Definition cache_settings.cpp:389
DebugSettings * debugSettings
Definition cache_settings.h:71
GameFiltersSettings & gameFilters() const
Definition cache_settings.cpp:354
TabsSettings * tabsSettings
Definition cache_settings.h:73
QString getSafeConfigPath(QString configEntry, QString defaultPath) const
Definition cache_settings.cpp:76
QString getTokenDatabasePath() const override
Definition cache_settings.cpp:281
bool isPortableBuild
Definition cache_settings.h:92
NetworkSettings & network() const
Definition cache_settings.cpp:454
ChatSettings & chat() const
Definition cache_settings.cpp:404
CacheStorageSettings * cacheStorageSettings
Definition cache_settings.h:77
QString getCardDatabasePath() const override
Definition cache_settings.cpp:271
QList< ReleaseChannel * > releaseChannels
Definition cache_settings.h:91
AppearanceSettings * appearanceSettings
Definition cache_settings.h:85
CardCounterSettings & cardCounters() const
Definition cache_settings.cpp:384
GameFiltersSettings * gameFiltersSettings
Definition cache_settings.h:66
DownloadSettings & downloads() const
Definition cache_settings.cpp:364
QSettings * settings
Definition cache_settings.h:61
ServersSettings * serversSettings
Definition cache_settings.h:64
CardsDisplaySettings * cardsDisplaySettings
Definition cache_settings.h:80
QList< ReleaseChannel * > getUpdateReleaseChannels() const
Definition cache_settings.cpp:323
GameSettings & game() const
Definition cache_settings.cpp:399
void loadPaths()
Definition cache_settings.cpp:197
int getTimeOut() const override
Definition cache_settings.cpp:292
InterfaceSettings & userInterface() const
Definition cache_settings.cpp:429
PathsSettings & paths() const
Definition cache_settings.cpp:434
static SettingsCache & instance()
Definition cache_settings.cpp:43
RecentsSettings & recents() const
Definition cache_settings.cpp:369
QStringList getCountries() const
Definition cache_settings.cpp:176
QString getKnownMissingFeatures() override
Definition cache_settings.cpp:307
CardCounterSettings * cardCounterSettings
Definition cache_settings.h:72
ShortcutsSettings * shortcutsSettings
Definition cache_settings.h:62
MessageSettings & messages() const
Definition cache_settings.cpp:349
ChatSettings * chatSettings
Definition cache_settings.h:76
void themeChanged()
Definition shortcuts_settings.h:118
Definition sound_settings.h:9
Definition tabs_settings.h:28
Definition updates_settings.h:10
Definition visual_deck_storage_settings.h:10