aboutsummaryrefslogtreecommitdiffstats
path: root/subsurface-mobile-main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'subsurface-mobile-main.cpp')
-rw-r--r--subsurface-mobile-main.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/subsurface-mobile-main.cpp b/subsurface-mobile-main.cpp
index 7ceebcc5f..454996fc7 100644
--- a/subsurface-mobile-main.cpp
+++ b/subsurface-mobile-main.cpp
@@ -19,6 +19,8 @@
#include "core/settings/qPrefCloudStorage.h"
#include <QApplication>
+#include <QFont>
+#include <QFontMetrics>
#include <QLocale>
#include <QLoggingCategory>
#include <QStringList>
@@ -60,6 +62,17 @@ int main(int argc, char **argv)
parse_xml_init();
taglist_init_global();
+
+ // grab the system font size before we overwrite this when we load preferences
+ double initial_font_size = QGuiApplication::font().pointSizeF();
+ if (initial_font_size < 0.0) {
+ // The OS provides a default font in pixels, not points; doing some crude math
+ // to reverse engineer that information by measuring the height of a 10pt font in pixels
+ QFont testFont;
+ testFont.setPointSizeF(10.0);
+ QFontMetrics fm(testFont);
+ initial_font_size = QGuiApplication::font().pixelSize() * 10.0 / fm.height();
+ }
init_ui();
if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE)
set_filename(prefs.default_filename);
@@ -76,7 +89,7 @@ int main(int argc, char **argv)
init_proxy();
if (!quit)
- run_ui();
+ run_mobile_ui(initial_font_size);
exit_ui();
taglist_free(g_tag_list);
parse_xml_exit();