From 8d8585d00d58f67a0485909b56446cde61eab4d0 Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 26 Jun 2023 21:22:12 +0200 Subject: [PATCH] Allow to instantiate built-in option pages individually Expose conversion from QtSettings to QtSettingsData so one can pass such an object to the constructor of e.g. QtLanguageOptionPage. --- settingsdialog/qtsettings.cpp | 11 +++++++++++ settingsdialog/qtsettings.h | 1 + 2 files changed, 12 insertions(+) diff --git a/settingsdialog/qtsettings.cpp b/settingsdialog/qtsettings.cpp index 229f1bc..5b6d487 100644 --- a/settingsdialog/qtsettings.cpp +++ b/settingsdialog/qtsettings.cpp @@ -548,6 +548,17 @@ QWidget *QtEnvOptionPage::setupWidget() return widget; } +/*! + * \brief Returns a handle to the internal data. + * \remarks + * This is an opaque data structure. It can be used to construct option pages + * like QtLanguageOptionPage. + */ +QtSettings::operator QtSettingsData &() const +{ + return *m_d.get(); +} + } // namespace QtUtilities INSTANTIATE_UI_FILE_BASED_OPTION_PAGE(QtAppearanceOptionPage) diff --git a/settingsdialog/qtsettings.h b/settingsdialog/qtsettings.h index 478cca8..7c7f899 100644 --- a/settingsdialog/qtsettings.h +++ b/settingsdialog/qtsettings.h @@ -53,6 +53,7 @@ public: void reevaluatePaletteAndDefaultIconTheme(); bool isPaletteDark(); bool hasCustomFont() const; + operator QtSettingsData&() const; OptionCategory *category();