Cockatrice 2026-10-19-Development-3.1.2-beta.2
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 <QList>
11#include <QLoggingCategory>
12#include <QString>
13#include <QStringList>
16#include <qtmetamacros.h>
17
18inline Q_LOGGING_CATEGORY(SettingsCacheLog, "settings_cache");
19
20class ReleaseChannel;
21
22#define DEFAULT_LANG_NAME "English"
23#define CLIENT_INFO_NOT_SET "notset"
24
25#define DEFAULT_FONT_SIZE 12
26
32class ChatSettings;
34class DebugSettings;
38class GameSettings;
40class LayoutsSettings;
41class MessageSettings;
42class PathsSettings;
44class RecentsSettings;
45class ServersSettings;
47class SoundSettings;
48class TabsSettings;
49class UpdatesSettings;
52class NetworkSettings;
53class QSettings;
54
56{
57 Q_OBJECT
58
59signals:
61
62private:
63 QSettings *settings = nullptr;
90
91 QString themeName;
92
95
96 [[nodiscard]] QString getSafeConfigPath(QString configEntry, QString defaultPath) const;
97 [[nodiscard]] QString getSafeConfigFilePath(QString configEntry, QString defaultPath) const;
98 void loadPaths();
99
100public:
102 QString getDataPath();
103 QString getSettingsPath();
104 [[nodiscard]] QString getCachePath() const;
105 [[nodiscard]] QString getNetworkCachePath() const;
106
107 // ICardDatabasePathProvider - delegate to pathsSettings
108 [[nodiscard]] QString getCustomCardDatabasePath() const override;
109 [[nodiscard]] QString getCardDatabasePath() const override;
110 [[nodiscard]] QString getSpoilerCardDatabasePath() const override;
111 [[nodiscard]] QString getTokenDatabasePath() const override;
112
113 // INetworkSettingsProvider - delegate to sub-objects
114 [[nodiscard]] int getKeepAlive() const override;
115 [[nodiscard]] int getTimeOut() const override;
116 [[nodiscard]] bool getNotifyAboutUpdates() const override;
117 void setKnownMissingFeatures(const QString &_knownMissingFeatures) override;
118 [[nodiscard]] QString getKnownMissingFeatures() override;
119 QString getClientID() override;
120
121 [[nodiscard]] QString getThemeName() const
122 {
123 return themeName;
124 }
125
126 [[nodiscard]] ReleaseChannel *getUpdateReleaseChannel() const;
128 [[nodiscard]] int getUpdateReleaseChannelIndex() const;
129
130 [[nodiscard]] QStringList getCountries() const;
131
132 [[nodiscard]] ShortcutsSettings &shortcuts() const;
133 [[nodiscard]] CardDatabaseSettings &cardDatabase() const;
134 [[nodiscard]] ServersSettings &servers() const;
135 [[nodiscard]] MessageSettings &messages() const;
136 [[nodiscard]] GameFiltersSettings &gameFilters() const;
137 [[nodiscard]] LayoutsSettings &layouts() const;
138 [[nodiscard]] DownloadSettings &downloads() const;
139 [[nodiscard]] RecentsSettings &recents() const;
140 [[nodiscard]] CardOverrideSettings &cardOverrides() const;
141 [[nodiscard]] DebugSettings &debug() const;
142 [[nodiscard]] CardCounterSettings &cardCounters() const;
143 [[nodiscard]] TabsSettings &tabs() const;
144 [[nodiscard]] SoundSettings &sound() const;
145 [[nodiscard]] GameSettings &game() const;
146 [[nodiscard]] ChatSettings &chat() const;
147 [[nodiscard]] CacheStorageSettings &cacheStorage() const;
148 [[nodiscard]] UpdatesSettings &updates() const;
149 [[nodiscard]] PersonalSettings &personal() const;
150 [[nodiscard]] CardsDisplaySettings &cardsDisplay() const;
151 [[nodiscard]] InterfaceSettings &userInterface() const;
152 [[nodiscard]] DeckEditorSettings &deckEditor() const;
153 [[nodiscard]] PathsSettings &paths() const;
154 [[nodiscard]] VisualDeckStorageSettings &visualDeckStorage() const;
155 [[nodiscard]] AppearanceSettings &appearance() const;
156 [[nodiscard]] NetworkSettings &network() const;
158 {
160 }
161
162 [[nodiscard]] bool getIsPortableBuild() const
163 {
164 return isPortableBuild;
165 }
166
167 static SettingsCache &instance();
168 void resetPaths();
169
170public slots:
171 void setThemeName(const QString &_themeName);
172};
173#endif
Definition appearance_settings.h:18
Definition cache_storage_settings.h:30
Definition card_counter_settings.h:18
Definition card_database_settings.h:23
Definition card_override_settings.h:19
Definition cards_display_settings.h:13
Definition chat_settings.h:13
Definition commander_bracket_settings.h:24
Definition debug_settings.h:17
Definition deck_editor_settings.h:28
Definition download_settings.h:20
Definition game_filters_settings.h:21
Definition game_settings.h:13
Definition interface_card_database_path_provider.h:6
Definition interface_network_settings_provider.h:6
Definition interface_settings.h:17
Definition layouts_settings.h:19
Definition message_settings.h:18
Definition network_settings.h:18
Definition paths_settings.h:14
Definition personal_settings.h:14
Definition remote_connection_controller.h:20
Definition recents_settings.h:19
Definition release_channel.h:89
Definition servers_settings.h:25
Definition cache_settings.h:56
QString getCustomCardDatabasePath() const override
Definition cache_settings.cpp:285
void resetPaths()
Definition cache_settings.cpp:263
PersonalSettings * personalSettings
Definition cache_settings.h:81
AppearanceSettings & appearance() const
Definition cache_settings.cpp:468
QString getSpoilerCardDatabasePath() const override
Definition cache_settings.cpp:295
CardDatabaseSettings & cardDatabase() const
Definition cache_settings.cpp:358
bool getIsPortableBuild() const
Definition cache_settings.h:162
SettingsCache()
Definition cache_settings.cpp:106
VisualDeckStorageSettings & visualDeckStorage() const
Definition cache_settings.cpp:463
ReleaseChannel * getUpdateReleaseChannel() const
Definition cache_settings.cpp:337
DeckEditorSettings & deckEditor() const
Definition cache_settings.cpp:458
void setThemeName(const QString &_themeName)
Definition cache_settings.cpp:188
bool getNotifyAboutUpdates() const override
Definition cache_settings.cpp:316
InterfaceSettings * interfaceSettings
Definition cache_settings.h:83
LayoutsSettings & layouts() const
Definition cache_settings.cpp:378
UpdatesSettings * updatesSettings
Definition cache_settings.h:80
SoundSettings * soundSettings
Definition cache_settings.h:76
QString getClientID() override
Definition cache_settings.cpp:331
VisualDeckStorageSettings * visualDeckStorageSettings
Definition cache_settings.h:86
CacheStorageSettings & cacheStorage() const
Definition cache_settings.cpp:428
QString getSafeConfigFilePath(QString configEntry, QString defaultPath) const
Definition cache_settings.cpp:95
QString getThemeName() const
Definition cache_settings.h:121
void setKnownMissingFeatures(const QString &_knownMissingFeatures) override
Definition cache_settings.cpp:321
CardDatabaseSettings * cardDatabaseSettings
Definition cache_settings.h:65
CardOverrideSettings & cardOverrides() const
Definition cache_settings.cpp:393
UpdatesSettings & updates() const
Definition cache_settings.cpp:433
DownloadSettings * downloadSettings
Definition cache_settings.h:70
PathsSettings * pathsSettings
Definition cache_settings.h:85
SoundSettings & sound() const
Definition cache_settings.cpp:413
DebugSettings & debug() const
Definition cache_settings.cpp:398
ShortcutsSettings & shortcuts() const
Definition cache_settings.cpp:353
QString getSettingsPath()
Definition cache_settings.cpp:62
QString themeName
Definition cache_settings.h:91
int getKeepAlive() const override
Definition cache_settings.cpp:306
QString getDataPath()
Definition cache_settings.cpp:53
CommanderBracketSettings & commanderBrackets() const
Definition cache_settings.h:157
NetworkSettings * networkSettings
Definition cache_settings.h:88
LayoutsSettings * layoutsSettings
Definition cache_settings.h:69
CardsDisplaySettings & cardsDisplay() const
Definition cache_settings.cpp:443
MessageSettings * messageSettings
Definition cache_settings.h:67
ServersSettings & servers() const
Definition cache_settings.cpp:363
QString getCachePath() const
Definition cache_settings.cpp:67
CommanderBracketSettings * commanderBracketSettings
Definition cache_settings.h:89
RecentsSettings * recentsSettings
Definition cache_settings.h:71
DeckEditorSettings * deckEditorSettings
Definition cache_settings.h:84
CardOverrideSettings * cardOverrideSettings
Definition cache_settings.h:72
int getUpdateReleaseChannelIndex() const
Definition cache_settings.cpp:347
PersonalSettings & personal() const
Definition cache_settings.cpp:438
QString getNetworkCachePath() const
Definition cache_settings.cpp:76
GameSettings * gameSettings
Definition cache_settings.h:77
TabsSettings & tabs() const
Definition cache_settings.cpp:408
DebugSettings * debugSettings
Definition cache_settings.h:73
GameFiltersSettings & gameFilters() const
Definition cache_settings.cpp:373
TabsSettings * tabsSettings
Definition cache_settings.h:75
QString getSafeConfigPath(QString configEntry, QString defaultPath) const
Definition cache_settings.cpp:81
QString getTokenDatabasePath() const override
Definition cache_settings.cpp:300
bool isPortableBuild
Definition cache_settings.h:94
NetworkSettings & network() const
Definition cache_settings.cpp:473
ChatSettings & chat() const
Definition cache_settings.cpp:423
CacheStorageSettings * cacheStorageSettings
Definition cache_settings.h:79
QString getCardDatabasePath() const override
Definition cache_settings.cpp:290
QList< ReleaseChannel * > releaseChannels
Definition cache_settings.h:93
AppearanceSettings * appearanceSettings
Definition cache_settings.h:87
CardCounterSettings & cardCounters() const
Definition cache_settings.cpp:403
GameFiltersSettings * gameFiltersSettings
Definition cache_settings.h:68
DownloadSettings & downloads() const
Definition cache_settings.cpp:383
QSettings * settings
Definition cache_settings.h:63
ServersSettings * serversSettings
Definition cache_settings.h:66
CardsDisplaySettings * cardsDisplaySettings
Definition cache_settings.h:82
QList< ReleaseChannel * > getUpdateReleaseChannels() const
Definition cache_settings.cpp:342
GameSettings & game() const
Definition cache_settings.cpp:418
void loadPaths()
Definition cache_settings.cpp:216
int getTimeOut() const override
Definition cache_settings.cpp:311
InterfaceSettings & userInterface() const
Definition cache_settings.cpp:448
PathsSettings & paths() const
Definition cache_settings.cpp:453
static SettingsCache & instance()
Definition cache_settings.cpp:48
RecentsSettings & recents() const
Definition cache_settings.cpp:388
QStringList getCountries() const
Definition cache_settings.cpp:195
QString getKnownMissingFeatures() override
Definition cache_settings.cpp:326
CardCounterSettings * cardCounterSettings
Definition cache_settings.h:74
ShortcutsSettings * shortcutsSettings
Definition cache_settings.h:64
MessageSettings & messages() const
Definition cache_settings.cpp:368
ChatSettings * chatSettings
Definition cache_settings.h:78
void themeChanged()
Definition shortcuts_settings.h:127
Definition sound_settings.h:13
Definition tabs_settings.h:32
Definition updates_settings.h:14
Definition visual_deck_storage_settings.h:14
Q_LOGGING_CATEGORY(CrashReportLog, "crash_report")