mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +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
		Add a link
		
	
		Reference in a new issue