aboutsummaryrefslogtreecommitdiffstats
path: root/desktop-widgets/preferences
diff options
context:
space:
mode:
Diffstat (limited to 'desktop-widgets/preferences')
-rw-r--r--desktop-widgets/preferences/CMakeLists.txt9
-rw-r--r--desktop-widgets/preferences/abstractpreferenceswidget.cpp21
-rw-r--r--desktop-widgets/preferences/abstractpreferenceswidget.h27
3 files changed, 57 insertions, 0 deletions
diff --git a/desktop-widgets/preferences/CMakeLists.txt b/desktop-widgets/preferences/CMakeLists.txt
new file mode 100644
index 000000000..953c587b1
--- /dev/null
+++ b/desktop-widgets/preferences/CMakeLists.txt
@@ -0,0 +1,9 @@
+# the profile widget
+set(SUBSURFACE_PREFERENCES_LIB_SRCS
+ abstractpreferenceswidget.cpp
+)
+
+source_group("Subsurface Preferences" FILES ${SUBSURFACE_PREFERENCES_LIB_SRCS})
+
+add_library(subsurface_desktop_preferences STATIC ${SUBSURFACE_PREFERENCES_LIB_SRCS})
+target_link_libraries(subsurface_desktop_preferences ${QT_LIBRARIES}) \ No newline at end of file
diff --git a/desktop-widgets/preferences/abstractpreferenceswidget.cpp b/desktop-widgets/preferences/abstractpreferenceswidget.cpp
new file mode 100644
index 000000000..9334c74ed
--- /dev/null
+++ b/desktop-widgets/preferences/abstractpreferenceswidget.cpp
@@ -0,0 +1,21 @@
+#include "abstractpreferenceswidget.h"
+
+AbstractPreferencesWidget::AbstractPreferencesWidget(const QString& name, const QIcon& icon, float positionHeight)
+: QWidget(), _name(name), _icon(icon), _positionHeight(positionHeight)
+{
+}
+
+QIcon AbstractPreferencesWidget::icon() const
+{
+ return _icon;
+}
+
+QString AbstractPreferencesWidget::name() const
+{
+ return _name;
+}
+
+float AbstractPreferencesWidget::positionHeight() const
+{
+ return _positionHeight;
+}
diff --git a/desktop-widgets/preferences/abstractpreferenceswidget.h b/desktop-widgets/preferences/abstractpreferenceswidget.h
new file mode 100644
index 000000000..2f607c4c9
--- /dev/null
+++ b/desktop-widgets/preferences/abstractpreferenceswidget.h
@@ -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 \ No newline at end of file