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:
Tomaz Canabrava 2015-09-17 14:04:27 -03:00 committed by Dirk Hohndel
parent 225ac07005
commit b35ccc3a35
4 changed files with 59 additions and 0 deletions

View 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