From ce5c637a6da9baa795e2c3f7a306608b7cdbabcb Mon Sep 17 00:00:00 2001 From: Robin Stuart Date: Sat, 14 Jan 2017 16:34:03 +0000 Subject: [PATCH] Remember settings between sessions Relates to #40 --- frontend_qt/mainwindow.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/frontend_qt/mainwindow.cpp b/frontend_qt/mainwindow.cpp index e18ec750..ddd31f53 100644 --- a/frontend_qt/mainwindow.cpp +++ b/frontend_qt/mainwindow.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "mainwindow.h" #include "datawindow.h" @@ -32,6 +33,12 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl) : QWidget(parent, fl),m_optionWidget(0) { + + QCoreApplication::setOrganizationName("Zint"); + QCoreApplication::setOrganizationDomain("zint.org.uk"); + QCoreApplication::setApplicationName("Barcode Studio"); + + QSettings settings; char bstyle_text[][50] = { "Australia Post Redirect Code", @@ -108,13 +115,17 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl) setupUi(this); view->setScene(scene); - m_fgcolor=qRgb(0,0,0); - m_bgcolor=qRgb(0xff,0xff,0xff); + m_fgcolor=qRgb(settings.value("studio/ink/red", 0).toInt(), + settings.value("studio/ink/green", 0).toInt(), + settings.value("studio/ink/blue", 0).toInt()); + m_bgcolor=qRgb(settings.value("studio/paper/red", 0xff).toInt(), + settings.value("studio/paper/green", 0xff).toInt(), + settings.value("studio/paper/blue", 0xff).toInt()); for (int i=0;ienumerator(0).keyCount();i++) { bstyle->addItem(metaObject()->enumerator(0).key(i)); bstyle->setItemText(i,bstyle_text[i]); } - bstyle->setCurrentIndex(10); + bstyle->setCurrentIndex(settings.value("studio/symbology", 10).toInt()); change_options(); scene->addItem(&m_bc); update_preview(); @@ -141,6 +152,15 @@ MainWindow::MainWindow(QWidget* parent, Qt::WindowFlags fl) MainWindow::~MainWindow() { + QSettings settings; + + settings.setValue("studio/symbology", bstyle->currentIndex()); + settings.setValue("studio/ink/red", m_fgcolor.red()); + settings.setValue("studio/ink/green", m_fgcolor.green()); + settings.setValue("studio/ink/blue", m_fgcolor.blue()); + settings.setValue("studio/paper/red", m_bgcolor.red()); + settings.setValue("studio/paper/green", m_bgcolor.green()); + settings.setValue("studio/paper/blue", m_bgcolor.blue()); } void MainWindow::resizeEvent(QResizeEvent* event)