changeset 34:87f098892804

Make the UI scale with undocumented hotkeys.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 03 Apr 2017 18:04:11 +0300
parents 5b15c0ca5560
children c4411eb2c935
files main.cpp main.h
diffstat 2 files changed, 33 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/main.cpp	Mon Apr 03 17:31:35 2017 +0300
+++ b/main.cpp	Mon Apr 03 18:04:11 2017 +0300
@@ -10,6 +10,8 @@
 #include "ui_mainwindow.h"
 #include "ui_editperson.h"
 
+double setScale;
+
 
 int errorMsg(QString title, QString msg)
 {
@@ -112,6 +114,11 @@
 
 void setCommonStyleSheet(QWidget *widget)
 {
+    if (setScale < 0.5f)
+        setScale = 0.5f;
+    if (setScale > 3.0f)
+        setScale = 3.0f;
+
     widget->setStyleSheet(
         QStringLiteral(
         "* { font-size: %1pt; }"
@@ -124,11 +131,11 @@
         "#label_EUR { font-size: %4pt; font-weight: bold; }"
         "#edit_Amount { font-size: %4pt; margin: 0.5em; padding: 0.5em; }"
         ).
-        arg(14).
-        arg(16).
-        arg(20).
-        arg(16).
-        arg(22)
+        arg(14 * setScale).
+        arg(16 * setScale).
+        arg(20 * setScale).
+        arg(16 * setScale).
+        arg(22 * setScale)
         );
 }
 
@@ -236,6 +243,8 @@
     // Keyboard shortcuts
     sc_quit = new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close()));
     sc_esc = new QShortcut(QKeySequence(Qt::Key_Escape), this, SLOT(on_button_ClearFilter_clicked()));
+    sc_sc_up = new QShortcut(QKeySequence(QKeySequence::ZoomIn), this, SLOT(changeUIScaleZoomIn()));
+    sc_sc_dn = new QShortcut(QKeySequence(QKeySequence::ZoomOut), this, SLOT(changeUIScaleZoomOut()));
 }
 
 
@@ -260,6 +269,7 @@
     QSettings settings(APP_VENDOR, APP_NAME);
     move(settings.value("pos", QPoint(100, 100)).toPoint());
     resize(settings.value("size", QSize(1000, 600)).toSize());
+    setScale = settings.value("scale", 1.0f).toDouble();
 }
 
 
@@ -268,6 +278,21 @@
     QSettings settings(APP_VENDOR, APP_NAME);
     settings.setValue("pos", pos());
     settings.setValue("size", size());
+    settings.setValue("scale", setScale);
+}
+
+
+void SyntilistaMainWindow::changeUIScaleZoomIn()
+{
+    setScale += 0.1f;
+    setCommonStyleSheet(this);
+}
+
+
+void SyntilistaMainWindow::changeUIScaleZoomOut()
+{
+    setScale -= 0.1f;
+    setCommonStyleSheet(this);
 }
 
 
--- a/main.h	Mon Apr 03 17:31:35 2017 +0300
+++ b/main.h	Mon Apr 03 18:04:11 2017 +0300
@@ -135,6 +135,8 @@
 
     void selectedPersonChanged(const QModelIndex &, const QModelIndex &);
     
+    void changeUIScaleZoomIn();
+    void changeUIScaleZoomOut();
     
     void updateSortOrder(int index, Qt::SortOrder order);
 
@@ -150,7 +152,7 @@
     Qt::SortOrder peopleSortOrder;
     QString peopleFilter;
 
-    QShortcut *sc_quit, *sc_esc;
+    QShortcut *sc_quit, *sc_esc, *sc_sc_up, *sc_sc_dn;
 };