From f3a2ee8082fd5b9e54564b77ac49efdf9444e802 Mon Sep 17 00:00:00 2001 From: Berthold Stoeger Date: Tue, 24 Nov 2020 12:55:59 +0100 Subject: preferences: sort pages only once After each addition of a page in the constructor, the list was resorted. This appears pointless. Instead, sort the list only after all pages were added. Since the add-page function is now a single line, remove it. Signed-off-by: Berthold Stoeger --- desktop-widgets/preferences/preferencesdialog.cpp | 41 ++++++++++------------- desktop-widgets/preferences/preferencesdialog.h | 1 - 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/desktop-widgets/preferences/preferencesdialog.cpp b/desktop-widgets/preferences/preferencesdialog.cpp index ca5e606cd..1b4119e81 100644 --- a/desktop-widgets/preferences/preferencesdialog.cpp +++ b/desktop-widgets/preferences/preferencesdialog.cpp @@ -32,6 +32,11 @@ PreferencesDialog *PreferencesDialog::instance() return self; } +static bool abstractpreferenceswidget_lessthan(const AbstractPreferencesWidget *p1, const AbstractPreferencesWidget *p2) +{ + return p1->positionHeight() < p2->positionHeight(); +} + PreferencesDialog::PreferencesDialog() { //FIXME: This looks wrong. @@ -61,18 +66,19 @@ PreferencesDialog::PreferencesDialog() setLayout(v); - addPreferencePage(new PreferencesLanguage()); - addPreferencePage(new PreferencesGeoreference()); - addPreferencePage(new PreferencesDefaults()); - addPreferencePage(new PreferencesUnits()); - addPreferencePage(new PreferencesGraph()); - addPreferencePage(new PreferencesNetwork()); - addPreferencePage(new PreferencesCloud()); - addPreferencePage(new PreferencesEquipment()); - addPreferencePage(new PreferencesMedia()); - addPreferencePage(new PreferencesDc()); - addPreferencePage(new PreferencesLog()); - addPreferencePage(new PreferencesReset()); + pages.push_back(new PreferencesLanguage); + pages.push_back(new PreferencesGeoreference); + pages.push_back(new PreferencesDefaults); + pages.push_back(new PreferencesUnits); + pages.push_back(new PreferencesGraph); + pages.push_back(new PreferencesNetwork); + pages.push_back(new PreferencesCloud); + pages.push_back(new PreferencesEquipment); + pages.push_back(new PreferencesMedia); + pages.push_back(new PreferencesDc); + pages.push_back(new PreferencesLog); + pages.push_back(new PreferencesReset); + std::sort(pages.begin(), pages.end(), abstractpreferenceswidget_lessthan); refreshPages(); @@ -98,17 +104,6 @@ void PreferencesDialog::buttonClicked(QAbstractButton* btn) } } -bool abstractpreferenceswidget_lessthan(AbstractPreferencesWidget *p1, AbstractPreferencesWidget *p2) -{ - return p1->positionHeight() < p2->positionHeight(); -} - -void PreferencesDialog::addPreferencePage(AbstractPreferencesWidget *page) -{ - pages.push_back(page); - std::sort(pages.begin(), pages.end(), abstractpreferenceswidget_lessthan); -} - void PreferencesDialog::refreshPages() { // Remove things diff --git a/desktop-widgets/preferences/preferencesdialog.h b/desktop-widgets/preferences/preferencesdialog.h index 8abf812e9..d05487b98 100644 --- a/desktop-widgets/preferences/preferencesdialog.h +++ b/desktop-widgets/preferences/preferencesdialog.h @@ -16,7 +16,6 @@ class PreferencesDialog : public QDialog { public: static PreferencesDialog* instance(); ~PreferencesDialog(); - void addPreferencePage(AbstractPreferencesWidget *page); void refreshPages(); void defaultsRequested(); private: -- cgit v1.2.3-70-g09d2