mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
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 <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
parent
2d7be7a0e3
commit
f3a2ee8082
2 changed files with 18 additions and 24 deletions
|
@ -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
|
||||
|
|
|
@ -16,7 +16,6 @@ class PreferencesDialog : public QDialog {
|
|||
public:
|
||||
static PreferencesDialog* instance();
|
||||
~PreferencesDialog();
|
||||
void addPreferencePage(AbstractPreferencesWidget *page);
|
||||
void refreshPages();
|
||||
void defaultsRequested();
|
||||
private:
|
||||
|
|
Loading…
Add table
Reference in a new issue