diff options
Diffstat (limited to 'subsurface-mobile-main.cpp')
| -rw-r--r-- | subsurface-mobile-main.cpp | 15 |
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(); |