We didn't care about system default fonts and sizes, we just used the Qt
default font.

Due to how QFont is constructed, there was need to split font and font
size.

Signed-off-by: Anton Lundin <gla...@acc.umu.se>
---
 linux.c              | 3 ++-
 macos.c              | 3 ++-
 pref.h               | 1 +
 qt-ui/mainwindow.cpp | 5 +++--
 subsurfacestartup.c  | 1 +
 windows.c            | 3 ++-
 6 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/linux.c b/linux.c
index 346af09..6bfb381 100644
--- a/linux.c
+++ b/linux.c
@@ -9,7 +9,8 @@
 #include <stdio.h>
 #include <fcntl.h>
 
-const char system_divelist_default_font[] = "Sans 8";
+const char system_divelist_default_font[] = "Sans";
+const int system_divelist_default_font_size = 8;
 
 const char *system_default_filename(void)
 {
diff --git a/macos.c b/macos.c
index 58619d7..01c3fbf 100644
--- a/macos.c
+++ b/macos.c
@@ -25,7 +25,8 @@
 #define ICON_NAME "Subsurface.icns"
 #define UI_FONT "Arial 12"
 
-const char system_divelist_default_font[] = "Arial 10";
+const char system_divelist_default_font[] = "Arial";
+const int system_divelist_default_font_size = 10;
 
 const char *system_default_filename(void)
 {
diff --git a/pref.h b/pref.h
index a5d90a9..3955b88 100644
--- a/pref.h
+++ b/pref.h
@@ -64,6 +64,7 @@ extern void subsurface_flush_conf(void);
 extern void subsurface_close_conf(void);
 
 extern const char system_divelist_default_font[];
+extern const int system_divelist_default_font_size;
 extern const char *system_default_filename();
 
 extern void load_preferences(void);
diff --git a/qt-ui/mainwindow.cpp b/qt-ui/mainwindow.cpp
index 8fd51a5..e77fa6b 100644
--- a/qt-ui/mainwindow.cpp
+++ b/qt-ui/mainwindow.cpp
@@ -645,8 +645,9 @@ void MainWindow::readSettings()
 {
        QSettings s;
        s.beginGroup("Display");
-       QFont defaultFont = s.value("divelist_font", 
qApp->font()).value<QFont>();
-       defaultFont.setPointSizeF(s.value("font_size", 
qApp->font().pointSizeF()).toFloat());
+       QFont defaultFont = QFont(default_prefs.divelist_font);
+       defaultFont = s.value("divelist_font", defaultFont).value<QFont>();
+       defaultFont.setPointSizeF(s.value("font_size", 
default_prefs.font_size).toFloat());
        qApp->setFont(defaultFont);
        s.endGroup();
 
diff --git a/subsurfacestartup.c b/subsurfacestartup.c
index 3f410af..6d3714b 100644
--- a/subsurfacestartup.c
+++ b/subsurfacestartup.c
@@ -170,6 +170,7 @@ void setup_system_prefs(void)
        const char *env;
 
        default_prefs.divelist_font = strdup(system_divelist_default_font);
+       default_prefs.font_size = system_divelist_default_font_size;
        default_prefs.default_filename = system_default_filename();
 
        env = getenv("LC_MEASUREMENT");
diff --git a/windows.c b/windows.c
index 7e3c507..c76a730 100644
--- a/windows.c
+++ b/windows.c
@@ -10,7 +10,8 @@
 #include <dirent.h>
 #include <zip.h>
 
-const char system_divelist_default_font[] = "Sans 8";
+const char system_divelist_default_font[] = "Sans";
+const int system_divelist_default_font_size = 8;
 
 const char *system_default_filename(void)
 {
-- 
1.8.3.2

_______________________________________________
subsurface mailing list
subsurface@hohndel.org
http://lists.hohndel.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to