diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | src/gtkutils.c | 17 | ||||
-rw-r--r-- | src/gtkutils.h | 1 | ||||
-rw-r--r-- | src/main.c | 10 |
4 files changed, 30 insertions, 4 deletions
@@ -1,5 +1,11 @@ 2014-11-13 + * src/gtkutils.[ch] + src/main.c: added command line option '--dpi dpinum' + (mainly for debugging). + +2014-11-13 + * src/inputdialog.c src/export.c src/import.c: made more dialogs size DPI-aware. diff --git a/src/gtkutils.c b/src/gtkutils.c index de014305..ec8cd8a2 100644 --- a/src/gtkutils.c +++ b/src/gtkutils.c @@ -144,19 +144,23 @@ gboolean gtkut_font_can_load(const gchar *str) #endif } +static gdouble system_dpi = 0.0; + gdouble gtkut_get_dpi(void) { - gdouble dpi; gdouble dp, di; + if (system_dpi > 0.0) + return system_dpi; + //dpi = gdk_screen_get_resolution(gdk_screen_get_default()); dp = gdk_screen_get_height(gdk_screen_get_default()); di = gdk_screen_get_height_mm(gdk_screen_get_default()) / 25.4; - dpi = dp / di; + system_dpi = dp / di; - debug_print("gtkut_get_dpi: dpi: %f\n", dpi); - return dpi; + debug_print("gtkut_get_dpi: dpi: %f\n", system_dpi); + return system_dpi; } gdouble gtkut_get_dpi_multiplier(void) @@ -177,6 +181,11 @@ gdouble gtkut_get_dpi_multiplier(void) return mul; } +void gtkut_set_dpi(gdouble dpi) +{ + system_dpi = dpi; +} + void gtkut_convert_int_to_gdk_color(gint rgbvalue, GdkColor *color) { g_return_if_fail(color != NULL); diff --git a/src/gtkutils.h b/src/gtkutils.h index 3d51132d..1872e672 100644 --- a/src/gtkutils.h +++ b/src/gtkutils.h @@ -98,6 +98,7 @@ gboolean gtkut_font_can_load (const gchar *str); gdouble gtkut_get_dpi (void); gdouble gtkut_get_dpi_multiplier (void); +void gtkut_set_dpi (gdouble dpi); void gtkut_convert_int_to_gdk_color (gint rgbvalue, GdkColor *color); @@ -662,6 +662,15 @@ static void parse_cmd_opt(int argc, char *argv[]) } } else if (!strncmp(argv[i], "--safe-mode", 11)) { cmd.safe_mode = TRUE; + } else if (!strncmp(argv[i], "--dpi", 5)) { + if (argv[i + 1]) { + gdouble dpi; + + dpi = strtod(argv[i + 1], NULL); + if (dpi > 0.0) + gtkut_set_dpi(dpi); + i++; + } } else if (!strncmp(argv[i], "--exit", 6)) { cmd.exit = TRUE; } else if (!strncmp(argv[i], "--help", 6)) { @@ -686,6 +695,7 @@ static void parse_cmd_opt(int argc, char *argv[]) #ifdef G_OS_WIN32 g_print("%s\n", _(" --ipcport portnum specify port for IPC remote commands")); #endif + g_print("%s\n", _(" --dpi dpinum force DPI")); g_print("%s\n", _(" --exit exit Sylpheed")); g_print("%s\n", _(" --debug debug mode")); g_print("%s\n", _(" --safe-mode safe mode")); |