Help: Use IOptionPage::setWidgetCreator() for general settings

Change-Id: I71a500cc349fed92c38368989fc258902c942e29
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2023-04-20 11:00:48 +02:00
parent b19b4482c1
commit a3f025063f
2 changed files with 150 additions and 181 deletions

View File

@@ -23,6 +23,7 @@
#include <QComboBox> #include <QComboBox>
#include <QCoreApplication> #include <QCoreApplication>
#include <QFontComboBox> #include <QFontComboBox>
#include <QFontDatabase>
#include <QFormLayout> #include <QFormLayout>
#include <QGridLayout> #include <QGridLayout>
#include <QGroupBox> #include <QGroupBox>
@@ -35,19 +36,42 @@
#include <QTextStream> #include <QTextStream>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <QApplication>
using namespace Core; using namespace Core;
using namespace Utils; using namespace Utils;
namespace Help { namespace Help::Internal {
namespace Internal {
class GeneralSettingsPageWidget : public QWidget class GeneralSettingsPageWidget : public IOptionsPageWidget
{ {
public: public:
GeneralSettingsPageWidget(); GeneralSettingsPageWidget();
private:
void apply() final;
void setCurrentPage();
void setBlankPage();
void setDefaultPage();
void importBookmarks();
void exportBookmarks();
void updateFontSizeSelector();
void updateFontStyleSelector();
void updateFontFamilySelector();
void updateFont();
int closestPointSizeIndex(int desiredPointSize) const;
QFont m_font;
int m_fontZoom = 100;
QFontDatabase m_fontDatabase;
QString m_homePage;
int m_contextOption;
int m_startOption;
bool m_returnOnClose;
bool m_scrollWheelZoomingEnabled;
QSpinBox *zoomSpinBox; QSpinBox *zoomSpinBox;
QFontComboBox *familyComboBox; QFontComboBox *familyComboBox;
QComboBox *styleComboBox; QComboBox *styleComboBox;
@@ -62,7 +86,7 @@ public:
QPushButton *importButton; QPushButton *importButton;
QPushButton *exportButton; QPushButton *exportButton;
QCheckBox *scrollWheelZooming; QCheckBox *scrollWheelZooming;
QCheckBox *m_returnOnClose; QCheckBox *m_returnOnCloseCheckBox;
QComboBox *viewerBackend; QComboBox *viewerBackend;
}; };
@@ -152,8 +176,8 @@ GeneralSettingsPageWidget::GeneralSettingsPageWidget()
auto behaviourGroupBox = new QGroupBox(Tr::tr("Behaviour")); auto behaviourGroupBox = new QGroupBox(Tr::tr("Behaviour"));
scrollWheelZooming = new QCheckBox(Tr::tr("Enable scroll wheel zooming")); scrollWheelZooming = new QCheckBox(Tr::tr("Enable scroll wheel zooming"));
m_returnOnClose = new QCheckBox(Tr::tr("Return to editor on closing the last page")); m_returnOnCloseCheckBox = new QCheckBox(Tr::tr("Return to editor on closing the last page"));
m_returnOnClose->setToolTip( m_returnOnCloseCheckBox->setToolTip(
Tr::tr("Switches to editor context after last help page is closed.")); Tr::tr("Switches to editor context after last help page is closed."));
auto viewerBackendLabel = new QLabel(Tr::tr("Viewer backend:")); auto viewerBackendLabel = new QLabel(Tr::tr("Viewer backend:"));
@@ -172,7 +196,7 @@ GeneralSettingsPageWidget::GeneralSettingsPageWidget()
auto behaviourGroupBoxLayout = new QVBoxLayout; auto behaviourGroupBoxLayout = new QVBoxLayout;
behaviourGroupBox->setLayout(behaviourGroupBoxLayout); behaviourGroupBox->setLayout(behaviourGroupBoxLayout);
behaviourGroupBoxLayout->addWidget(scrollWheelZooming); behaviourGroupBoxLayout->addWidget(scrollWheelZooming);
behaviourGroupBoxLayout->addWidget(m_returnOnClose); behaviourGroupBoxLayout->addWidget(m_returnOnCloseCheckBox);
behaviourGroupBoxLayout->addLayout(viewerBackendLayout); behaviourGroupBoxLayout->addLayout(viewerBackendLayout);
// bookmarks // bookmarks
@@ -203,167 +227,145 @@ GeneralSettingsPageWidget::GeneralSettingsPageWidget()
mainLayout->addWidget(behaviourGroupBox); mainLayout->addWidget(behaviourGroupBox);
mainLayout->addLayout(bookmarksLayout); mainLayout->addLayout(bookmarksLayout);
mainLayout->addStretch(1); mainLayout->addStretch(1);
}
GeneralSettingsPage::GeneralSettingsPage() m_font = LocalHelpManager::fallbackFont();
{ m_fontZoom = LocalHelpManager::fontZoom();
setId("A.General settings"); zoomSpinBox->setValue(m_fontZoom);
setDisplayName(Tr::tr("General"));
setCategory(Help::Constants::HELP_CATEGORY);
setDisplayCategory(Tr::tr("Help"));
setCategoryIconPath(":/help/images/settingscategory_help.png");
}
QWidget *GeneralSettingsPage::widget() updateFontSizeSelector();
{ updateFontStyleSelector();
if (!m_widget) { updateFontFamilySelector();
m_widget = new GeneralSettingsPageWidget;
m_font = LocalHelpManager::fallbackFont(); connect(familyComboBox, &QFontComboBox::currentFontChanged, this, [this] {
m_fontZoom = LocalHelpManager::fontZoom(); updateFont();
m_widget->zoomSpinBox->setValue(m_fontZoom);
updateFontSizeSelector();
updateFontStyleSelector(); updateFontStyleSelector();
updateFontFamilySelector(); updateFontSizeSelector();
updateFont(); // changes that might have happened when updating the selectors
});
connect(m_widget->familyComboBox, &QFontComboBox::currentFontChanged, this, [this] { connect(styleComboBox, &QComboBox::currentIndexChanged, this, [this] {
updateFont(); updateFont();
updateFontStyleSelector(); updateFontSizeSelector();
updateFontSizeSelector(); updateFont(); // changes that might have happened when updating the selectors
updateFont(); // changes that might have happened when updating the selectors });
});
connect(m_widget->styleComboBox, &QComboBox::currentIndexChanged, this, [this] { connect(sizeComboBox, &QComboBox::currentIndexChanged,
updateFont(); this, &GeneralSettingsPageWidget::updateFont);
updateFontSizeSelector();
updateFont(); // changes that might have happened when updating the selectors
});
connect(m_widget->sizeComboBox, &QComboBox::currentIndexChanged, connect(zoomSpinBox, &QSpinBox::valueChanged,
this, &GeneralSettingsPage::updateFont); this, [this](int value) { m_fontZoom = value; });
connect(m_widget->zoomSpinBox, &QSpinBox::valueChanged, m_homePage = LocalHelpManager::homePage();
this, [this](int value) { m_fontZoom = value; }); homePageLineEdit->setText(m_homePage);
m_homePage = LocalHelpManager::homePage(); m_startOption = LocalHelpManager::startOption();
m_widget->homePageLineEdit->setText(m_homePage); helpStartComboBox->setCurrentIndex(m_startOption);
m_startOption = LocalHelpManager::startOption(); m_contextOption = LocalHelpManager::contextHelpOption();
m_widget->helpStartComboBox->setCurrentIndex(m_startOption); contextHelpComboBox->setCurrentIndex(m_contextOption);
m_contextOption = LocalHelpManager::contextHelpOption(); connect(currentPageButton, &QPushButton::clicked,
m_widget->contextHelpComboBox->setCurrentIndex(m_contextOption); this, &GeneralSettingsPageWidget::setCurrentPage);
connect(blankPageButton, &QPushButton::clicked,
this, &GeneralSettingsPageWidget::setBlankPage);
connect(defaultPageButton, &QPushButton::clicked,
this, &GeneralSettingsPageWidget::setDefaultPage);
connect(m_widget->currentPageButton, &QPushButton::clicked, HelpViewer *viewer = HelpPlugin::modeHelpWidget()->currentViewer();
this, &GeneralSettingsPage::setCurrentPage); if (!viewer)
connect(m_widget->blankPageButton, &QPushButton::clicked, currentPageButton->setEnabled(false);
this, &GeneralSettingsPage::setBlankPage);
connect(m_widget->defaultPageButton,
&QPushButton::clicked,
this,
&GeneralSettingsPage::setDefaultPage);
HelpViewer *viewer = HelpPlugin::modeHelpWidget()->currentViewer(); errorLabel->setVisible(false);
if (!viewer) connect(importButton, &QPushButton::clicked,
m_widget->currentPageButton->setEnabled(false); this, &GeneralSettingsPageWidget::importBookmarks);
connect(exportButton, &QPushButton::clicked,
this, &GeneralSettingsPageWidget::exportBookmarks);
m_widget->errorLabel->setVisible(false); m_returnOnClose = LocalHelpManager::returnOnClose();
connect(m_widget->importButton, &QPushButton::clicked, m_returnOnCloseCheckBox->setChecked(m_returnOnClose);
this, &GeneralSettingsPage::importBookmarks);
connect(m_widget->exportButton, &QPushButton::clicked,
this, &GeneralSettingsPage::exportBookmarks);
m_returnOnClose = LocalHelpManager::returnOnClose(); m_scrollWheelZoomingEnabled = LocalHelpManager::isScrollWheelZoomingEnabled();
m_widget->m_returnOnClose->setChecked(m_returnOnClose); scrollWheelZooming->setChecked(m_scrollWheelZoomingEnabled);
m_scrollWheelZoomingEnabled = LocalHelpManager::isScrollWheelZoomingEnabled(); viewerBackend->addItem(
m_widget->scrollWheelZooming->setChecked(m_scrollWheelZoomingEnabled); Tr::tr("Default (%1)", "Default viewer backend")
.arg(LocalHelpManager::defaultViewerBackend().displayName));
m_widget->viewerBackend->addItem( const QByteArray currentBackend = LocalHelpManager::viewerBackendId();
Tr::tr("Default (%1)", "Default viewer backend") const QVector<HelpViewerFactory> backends = LocalHelpManager::viewerBackends();
.arg(LocalHelpManager::defaultViewerBackend().displayName)); for (const HelpViewerFactory &f : backends) {
const QByteArray currentBackend = LocalHelpManager::viewerBackendId(); viewerBackend->addItem(f.displayName, f.id);
const QVector<HelpViewerFactory> backends = LocalHelpManager::viewerBackends(); if (f.id == currentBackend)
for (const HelpViewerFactory &f : backends) { viewerBackend->setCurrentIndex(viewerBackend->count() - 1);
m_widget->viewerBackend->addItem(f.displayName, f.id);
if (f.id == currentBackend)
m_widget->viewerBackend->setCurrentIndex(m_widget->viewerBackend->count() - 1);
}
if (backends.size() == 1)
m_widget->viewerBackend->setEnabled(false);
} }
return m_widget; if (backends.size() == 1)
viewerBackend->setEnabled(false);
} }
void GeneralSettingsPage::apply() void GeneralSettingsPageWidget::apply()
{ {
if (!m_widget) // page was never shown
return;
if (m_font != LocalHelpManager::fallbackFont()) if (m_font != LocalHelpManager::fallbackFont())
LocalHelpManager::setFallbackFont(m_font); LocalHelpManager::setFallbackFont(m_font);
if (m_fontZoom != LocalHelpManager::fontZoom()) if (m_fontZoom != LocalHelpManager::fontZoom())
LocalHelpManager::setFontZoom(m_fontZoom); LocalHelpManager::setFontZoom(m_fontZoom);
QString homePage = QUrl::fromUserInput(m_widget->homePageLineEdit->text()).toString(); QString homePage = QUrl::fromUserInput(homePageLineEdit->text()).toString();
if (homePage.isEmpty()) if (homePage.isEmpty())
homePage = Help::Constants::AboutBlank; homePage = Help::Constants::AboutBlank;
m_widget->homePageLineEdit->setText(homePage); homePageLineEdit->setText(homePage);
if (m_homePage != homePage) { if (m_homePage != homePage) {
m_homePage = homePage; m_homePage = homePage;
LocalHelpManager::setHomePage(homePage); LocalHelpManager::setHomePage(homePage);
} }
const int startOption = m_widget->helpStartComboBox->currentIndex(); const int startOption = helpStartComboBox->currentIndex();
if (m_startOption != startOption) { if (m_startOption != startOption) {
m_startOption = startOption; m_startOption = startOption;
LocalHelpManager::setStartOption(LocalHelpManager::StartOption(m_startOption)); LocalHelpManager::setStartOption(LocalHelpManager::StartOption(m_startOption));
} }
const int helpOption = m_widget->contextHelpComboBox->currentIndex(); const int helpOption = contextHelpComboBox->currentIndex();
if (m_contextOption != helpOption) { if (m_contextOption != helpOption) {
m_contextOption = helpOption; m_contextOption = helpOption;
LocalHelpManager::setContextHelpOption(HelpManager::HelpViewerLocation(m_contextOption)); LocalHelpManager::setContextHelpOption(HelpManager::HelpViewerLocation(m_contextOption));
} }
const bool close = m_widget->m_returnOnClose->isChecked(); const bool close = m_returnOnCloseCheckBox->isChecked();
if (m_returnOnClose != close) { if (m_returnOnClose != close) {
m_returnOnClose = close; m_returnOnClose = close;
LocalHelpManager::setReturnOnClose(m_returnOnClose); LocalHelpManager::setReturnOnClose(m_returnOnClose);
} }
const bool zoom = m_widget->scrollWheelZooming->isChecked(); const bool zoom = scrollWheelZooming->isChecked();
if (m_scrollWheelZoomingEnabled != zoom) { if (m_scrollWheelZoomingEnabled != zoom) {
m_scrollWheelZoomingEnabled = zoom; m_scrollWheelZoomingEnabled = zoom;
LocalHelpManager::setScrollWheelZoomingEnabled(m_scrollWheelZoomingEnabled); LocalHelpManager::setScrollWheelZoomingEnabled(m_scrollWheelZoomingEnabled);
} }
const QByteArray viewerBackendId = m_widget->viewerBackend->currentData().toByteArray(); const QByteArray viewerBackendId = viewerBackend->currentData().toByteArray();
LocalHelpManager::setViewerBackendId(viewerBackendId); LocalHelpManager::setViewerBackendId(viewerBackendId);
} }
void GeneralSettingsPage::setCurrentPage() void GeneralSettingsPageWidget::setCurrentPage()
{ {
HelpViewer *viewer = HelpPlugin::modeHelpWidget()->currentViewer(); HelpViewer *viewer = HelpPlugin::modeHelpWidget()->currentViewer();
if (viewer) if (viewer)
m_widget->homePageLineEdit->setText(viewer->source().toString()); homePageLineEdit->setText(viewer->source().toString());
} }
void GeneralSettingsPage::setBlankPage() void GeneralSettingsPageWidget::setBlankPage()
{ {
m_widget->homePageLineEdit->setText(Help::Constants::AboutBlank); homePageLineEdit->setText(Help::Constants::AboutBlank);
} }
void GeneralSettingsPage::setDefaultPage() void GeneralSettingsPageWidget::setDefaultPage()
{ {
m_widget->homePageLineEdit->setText(LocalHelpManager::defaultHomePage()); homePageLineEdit->setText(LocalHelpManager::defaultHomePage());
} }
void GeneralSettingsPage::importBookmarks() void GeneralSettingsPageWidget::importBookmarks()
{ {
m_widget->errorLabel->setVisible(false); errorLabel->setVisible(false);
FilePath filePath = FileUtils::getOpenFilePath(nullptr, FilePath filePath = FileUtils::getOpenFilePath(nullptr,
Tr::tr("Import Bookmarks"), Tr::tr("Import Bookmarks"),
@@ -381,13 +383,13 @@ void GeneralSettingsPage::importBookmarks()
return; return;
} }
m_widget->errorLabel->setVisible(true); errorLabel->setVisible(true);
m_widget->errorLabel->setText(Tr::tr("Cannot import bookmarks.")); errorLabel->setText(Tr::tr("Cannot import bookmarks."));
} }
void GeneralSettingsPage::exportBookmarks() void GeneralSettingsPageWidget::exportBookmarks()
{ {
m_widget->errorLabel->setVisible(false); errorLabel->setVisible(false);
FilePath filePath = FileUtils::getSaveFilePath(nullptr, FilePath filePath = FileUtils::getSaveFilePath(nullptr,
Tr::tr("Save File"), Tr::tr("Save File"),
@@ -405,12 +407,12 @@ void GeneralSettingsPage::exportBookmarks()
saver.setResult(&writer); saver.setResult(&writer);
} }
if (!saver.finalize()) { if (!saver.finalize()) {
m_widget->errorLabel->setVisible(true); errorLabel->setVisible(true);
m_widget->errorLabel->setText(saver.errorString()); errorLabel->setText(saver.errorString());
} }
} }
void GeneralSettingsPage::updateFontSizeSelector() void GeneralSettingsPageWidget::updateFontSizeSelector()
{ {
const QString &family = m_font.family(); const QString &family = m_font.family();
const QString &fontStyle = m_fontDatabase.styleString(m_font); const QString &fontStyle = m_fontDatabase.styleString(m_font);
@@ -419,81 +421,81 @@ void GeneralSettingsPage::updateFontSizeSelector()
if (pointSizes.empty()) if (pointSizes.empty())
pointSizes = QFontDatabase::standardSizes(); pointSizes = QFontDatabase::standardSizes();
QSignalBlocker blocker(m_widget->sizeComboBox); QSignalBlocker blocker(sizeComboBox);
m_widget->sizeComboBox->clear(); sizeComboBox->clear();
m_widget->sizeComboBox->setCurrentIndex(-1); sizeComboBox->setCurrentIndex(-1);
m_widget->sizeComboBox->setEnabled(!pointSizes.empty()); sizeComboBox->setEnabled(!pointSizes.empty());
// try to maintain selection or select closest. // try to maintain selection or select closest.
if (!pointSizes.empty()) { if (!pointSizes.empty()) {
QString n; QString n;
for (int pointSize : std::as_const(pointSizes)) for (int pointSize : std::as_const(pointSizes))
m_widget->sizeComboBox->addItem(n.setNum(pointSize), QVariant(pointSize)); sizeComboBox->addItem(n.setNum(pointSize), QVariant(pointSize));
const int closestIndex = closestPointSizeIndex(m_font.pointSize()); const int closestIndex = closestPointSizeIndex(m_font.pointSize());
if (closestIndex != -1) if (closestIndex != -1)
m_widget->sizeComboBox->setCurrentIndex(closestIndex); sizeComboBox->setCurrentIndex(closestIndex);
} }
} }
void GeneralSettingsPage::updateFontStyleSelector() void GeneralSettingsPageWidget::updateFontStyleSelector()
{ {
const QString &fontStyle = m_fontDatabase.styleString(m_font); const QString &fontStyle = m_fontDatabase.styleString(m_font);
const QStringList &styles = m_fontDatabase.styles(m_font.family()); const QStringList &styles = m_fontDatabase.styles(m_font.family());
QSignalBlocker blocker(m_widget->styleComboBox); QSignalBlocker blocker(styleComboBox);
m_widget->styleComboBox->clear(); styleComboBox->clear();
m_widget->styleComboBox->setCurrentIndex(-1); styleComboBox->setCurrentIndex(-1);
m_widget->styleComboBox->setEnabled(!styles.empty()); styleComboBox->setEnabled(!styles.empty());
if (!styles.empty()) { if (!styles.empty()) {
int normalIndex = -1; int normalIndex = -1;
const QString normalStyle = "Normal"; const QString normalStyle = "Normal";
for (const QString &style : styles) { for (const QString &style : styles) {
// try to maintain selection or select 'normal' preferably // try to maintain selection or select 'normal' preferably
const int newIndex = m_widget->styleComboBox->count(); const int newIndex = styleComboBox->count();
m_widget->styleComboBox->addItem(style); styleComboBox->addItem(style);
if (fontStyle == style) { if (fontStyle == style) {
m_widget->styleComboBox->setCurrentIndex(newIndex); styleComboBox->setCurrentIndex(newIndex);
} else { } else {
if (fontStyle == normalStyle) if (fontStyle == normalStyle)
normalIndex = newIndex; normalIndex = newIndex;
} }
} }
if (m_widget->styleComboBox->currentIndex() == -1 && normalIndex != -1) if (styleComboBox->currentIndex() == -1 && normalIndex != -1)
m_widget->styleComboBox->setCurrentIndex(normalIndex); styleComboBox->setCurrentIndex(normalIndex);
} }
} }
void GeneralSettingsPage::updateFontFamilySelector() void GeneralSettingsPageWidget::updateFontFamilySelector()
{ {
m_widget->familyComboBox->setCurrentFont(m_font); familyComboBox->setCurrentFont(m_font);
} }
void GeneralSettingsPage::updateFont() void GeneralSettingsPageWidget::updateFont()
{ {
const QString &family = m_widget->familyComboBox->currentFont().family(); const QString &family = familyComboBox->currentFont().family();
m_font.setFamily(family); m_font.setFamily(family);
int fontSize = 14; int fontSize = 14;
int currentIndex = m_widget->sizeComboBox->currentIndex(); int currentIndex = sizeComboBox->currentIndex();
if (currentIndex != -1) if (currentIndex != -1)
fontSize = m_widget->sizeComboBox->itemData(currentIndex).toInt(); fontSize = sizeComboBox->itemData(currentIndex).toInt();
m_font.setPointSize(fontSize); m_font.setPointSize(fontSize);
currentIndex = m_widget->styleComboBox->currentIndex(); currentIndex = styleComboBox->currentIndex();
if (currentIndex != -1) if (currentIndex != -1)
m_font.setStyleName(m_widget->styleComboBox->itemText(currentIndex)); m_font.setStyleName(styleComboBox->itemText(currentIndex));
} }
int GeneralSettingsPage::closestPointSizeIndex(int desiredPointSize) const int GeneralSettingsPageWidget::closestPointSizeIndex(int desiredPointSize) const
{ {
// try to maintain selection or select closest. // try to maintain selection or select closest.
int closestIndex = -1; int closestIndex = -1;
int closestAbsError = 0xFFFF; int closestAbsError = 0xFFFF;
const int pointSizeCount = m_widget->sizeComboBox->count(); const int pointSizeCount = sizeComboBox->count();
for (int i = 0; i < pointSizeCount; i++) { for (int i = 0; i < pointSizeCount; i++) {
const int itemPointSize = m_widget->sizeComboBox->itemData(i).toInt(); const int itemPointSize = sizeComboBox->itemData(i).toInt();
const int absError = qAbs(desiredPointSize - itemPointSize); const int absError = qAbs(desiredPointSize - itemPointSize);
if (absError < closestAbsError) { if (absError < closestAbsError) {
closestIndex = i; closestIndex = i;
@@ -508,10 +510,16 @@ int GeneralSettingsPage::closestPointSizeIndex(int desiredPointSize) const
return closestIndex; return closestIndex;
} }
void GeneralSettingsPage::finish() // GeneralSettingPage
GeneralSettingsPage::GeneralSettingsPage()
{ {
delete m_widget; setId("A.General settings");
setDisplayName(Tr::tr("General"));
setCategory(Help::Constants::HELP_CATEGORY);
setDisplayCategory(Tr::tr("Help"));
setCategoryIconPath(":/help/images/settingscategory_help.png");
setWidgetCreator([] { return new GeneralSettingsPageWidget; });
} }
} // Internal } // Help::Interal
} // Help

View File

@@ -5,51 +5,12 @@
#include <coreplugin/dialogs/ioptionspage.h> #include <coreplugin/dialogs/ioptionspage.h>
#include <QFontDatabase> namespace Help::Internal {
#include <QPointer>
namespace Help {
namespace Internal {
class GeneralSettingsPageWidget;
class GeneralSettingsPage : public Core::IOptionsPage class GeneralSettingsPage : public Core::IOptionsPage
{ {
Q_OBJECT
public: public:
GeneralSettingsPage(); GeneralSettingsPage();
QWidget *widget() override;
void apply() override;
void finish() override;
private:
void setCurrentPage();
void setBlankPage();
void setDefaultPage();
void importBookmarks();
void exportBookmarks();
void updateFontSizeSelector();
void updateFontStyleSelector();
void updateFontFamilySelector();
void updateFont();
int closestPointSizeIndex(int desiredPointSize) const;
QFont m_font;
int m_fontZoom = 100;
QFontDatabase m_fontDatabase;
QString m_homePage;
int m_contextOption;
int m_startOption;
bool m_returnOnClose;
bool m_scrollWheelZoomingEnabled;
QPointer<GeneralSettingsPageWidget> m_widget;
}; };
} // Internal } // Help::Internal
} // Help