mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Preferences: start to port preferences to a more sane design
Our preferences dialog right now is a rather huge dialog with more than 9 subpages, and all of those pages are programmed inside of the same class, same methods and all that - which means that if I change something on the dialog I can break any other thing quite easily. The idea of this patch series is to make it harder to break user settings and the settings dialog. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
225ac07005
commit
b35ccc3a35
4 changed files with 59 additions and 0 deletions
27
desktop-widgets/preferences/abstractpreferenceswidget.h
Normal file
27
desktop-widgets/preferences/abstractpreferenceswidget.h
Normal file
|
@ -0,0 +1,27 @@
|
|||
#ifndef ABSTRACTPREFERENCESWIDGET_H
|
||||
#define ABSTRACTPREFERENCESWIDGET_H
|
||||
|
||||
#include <QIcon>
|
||||
#include <QWidget>
|
||||
|
||||
class AbstractPreferencesWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
AbstractPreferencesWidget(const QString& name, const QIcon& icon, float positionHeight);
|
||||
QIcon icon() const;
|
||||
QString name() const;
|
||||
float positionHeight() const;
|
||||
|
||||
/* gets the values from the preferences and should set the correct values in
|
||||
* the interface */
|
||||
virtual void refreshSettings() = 0;
|
||||
|
||||
/* gets the values from the interface and set in the preferences object. */
|
||||
virtual void syncSettings() = 0;
|
||||
|
||||
private:
|
||||
QIcon _icon;
|
||||
QString _name;
|
||||
float _positionHeight;
|
||||
};
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue