Open settings when clicking moderation button and no moderation actions are found

This commit is contained in:
fourtf
2018-10-21 15:32:28 +02:00
parent 27ac236115
commit 1872163ec4
11 changed files with 97 additions and 28 deletions
+17 -14
View File
@@ -12,6 +12,13 @@ namespace chatterino {
class SettingsPage;
class SettingsDialogTab;
class ModerationPage;
enum class SettingsDialogPreference {
NoPreference,
Accounts,
ModerationActions,
};
class SettingsDialog : public BaseWindow
{
@@ -19,14 +26,8 @@ public:
SettingsDialog();
static SettingsDialog *getHandle(); // may be NULL
enum class PreferredTab {
NoPreference,
Accounts,
};
static void showDialog(
PreferredTab preferredTab = PreferredTab::NoPreference);
static void showDialog(SettingsDialogPreference preferredTab =
SettingsDialogPreference::NoPreference);
protected:
virtual void scaleChangedEvent(float newDpi) override;
@@ -41,19 +42,21 @@ private:
void addTabs();
void addTab(SettingsPage *page, Qt::Alignment alignment = Qt::AlignTop);
void selectTab(SettingsDialogTab *tab);
void selectPage(SettingsPage *page);
void onOkClicked();
void onCancelClicked();
struct {
QWidget *tabContainerContainer;
QVBoxLayout *tabContainer;
QStackedLayout *pageStack;
QPushButton *okButton;
QPushButton *cancelButton;
QWidget *tabContainerContainer{};
QVBoxLayout *tabContainer{};
QStackedLayout *pageStack{};
QPushButton *okButton{};
QPushButton *cancelButton{};
ModerationPage *moderationPage{};
} ui_;
std::vector<SettingsDialogTab *> tabs_;
SettingsDialogTab *selectedTab_ = nullptr;
SettingsDialogTab *selectedTab_{};
friend class SettingsDialogTab;
};