From f0b6b6693720aef9281c840b84deff9a1a6e1aa2 Mon Sep 17 00:00:00 2001 From: Pablo Barciela Date: Thu, 28 Sep 2017 09:10:07 +0200 Subject: [ctrl] + [+] / [ctrl] + [-] to increase/decrease font size Closes https://github.com/mate-desktop/pluma/issues/224 --- pluma/pluma-window.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'pluma') diff --git a/pluma/pluma-window.c b/pluma/pluma-window.c index 5e9f8d94..a247d0e5 100644 --- a/pluma/pluma-window.c +++ b/pluma/pluma-window.c @@ -309,6 +309,45 @@ pluma_window_key_press_event (GtkWidget *widget, GtkWindow *window = GTK_WINDOW (widget); gboolean handled = FALSE; + if (event->state & GDK_CONTROL_MASK) + { + GSettings *settings; + gchar *font; + gchar *tempsize; + gint nsize; + + settings = g_settings_new ("org.mate.pluma"); + font = g_settings_get_string (settings, "editor-font"); + tempsize = g_strdup (font); + + g_strreverse (tempsize); + g_strcanon (tempsize, "1234567890", '\0'); + g_strreverse (tempsize); + + gchar tempfont [strlen (font)]; + strcpy (tempfont, font); + tempfont [strlen (font) - strlen (tempsize)] = 0; + + sscanf (tempsize, "%d", &nsize); + + if (event->keyval == GDK_KEY_plus) + { + nsize = nsize + 1; + sprintf (tempsize, "%d", nsize); + + if (!g_settings_get_boolean (settings, "use-default-font") && (nsize < 73)) + g_settings_set_string (settings, "editor-font", g_strconcat (tempfont, tempsize, NULL)); + } + else if (event->keyval == GDK_KEY_minus) + { + nsize = nsize - 1; + sprintf (tempsize, "%d", nsize); + + if (!g_settings_get_boolean (settings, "use-default-font") && (nsize > 5)) + g_settings_set_string (settings, "editor-font", g_strconcat (tempfont, tempsize, NULL)); + } + } + if (grand_parent_class == NULL) grand_parent_class = g_type_class_peek_parent (pluma_window_parent_class); -- cgit v1.2.1