aboutsummaryrefslogtreecommitdiff
path: root/symedit.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'symedit.cpp')
-rw-r--r--symedit.cpp89
1 files changed, 72 insertions, 17 deletions
diff --git a/symedit.cpp b/symedit.cpp
index f077370..bdede00 100644
--- a/symedit.cpp
+++ b/symedit.cpp
@@ -1,48 +1,103 @@
#include <QGuiApplication>
+#include <QSettings>
#include "symedit.h"
+//
+// settings functions
+//
+//! Constructor.
+SymEditSettings::SymEditSettings() : Fill(false), Align(9), Snap(5), Tool(1)
+{
+
+}
+
+//
+// manager functions
+//
//! Constructor.
/*!
- \param parent //!< Optional parent.
+ \param parent Optional parent.
*/
-SymEdit::SymEdit(QObject* parent) : QObject(parent)
+SymEditManager::SymEditManager(QObject* parent) : QObject(parent)
{
- clipboard = QGuiApplication::clipboard();
+ LoadSettings();
}
//
-void SymEdit::setFill(bool fill)
+void SymEditManager::setPosition(QPoint point)
{
- //##
+ Settings.Position = point;
}
//
-bool SymEdit::getFill() const
+void SymEditManager::setSize(QSize size)
{
- return true; //##
+ Settings.Size = size;
}
//
-void SymEdit::setSnap(int snap)
+QPoint SymEditManager::getPosition() const
{
- //##
+ return Settings.Position;
}
//
-int SymEdit::getSnap() const
+QSize SymEditManager::getSize() const
{
- return 5; //##
+ return Settings.Size;
}
-//
-void SymEdit::setAlign(int align)
+//@{
+//! Set setting value.
+/*!
+ \param value Setting value.
+*/
+void SymEditManager::setFill(bool value) { Settings.Fill = value; }
+void SymEditManager::setAlign(int value) { Settings.Align = value; }
+void SymEditManager::setSnap(int value) { Settings.Snap = value; }
+void SymEditManager::setTool(int value) { Settings.Tool = value; }
+//@}
+
+//@{
+//! Get setting value.
+/*!
+ \return Setting value.
+*/
+bool SymEditManager::getFill() const { return Settings.Fill; }
+int SymEditManager::getAlign() const { return Settings.Align; }
+int SymEditManager::getSnap() const { return Settings.Snap; }
+int SymEditManager::getTool() const { return Settings.Tool; }
+//@}
+
+//! Load settings.
+void SymEditManager::LoadSettings()
{
- //##
+ QSettings settings;
+
+ Settings.Position.setX(settings.value("window/x", 100).toInt());
+ Settings.Position.setY(settings.value("window/y", 100).toInt());
+ Settings.Size.setWidth(settings.value("window/width", 500).toInt());
+ Settings.Size.setHeight(settings.value("window/height", 500).toInt());
+
+ Settings.Fill = settings.value("editor/fill", false).toBool();
+ Settings.Align = settings.value("editor/align", 9).toInt();
+ Settings.Snap = settings.value("editor/snap", 5).toInt();
+ Settings.Tool = settings.value("editor/tool", 1).toInt();
}
-//
-int SymEdit::getAlign() const
+//! Save settings.
+void SymEditManager::SaveSettings()
{
- return 9; //##
+ QSettings settings;
+
+ settings.setValue("window/x", Settings.Position.x());
+ settings.setValue("window/y", Settings.Position.y());
+ settings.setValue("window/width", Settings.Size.width());
+ settings.setValue("window/height", Settings.Size.height());
+
+ settings.setValue("editor/fill", Settings.Fill);
+ settings.setValue("editor/align", Settings.Align);
+ settings.setValue("editor/snap", Settings.Snap);
+ settings.setValue("editor/tool", Settings.Tool);
}