From 07a47f1b066e98f86f9a295f4a79b6585ff04e43 Mon Sep 17 00:00:00 2001 From: Martchus Date: Fri, 8 Sep 2017 16:56:50 +0200 Subject: [PATCH] Allow hiding API settings in notifications option page --- widgets/settings/settingsdialog.cpp | 10 +++++++++- widgets/settings/settingsdialog.h | 9 ++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp index 2ab1e61..312b7bd 100644 --- a/widgets/settings/settingsdialog.cpp +++ b/widgets/settings/settingsdialog.cpp @@ -337,8 +337,9 @@ void ConnectionOptionPage::applyAndReconnect() } // NotificationsOptionPage -NotificationsOptionPage::NotificationsOptionPage(QWidget *parentWidget) +NotificationsOptionPage::NotificationsOptionPage(bool noApi, QWidget *parentWidget) : NotificationsOptionPageBase(parentWidget) + , m_noApi(noApi) { } @@ -346,6 +347,13 @@ NotificationsOptionPage::~NotificationsOptionPage() { } +QWidget *NotificationsOptionPage::setupWidget() +{ + auto *w = NotificationsOptionPageBase::setupWidget(); + ui()->apiGroupBox->setHidden(m_noApi); + return w; +} + bool NotificationsOptionPage::apply() { bool ok = true; diff --git a/widgets/settings/settingsdialog.h b/widgets/settings/settingsdialog.h index 4a1df9d..0e1e8d9 100644 --- a/widgets/settings/settingsdialog.h +++ b/widgets/settings/settingsdialog.h @@ -45,7 +45,14 @@ std::vector m_secondarySettings; int m_currentIndex; END_DECLARE_OPTION_PAGE -DECLARE_UI_FILE_BASED_OPTION_PAGE(NotificationsOptionPage) +BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE_CUSTOM_CTOR(NotificationsOptionPage) +public: +NotificationsOptionPage(bool noApi = false, QWidget *parentWidget = nullptr); + +private: +DECLARE_SETUP_WIDGETS +bool m_noApi; +END_DECLARE_OPTION_PAGE DECLARE_UI_FILE_BASED_OPTION_PAGE(AppearanceOptionPage)