Fix system default font handling

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 <glance@acc.umu.se>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
Anton Lundin 2014-03-21 18:56:10 +01:00 committed by Dirk Hohndel
parent 41209005c9
commit 9cfc585563
6 changed files with 11 additions and 5 deletions

View file

@ -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)
{

View file

@ -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)
{

1
pref.h
View file

@ -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);

View file

@ -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();

View file

@ -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");

View file

@ -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)
{