# HG changeset patch # User Matti Hamalainen # Date 1503513034 -10800 # Node ID 45e17cdde93afb52ee665900d4ba9cd031631474 # Parent 478ce4c94f6bc0c29cb330d4134993643f8ec106 Move application global settings to a struct. diff -r 478ce4c94f6b -r 45e17cdde93a src/main.cpp --- a/src/main.cpp Wed Aug 23 17:18:24 2017 +0300 +++ b/src/main.cpp Wed Aug 23 21:30:34 2017 +0300 @@ -19,8 +19,15 @@ #include "ui_aboutwindow.h" -double setScale; // Global UI scale factor -QString appDataPath; // Application data path/directory +// +// Application settings struct +// +struct +{ + double uiScale; // Global UI scale factor + QString dataPath; // Application data path/directory +} settings; + // @@ -78,7 +85,7 @@ // void slLog(const QString &mtype, const QString &msg) { - QString filename = appDataPath + QDir::separator() + APP_LOG_FILE; + QString filename = settings.dataPath + QDir::separator() + APP_LOG_FILE; QFile fh(filename); if (fh.open(QIODevice::WriteOnly | QIODevice::Append | QIODevice::Text)) { @@ -192,11 +199,11 @@ void slSetCommonStyleSheet(QWidget *widget) { // Clamp scale value - if (setScale < 0.5f) - setScale = 0.5f; + if (settings.uiScale < 0.5f) + settings.uiScale = 0.5f; - if (setScale > 3.0f) - setScale = 3.0f; + if (settings.uiScale > 3.0f) + settings.uiScale = 3.0f; // Set the stylesheet widget->setStyleSheet( @@ -216,11 +223,11 @@ "#label_EUR { font-size: %4pt; font-weight: bold; }" "#edit_Amount { font-size: %4pt; margin: 0.5em; padding: 0.5em; }" ). - arg(12 * setScale). - arg(14 * setScale). - arg(16 * setScale). - arg(18 * setScale). - arg(20 * setScale) + arg(12 * settings.uiScale). + arg(14 * settings.uiScale). + arg(16 * settings.uiScale). + arg(18 * settings.uiScale). + arg(20 * settings.uiScale) ); } @@ -232,16 +239,16 @@ // // Create logfile and data directory // - appDataPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); - QDir path(appDataPath); - if (!path.exists(appDataPath)) - path.mkpath(appDataPath); + settings.dataPath = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + QDir path(settings.dataPath); + if (!path.exists(settings.dataPath)) + path.mkpath(settings.dataPath); // // Initialize / open SQL database connection // QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); - db.setDatabaseName(appDataPath + QDir::separator() + APP_SQLITE_FILE); + db.setDatabaseName(settings.dataPath + QDir::separator() + APP_SQLITE_FILE); if (!db.open()) { @@ -418,25 +425,25 @@ // void SyntilistaMainWindow::readSettings() { - QSettings settings(APP_VENDOR, APP_ID); + QSettings tmpst(APP_VENDOR, APP_ID); // Restore window size and position - move(settings.value("pos", QPoint(100, 100)).toPoint()); - resize(settings.value("size", QSize(1000, 600)).toSize()); + move(tmpst.value("pos", QPoint(100, 100)).toPoint()); + resize(tmpst.value("size", QSize(1000, 600)).toSize()); // Other settings - setScale = settings.value("scale", 1.0f).toDouble(); + settings.uiScale = tmpst.value("scale", 1.0f).toDouble(); } void SyntilistaMainWindow::saveSettings() { - QSettings settings(APP_VENDOR, APP_ID); + QSettings tmpst(APP_VENDOR, APP_ID); // Save window size and position - settings.setValue("pos", pos()); - settings.setValue("size", size()); - settings.setValue("scale", setScale); + tmpst.setValue("pos", pos()); + tmpst.setValue("size", size()); + tmpst.setValue("scale", settings.uiScale); } @@ -445,21 +452,21 @@ // void SyntilistaMainWindow::changeUIZoomIn() { - setScale += 0.1f; + settings.uiScale += 0.1f; slSetCommonStyleSheet(this); } void SyntilistaMainWindow::changeUIZoomOut() { - setScale -= 0.1f; + settings.uiScale -= 0.1f; slSetCommonStyleSheet(this); } void SyntilistaMainWindow::changeUIZoomReset() { - setScale = 1.0f; + settings.uiScale = 1.0f; slSetCommonStyleSheet(this); }