Cockatrice 2025-11-30-Development-2.11.0-beta.38
A cross-platform virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
dlg_settings.h
Go to the documentation of this file.
1
6
7#ifndef DLG_SETTINGS_H
8#define DLG_SETTINGS_H
9
10#include <QCheckBox>
11#include <QComboBox>
12#include <QDialog>
13#include <QGroupBox>
14#include <QLabel>
15#include <QLoggingCategory>
16#include <QPushButton>
17#include <QSpinBox>
19
20inline Q_LOGGING_CATEGORY(DlgSettingsLog, "dlg_settings");
21
23class SearchLineEdit;
24class QTreeView;
25class QStandardItemModel;
26class CardDatabase;
27class QCloseEvent;
28class QGridLayout;
29class QHBoxLayout;
30class QLineEdit;
31class QListWidget;
32class QListWidgetItem;
33class QRadioButton;
34class QSlider;
35class QStackedWidget;
36class QVBoxLayout;
37class SequenceEdit;
38
39class AbstractSettingsPage : public QWidget
40{
41public:
42 virtual void retranslateUi() = 0;
43};
44
46{
47 Q_OBJECT
48public:
50 void retranslateUi() override;
51
52private slots:
61 void languageBoxChanged(int index);
62
63private:
64 QStringList findQmFiles();
65 QString languageName(const QString &lang);
66 QLineEdit *deckPathEdit;
67 QLineEdit *filtersPathEdit;
68 QLineEdit *replaysPathEdit;
69 QLineEdit *picsPathEdit;
73 QPushButton *resetAllPathsButton;
75 QGroupBox *personalGroupBox;
76 QGroupBox *pathsGroupBox;
77 QComboBox languageBox;
98};
99
101{
102 Q_OBJECT
103private slots:
104 void themeBoxChanged(int index);
105 void openThemeLocation();
108
109 void cardViewInitialRowsMaxChanged(int value);
110 void cardViewExpandedRowsMaxChanged(int value);
111
112private:
114 QComboBox themeBox;
115 QPushButton openThemeButton;
138 QGroupBox *themeGroupBox;
139 QGroupBox *menuGroupBox;
140 QGroupBox *cardsGroupBox;
141 QGroupBox *handGroupBox;
142 QGroupBox *tableGroupBox;
144 QList<QLabel *> cardCounterNames;
147
148public:
150 void retranslateUi() override;
151};
152
191
193{
194 Q_OBJECT
195public:
197 void retranslateUi() override;
198 QString getLastUpdateTime();
199
200private slots:
201 void storeSettings();
202 void urlListChanged(const QModelIndex &, int, int, const QModelIndex &, int);
203 void setSpoilersEnabled(bool);
205 void updateSpoilers();
206 void unlockSettings();
207 void actAddURL();
208 void actRemoveURL();
209 void actEditURL();
212
213private:
215 QPushButton resetDownloadURLs;
218 QListWidget *urlList;
219 QAction *aAdd, *aEdit, *aRemove;
229 QPushButton *updateNowButton;
236};
237
239{
240 Q_OBJECT
241public:
243 void retranslateUi() override;
244
245private slots:
246 void actAdd();
247 void actEdit();
248 void actRemove();
249 void updateColor(const QString &value);
250 void updateHighlightColor(const QString &value);
253
254private:
255 QListWidget *messageList;
256 QAction *aAdd;
257 QAction *aEdit;
258 QAction *aRemove;
265 QCheckBox messagePopups;
266 QCheckBox mentionPopups;
267 QCheckBox roomHistory;
268 QGroupBox *chatGroupBox;
270 QGroupBox *messageGroupBox;
271 QLineEdit *mentionColor;
272 QLineEdit *highlightColor;
274 QLabel hexLabel;
278
279 void storeSettings();
282};
283
285{
286 Q_OBJECT
287public:
289 void retranslateUi() override;
290
291private:
293 QComboBox themeBox;
294 QGroupBox *soundGroupBox;
295 QPushButton soundTestButton;
300
301private slots:
302 void masterVolumeChanged(int value);
303 void themeBoxChanged(int index);
304};
305
307{
308 Q_OBJECT
309public:
311 void retranslateUi() override;
312
313private:
316 QVBoxLayout *mainLayout;
317 QHBoxLayout *buttonsLayout;
319 QGridLayout *editLayout;
326 QLabel *faqLabel;
327 QPushButton *btnResetAll;
328 QPushButton *btnClearAll;
329
330private slots:
331 void resetShortcuts();
332 void clearShortcuts();
333 void currentItemChanged(const QString &key);
334};
335
336class DlgSettings : public QDialog
337{
338 Q_OBJECT
339public:
340 explicit DlgSettings(QWidget *parent = nullptr);
341 void setTab(int index);
342
343private slots:
344 void changePage(QListWidgetItem *current, QListWidgetItem *previous);
345 void updateLanguage();
346
347private:
348 QListWidget *contentsWidget;
349 QStackedWidget *pagesWidget;
352 void createIcons();
353 void retranslateUi();
354
355protected:
356 void closeEvent(QCloseEvent *event) override;
357};
358
359#endif
Definition dlg_settings.h:40
virtual void retranslateUi()=0
QLabel homeTabBackgroundSourceLabel
Definition dlg_settings.h:116
QCheckBox autoRotateSidewaysLayoutCardsCheckBox
Definition dlg_settings.h:124
QCheckBox overrideAllCardArtWithPersonalPreferenceCheckBox
Definition dlg_settings.h:125
QCheckBox invertVerticalCoordinateCheckBox
Definition dlg_settings.h:137
QLabel minPlayersForMultiColumnLayoutLabel
Definition dlg_settings.h:120
void showShortcutsChanged(QT_STATE_CHANGED_T enabled)
Definition dlg_settings.cpp:648
void cardViewExpandedRowsMaxChanged(int value)
Definition dlg_settings.cpp:711
QList< QLabel * > cardCounterNames
Definition dlg_settings.h:144
void themeBoxChanged(int index)
Definition dlg_settings.cpp:628
QGroupBox * cardCountersGroupBox
Definition dlg_settings.h:143
QSpinBox cardViewInitialRowsMaxBox
Definition dlg_settings.h:132
QLabel homeTabBackgroundShuffleFrequencyLabel
Definition dlg_settings.h:118
QCheckBox showShortcutsCheckBox
Definition dlg_settings.h:122
QPushButton openThemeButton
Definition dlg_settings.h:115
QCheckBox horizontalHandCheckBox
Definition dlg_settings.h:135
QCheckBox bumpSetsWithCardsInDeckToTopCheckBox
Definition dlg_settings.h:126
QGroupBox * handGroupBox
Definition dlg_settings.h:141
QComboBox themeBox
Definition dlg_settings.h:114
void retranslateUi() override
Definition dlg_settings.cpp:719
QComboBox homeTabBackgroundSourceBox
Definition dlg_settings.h:117
QLabel cardViewExpandedRowsMaxLabel
Definition dlg_settings.h:133
QCheckBox cardScalingCheckBox
Definition dlg_settings.h:127
void openThemeLocation()
Definition dlg_settings.cpp:635
QGroupBox * themeGroupBox
Definition dlg_settings.h:138
QSpinBox verticalCardOverlapPercentBox
Definition dlg_settings.h:130
QGroupBox * menuGroupBox
Definition dlg_settings.h:139
AppearanceSettingsPage()
Definition dlg_settings.cpp:410
void cardViewInitialRowsMaxChanged(int value)
Definition dlg_settings.cpp:698
QSpinBox minPlayersForMultiColumnLayoutEdit
Definition dlg_settings.h:145
QSpinBox cardViewExpandedRowsMaxBox
Definition dlg_settings.h:134
QLabel maxFontSizeForCardsLabel
Definition dlg_settings.h:121
QGroupBox * tableGroupBox
Definition dlg_settings.h:142
QCheckBox displayCardNamesCheckBox
Definition dlg_settings.h:123
QLabel verticalCardOverlapPercentLabel
Definition dlg_settings.h:129
QCheckBox leftJustifiedHandCheckBox
Definition dlg_settings.h:136
QGroupBox * cardsGroupBox
Definition dlg_settings.h:140
void overrideAllCardArtWithPersonalPreferenceToggled(QT_STATE_CHANGED_T enabled)
Definition dlg_settings.cpp:654
QLabel themeLabel
Definition dlg_settings.h:113
QSpinBox maxFontSizeForCardsEdit
Definition dlg_settings.h:146
QCheckBox roundCardCornersCheckBox
Definition dlg_settings.h:128
QLabel cardViewInitialRowsMaxLabel
Definition dlg_settings.h:131
QSpinBox homeTabBackgroundShuffleFrequencySpinBox
Definition dlg_settings.h:119
Core in-memory container for card and set data.
Definition card_database.h:29
QPushButton resetDownloadURLs
Definition dlg_settings.h:215
QAction * aEdit
Definition dlg_settings.h:219
QLabel msDownloadSpoilersLabel
Definition dlg_settings.h:221
QGroupBox * mpSpoilerGroupBox
Definition dlg_settings.h:223
void storeSettings()
Definition dlg_settings.cpp:1201
void spoilerPathButtonClicked()
Definition dlg_settings.cpp:1250
void retranslateUi() override
Definition dlg_settings.cpp:1276
QGroupBox * mpGeneralGroupBox
Definition dlg_settings.h:222
void actRemoveURL()
Definition dlg_settings.cpp:1180
QLabel networkRedirectCacheTtlLabel
Definition dlg_settings.h:232
DeckEditorSettingsPage()
Definition dlg_settings.cpp:980
QSpinBox networkRedirectCacheTtlEdit
Definition dlg_settings.h:233
void actAddURL()
Definition dlg_settings.cpp:1170
QLabel urlLinkLabel
Definition dlg_settings.h:216
QLabel lastUpdatedLabel
Definition dlg_settings.h:226
QListWidget * urlList
Definition dlg_settings.h:218
void clearDownloadedPicsButtonClicked()
Definition dlg_settings.cpp:1130
QSpinBox pixmapCacheEdit
Definition dlg_settings.h:234
QCheckBox picDownloadCheckBox
Definition dlg_settings.h:217
QString getLastUpdateTime()
Definition dlg_settings.cpp:1236
QPushButton * updateNowButton
Definition dlg_settings.h:229
QAction * aRemove
Definition dlg_settings.h:219
QLineEdit * mpSpoilerSavePathLineEdit
Definition dlg_settings.h:224
QCheckBox mcDownloadSpoilersCheckBox
Definition dlg_settings.h:220
void unlockSettings()
Definition dlg_settings.cpp:1230
QLabel infoOnSpoilersLabel
Definition dlg_settings.h:227
void actEditURL()
Definition dlg_settings.cpp:1188
void resetDownloadedURLsButtonClicked()
Definition dlg_settings.cpp:1122
QPushButton * mpSpoilerPathButton
Definition dlg_settings.h:228
QLabel pixmapCacheLabel
Definition dlg_settings.h:235
void setSpoilersEnabled(bool)
Definition dlg_settings.cpp:1261
QPushButton clearDownloadedPicsButton
Definition dlg_settings.h:214
QLabel networkCacheLabel
Definition dlg_settings.h:230
QSpinBox networkCacheEdit
Definition dlg_settings.h:231
QAction * aAdd
Definition dlg_settings.h:219
QLabel mcSpoilerSaveLabel
Definition dlg_settings.h:225
void updateSpoilers()
Definition dlg_settings.cpp:1218
void urlListChanged(const QModelIndex &, int, int, const QModelIndex &, int)
Definition dlg_settings.cpp:1213
QListWidgetItem * shortcutsButton
Definition dlg_settings.h:351
void createIcons()
Definition dlg_settings.cpp:1801
QListWidgetItem * generalButton
Definition dlg_settings.h:350
void updateLanguage()
Definition dlg_settings.cpp:1857
void setTab(int index)
Definition dlg_settings.cpp:1849
void closeEvent(QCloseEvent *event) override
Definition dlg_settings.cpp:1863
QListWidgetItem * soundButton
Definition dlg_settings.h:351
QListWidgetItem * appearanceButton
Definition dlg_settings.h:350
DlgSettings(QWidget *parent=nullptr)
Definition dlg_settings.cpp:1755
QListWidget * contentsWidget
Definition dlg_settings.h:348
QListWidgetItem * messagesButton
Definition dlg_settings.h:350
QListWidgetItem * deckEditorButton
Definition dlg_settings.h:350
void retranslateUi()
Definition dlg_settings.cpp:1939
QStackedWidget * pagesWidget
Definition dlg_settings.h:349
void changePage(QListWidgetItem *current, QListWidgetItem *previous)
Definition dlg_settings.cpp:1841
QListWidgetItem * userInterfaceButton
Definition dlg_settings.h:350
void tokenDatabasePathButtonClicked()
Definition dlg_settings.cpp:331
QComboBox languageBox
Definition dlg_settings.h:77
QLineEdit * customCardDatabasePathEdit
Definition dlg_settings.h:71
GeneralSettingsPage()
Definition dlg_settings.cpp:62
QLineEdit * tokenDatabasePathEdit
Definition dlg_settings.h:72
QLabel languageLabel
Definition dlg_settings.h:87
QGroupBox * personalGroupBox
Definition dlg_settings.h:75
QLabel customCardDatabasePathLabel
Definition dlg_settings.h:93
QString languageName(const QString &lang)
Definition dlg_settings.cpp:257
QLineEdit * cardDatabasePathEdit
Definition dlg_settings.h:70
void picsPathButtonClicked()
Definition dlg_settings.cpp:301
QLabel advertiseTranslationPageLabel
Definition dlg_settings.h:96
QLabel picsPathLabel
Definition dlg_settings.h:91
QPushButton * resetAllPathsButton
Definition dlg_settings.h:73
QCheckBox newVersionOracleCheckBox
Definition dlg_settings.h:85
QComboBox updateReleaseChannelBox
Definition dlg_settings.h:86
QCheckBox updateNotificationCheckBox
Definition dlg_settings.h:84
void retranslateUi() override
Definition dlg_settings.cpp:359
QLabel * allPathsResetLabel
Definition dlg_settings.h:74
QLabel deckPathLabel
Definition dlg_settings.h:88
QLabel replaysPathLabel
Definition dlg_settings.h:90
QLineEdit * picsPathEdit
Definition dlg_settings.h:69
void customCardDatabaseButtonClicked()
Definition dlg_settings.cpp:321
QLabel startupCardUpdateCheckBehaviorLabel
Definition dlg_settings.h:79
QLabel tokenDatabasePathLabel
Definition dlg_settings.h:94
QLabel lastCardUpdateCheckDateLabel
Definition dlg_settings.h:83
void cardDatabasePathButtonClicked()
Definition dlg_settings.cpp:311
void deckPathButtonClicked()
Definition dlg_settings.cpp:271
QCheckBox showTipsOnStartup
Definition dlg_settings.h:97
QLineEdit * filtersPathEdit
Definition dlg_settings.h:67
void languageBoxChanged(int index)
Definition dlg_settings.cpp:354
QStringList findQmFiles()
Definition dlg_settings.cpp:249
QSpinBox cardUpdateCheckIntervalSpinBox
Definition dlg_settings.h:82
QLineEdit * deckPathEdit
Definition dlg_settings.h:66
QLabel cardUpdateCheckIntervalLabel
Definition dlg_settings.h:81
QGroupBox * pathsGroupBox
Definition dlg_settings.h:76
QLineEdit * replaysPathEdit
Definition dlg_settings.h:68
void resetAllPathsClicked()
Definition dlg_settings.cpp:341
QLabel cardDatabasePathLabel
Definition dlg_settings.h:92
QCheckBox startupUpdateCheckCheckBox
Definition dlg_settings.h:78
void replaysPathButtonClicked()
Definition dlg_settings.cpp:291
void filtersPathButtonClicked()
Definition dlg_settings.cpp:281
QLabel updateReleaseChannelLabel
Definition dlg_settings.h:95
QComboBox startupCardUpdateCheckBehaviorSelector
Definition dlg_settings.h:80
QLabel filtersPathLabel
Definition dlg_settings.h:89
QCheckBox ignoreUnregUserMessages
Definition dlg_settings.h:264
QAction * aRemove
Definition dlg_settings.h:258
QGroupBox * messageGroupBox
Definition dlg_settings.h:270
QCheckBox invertMentionForeground
Definition dlg_settings.h:261
void storeSettings()
Definition dlg_settings.cpp:1479
QLineEdit * customAlertString
Definition dlg_settings.h:273
void actRemove()
Definition dlg_settings.cpp:1512
void actEdit()
Definition dlg_settings.cpp:1498
QLineEdit * highlightColor
Definition dlg_settings.h:272
void updateTextHighlightColor(QT_STATE_CHANGED_T value)
Definition dlg_settings.cpp:1459
QCheckBox ignoreUnregUsersMainChat
Definition dlg_settings.h:263
void updateHighlightColor(const QString &value)
Definition dlg_settings.cpp:1439
QCheckBox mentionPopups
Definition dlg_settings.h:266
void actAdd()
Definition dlg_settings.cpp:1487
QCheckBox chatMentionCheckBox
Definition dlg_settings.h:259
QAction * aAdd
Definition dlg_settings.h:256
void updateHighlightPreview()
Definition dlg_settings.cpp:1472
QLineEdit * mentionColor
Definition dlg_settings.h:271
QCheckBox messagePopups
Definition dlg_settings.h:265
QCheckBox chatMentionCompleterCheckbox
Definition dlg_settings.h:260
QGroupBox * chatGroupBox
Definition dlg_settings.h:268
void updateTextColor(QT_STATE_CHANGED_T value)
Definition dlg_settings.cpp:1453
QGroupBox * highlightGroupBox
Definition dlg_settings.h:269
void updateMentionPreview()
Definition dlg_settings.cpp:1465
void retranslateUi() override
Definition dlg_settings.cpp:1520
QLabel hexHighlightLabel
Definition dlg_settings.h:275
QLabel customAlertStringLabel
Definition dlg_settings.h:276
QCheckBox roomHistory
Definition dlg_settings.h:267
QListWidget * messageList
Definition dlg_settings.h:255
QCheckBox invertHighlightForeground
Definition dlg_settings.h:262
MessagesSettingsPage()
Definition dlg_settings.cpp:1303
QAction * aEdit
Definition dlg_settings.h:257
QLabel explainMessagesLabel
Definition dlg_settings.h:277
void updateColor(const QString &value)
Definition dlg_settings.cpp:1425
QLabel hexLabel
Definition dlg_settings.h:274
Definition custom_line_edit.h:35
Definition sequence_edit.h:16
QLabel * currentActionGroupName
Definition dlg_settings.h:321
QGroupBox * editShortcutGroupBox
Definition dlg_settings.h:318
QLabel * currentActionLabel
Definition dlg_settings.h:322
QGridLayout * editLayout
Definition dlg_settings.h:319
QHBoxLayout * buttonsLayout
Definition dlg_settings.h:317
QVBoxLayout * mainLayout
Definition dlg_settings.h:316
QLabel * currentActionName
Definition dlg_settings.h:323
QLabel * currentShortcutLabel
Definition dlg_settings.h:324
QLabel * faqLabel
Definition dlg_settings.h:326
SearchLineEdit * searchEdit
Definition dlg_settings.h:314
SequenceEdit * editTextBox
Definition dlg_settings.h:325
QLabel * currentActionGroupLabel
Definition dlg_settings.h:320
void resetShortcuts()
Definition dlg_settings.cpp:1712
void currentItemChanged(const QString &key)
Definition dlg_settings.cpp:1697
QPushButton * btnClearAll
Definition dlg_settings.h:328
void retranslateUi() override
Definition dlg_settings.cpp:1728
ShortcutSettingsPage()
Definition dlg_settings.cpp:1623
ShortcutTreeView * shortcutsTable
Definition dlg_settings.h:315
QPushButton * btnResetAll
Definition dlg_settings.h:327
void clearShortcuts()
Definition dlg_settings.cpp:1720
Definition shortcut_treeview.h:28
QSlider * masterVolumeSlider
Definition dlg_settings.h:298
QGroupBox * soundGroupBox
Definition dlg_settings.h:294
QCheckBox soundEnabledCheckBox
Definition dlg_settings.h:296
SoundSettingsPage()
Definition dlg_settings.cpp:1545
void themeBoxChanged(int index)
Definition dlg_settings.cpp:1602
void retranslateUi() override
Definition dlg_settings.cpp:1614
QSpinBox * masterVolumeSpinBox
Definition dlg_settings.h:299
QLabel themeLabel
Definition dlg_settings.h:292
QComboBox themeBox
Definition dlg_settings.h:293
void masterVolumeChanged(int value)
Definition dlg_settings.cpp:1609
QLabel masterVolumeLabel
Definition dlg_settings.h:297
QPushButton soundTestButton
Definition dlg_settings.h:295
QCheckBox useTearOffMenusCheckBox
Definition dlg_settings.h:170
QCheckBox focusCardViewSearchBarCheckBox
Definition dlg_settings.h:168
QCheckBox annotateTokensCheckBox
Definition dlg_settings.h:169
QLabel visualDeckStoragePromptForConversionLabel
Definition dlg_settings.h:173
QCheckBox buddyConnectNotificationsEnabledCheckBox
Definition dlg_settings.h:162
QCheckBox clickPlaysAllSelectedCheckBox
Definition dlg_settings.h:164
QCheckBox doubleClickToPlayCheckBox
Definition dlg_settings.h:163
QCheckBox specNotificationsEnabledCheckBox
Definition dlg_settings.h:161
QGroupBox * generalGroupBox
Definition dlg_settings.h:181
QComboBox defaultDeckEditorTypeSelector
Definition dlg_settings.h:178
QCheckBox closeEmptyCardViewCheckBox
Definition dlg_settings.h:167
QSpinBox rewindBufferingMsBox
Definition dlg_settings.h:180
QCheckBox visualDeckStorageInGameCheckBox
Definition dlg_settings.h:175
QGroupBox * deckEditorGroupBox
Definition dlg_settings.h:184
void setNotificationEnabled(QT_STATE_CHANGED_T)
Definition dlg_settings.cpp:933
void retranslateUi() override
Definition dlg_settings.cpp:943
QLabel defaultDeckEditorTypeLabel
Definition dlg_settings.h:177
QCheckBox visualDeckStorageSelectionAnimationCheckBox
Definition dlg_settings.h:176
QGroupBox * animationGroupBox
Definition dlg_settings.h:183
UserInterfaceSettingsPage()
Definition dlg_settings.cpp:771
QGroupBox * replayGroupBox
Definition dlg_settings.h:185
QCheckBox openDeckInNewTabCheckBox
Definition dlg_settings.h:172
QCheckBox tapAnimationCheckBox
Definition dlg_settings.h:171
QLabel rewindBufferingMsLabel
Definition dlg_settings.h:179
QComboBox visualDeckStoragePromptForConversionSelector
Definition dlg_settings.h:174
QCheckBox notificationsEnabledCheckBox
Definition dlg_settings.h:160
QCheckBox doNotDeleteArrowsInSubPhasesCheckBox
Definition dlg_settings.h:166
QGroupBox * notificationsGroupBox
Definition dlg_settings.h:182
QCheckBox playToStackCheckBox
Definition dlg_settings.h:165
Q_LOGGING_CATEGORY(DlgSettingsLog, "dlg_settings")
#define QT_STATE_CHANGED_T
Definition macros.h:11