[gedit/tchaik/69-text-size: 2/2] app: Integrate font scaling commands



commit 7a7113975f4a4575d94dbfac0f264cb2e668fff2
Author: Martin Blanchard <tchaik gmx com>
Date:   Thu Oct 17 21:18:53 2019 +0200

    app: Integrate font scaling commands
    
    The three new actions (increase, decrease and reset font size) are
    exposed in the 'View' submenu and are map to respectively '<Primary>+',
    '<Primary>-' and '<Primary>0' accelerators.

 gedit/gedit-app.c                        |  3 ++
 gedit/gedit-commands-private.h           | 12 ++++++-
 gedit/gedit-commands-view.c              | 54 ++++++++++++++++++++++++++++++++
 gedit/gedit-window.c                     | 15 +++++++++
 gedit/resources/gtk/menus-common.ui      | 15 +++++++++
 gedit/resources/gtk/menus-traditional.ui | 12 +++++++
 gedit/resources/gtk/menus.ui             | 12 +++++++
 7 files changed, 122 insertions(+), 1 deletion(-)
---
diff --git a/gedit/gedit-app.c b/gedit/gedit-app.c
index 00c059bb2..be61df8a4 100644
--- a/gedit/gedit-app.c
+++ b/gedit/gedit-app.c
@@ -836,6 +836,9 @@ gedit_app_startup (GApplication *application)
        add_accelerator (GTK_APPLICATION (application), "win.side-panel", "F9");
        add_accelerator (GTK_APPLICATION (application), "win.bottom-panel", "<Primary>F9");
        add_accelerator (GTK_APPLICATION (application), "win.fullscreen", "F11");
+       add_accelerator (GTK_APPLICATION (application), "win.increase-font-size", "<Primary>plus");
+       add_accelerator (GTK_APPLICATION (application), "win.decrease-font-size", "<Primary>minus");
+       add_accelerator (GTK_APPLICATION (application), "win.reset-font-size", "<Primary>0");
        add_accelerator (GTK_APPLICATION (application), "win.new-tab-group", "<Primary><Alt>N");
        add_accelerator (GTK_APPLICATION (application), "win.previous-tab-group", 
"<Primary><Shift><Alt>Page_Up");
        add_accelerator (GTK_APPLICATION (application), "win.next-tab-group", 
"<Primary><Shift><Alt>Page_Down");
diff --git a/gedit/gedit-commands-private.h b/gedit/gedit-commands-private.h
index 0c2f0d7f4..f6bab3697 100644
--- a/gedit/gedit-commands-private.h
+++ b/gedit/gedit-commands-private.h
@@ -114,7 +114,16 @@ void               _gedit_cmd_view_toggle_fullscreen_mode  (GSimpleAction *action,
 void           _gedit_cmd_view_leave_fullscreen_mode   (GSimpleAction *action,
                                                         GVariant      *parameter,
                                                         gpointer       user_data);
-void            _gedit_cmd_view_highlight_mode          (GSimpleAction *action,
+void           _gedit_cmd_view_highlight_mode          (GSimpleAction *action,
+                                                        GVariant      *parameter,
+                                                        gpointer       user_data);
+void           _gedit_cmd_view_increase_font_size      (GSimpleAction *action,
+                                                        GVariant      *parameter,
+                                                        gpointer       user_data);
+void           _gedit_cmd_view_decrease_font_size      (GSimpleAction *action,
+                                                        GVariant      *parameter,
+                                                        gpointer       user_data);
+void           _gedit_cmd_view_reset_font_size         (GSimpleAction *action,
                                                         GVariant      *parameter,
                                                         gpointer       user_data);
 
@@ -169,4 +178,5 @@ void                _gedit_cmd_file_close_notebook          (GeditWindow   *window,
 G_END_DECLS
 
 #endif /* GEDIT_COMMANDS_PRIVATE_H */
+
 /* ex:set ts=8 noet: */
diff --git a/gedit/gedit-commands-view.c b/gedit/gedit-commands-view.c
index 2c88639f5..3635eafcc 100644
--- a/gedit/gedit-commands-view.c
+++ b/gedit/gedit-commands-view.c
@@ -167,4 +167,58 @@ _gedit_cmd_view_highlight_mode (GSimpleAction *action,
        gtk_widget_show (GTK_WIDGET (dlg));
 }
 
+void
+_gedit_cmd_view_increase_font_size (GSimpleAction *action,
+                                    GVariant      *parameter,
+                                    gpointer       user_data)
+{
+       GeditWindow *window = GEDIT_WINDOW (user_data);
+       GeditView *active_view;
+
+       gedit_debug (DEBUG_COMMANDS);
+
+       active_view = gedit_window_get_active_view (window);
+
+       if (active_view)
+       {
+               gedit_view_increase_font_size (active_view);
+       }
+}
+
+void
+_gedit_cmd_view_decrease_font_size (GSimpleAction *action,
+                                    GVariant      *parameter,
+                                    gpointer       user_data)
+{
+       GeditWindow *window = GEDIT_WINDOW (user_data);
+       GeditView *active_view;
+
+       gedit_debug (DEBUG_COMMANDS);
+
+       active_view = gedit_window_get_active_view (window);
+
+       if (active_view)
+       {
+               gedit_view_decrease_font_size (active_view);
+       }
+}
+
+void
+_gedit_cmd_view_reset_font_size (GSimpleAction *action,
+                                 GVariant      *parameter,
+                                 gpointer       user_data)
+{
+       GeditWindow *window = GEDIT_WINDOW (user_data);
+       GeditView *active_view;
+
+       gedit_debug (DEBUG_COMMANDS);
+
+       active_view = gedit_window_get_active_view (window);
+
+       if (active_view)
+       {
+               gedit_view_reset_font_size (active_view);
+       }
+}
+
 /* ex:set ts=8 noet: */
diff --git a/gedit/gedit-window.c b/gedit/gedit-window.c
index 8f25e9526..b18cbcc12 100644
--- a/gedit/gedit-window.c
+++ b/gedit/gedit-window.c
@@ -744,6 +744,18 @@ update_actions_sensitivity (GeditWindow *window)
                                     (state != GEDIT_TAB_STATE_CLOSING) &&
                                     (doc != NULL) && enable_syntax_highlighting);
 
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "increase-font-size");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    (state != GEDIT_TAB_STATE_CLOSING) && (doc != NULL));
+
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "decrease-font-size");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    (state != GEDIT_TAB_STATE_CLOSING) && (doc != NULL));
+
+       action = g_action_map_lookup_action (G_ACTION_MAP (window), "reset-font-size");
+       g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
+                                    (state != GEDIT_TAB_STATE_CLOSING) && (doc != NULL));
+
        action = g_action_map_lookup_action (G_ACTION_MAP (window), "move-to-new-window");
        g_simple_action_set_enabled (G_SIMPLE_ACTION (action),
                                     num_tabs > 1);
@@ -2700,6 +2712,9 @@ static GActionEntry win_entries[] = {
        { "bottom-panel", NULL, NULL, "false", _gedit_cmd_view_toggle_bottom_panel },
        { "fullscreen", NULL, NULL, "false", _gedit_cmd_view_toggle_fullscreen_mode },
        { "leave-fullscreen", _gedit_cmd_view_leave_fullscreen_mode },
+       { "increase-font-size", _gedit_cmd_view_increase_font_size },
+       { "decrease-font-size", _gedit_cmd_view_decrease_font_size },
+       { "reset-font-size", _gedit_cmd_view_reset_font_size },
        { "find", _gedit_cmd_search_find },
        { "find-next", _gedit_cmd_search_find_next },
        { "find-prev", _gedit_cmd_search_find_prev },
diff --git a/gedit/resources/gtk/menus-common.ui b/gedit/resources/gtk/menus-common.ui
index 2a2fec1a1..b8b1f5c28 100644
--- a/gedit/resources/gtk/menus-common.ui
+++ b/gedit/resources/gtk/menus-common.ui
@@ -264,6 +264,21 @@
             <attribute name="action">win.highlight-mode</attribute>
           </item>
         </section>
+        <section>
+          <attribute name="id">view-section-3</attribute>
+          <item>
+            <attribute name="label" translatable="yes">_Increase Font Size</attribute>
+            <attribute name="action">win.increase-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Decrease Font Size</attribute>
+            <attribute name="action">win.decrease-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Reset Font Size</attribute>
+            <attribute name="action">win.reset-font-size</attribute>
+          </item>
+        </section>
       </submenu>
       <submenu>
         <attribute name="label" translatable="yes">_Search</attribute>
diff --git a/gedit/resources/gtk/menus-traditional.ui b/gedit/resources/gtk/menus-traditional.ui
index ceaee99e3..69b0bb597 100644
--- a/gedit/resources/gtk/menus-traditional.ui
+++ b/gedit/resources/gtk/menus-traditional.ui
@@ -80,6 +80,18 @@
         </section>
         <section>
           <attribute name="id">view-section-1</attribute>
+          <item>
+            <attribute name="label" translatable="yes">_Increase Font Size</attribute>
+            <attribute name="action">win.increase-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Decrease Font Size</attribute>
+            <attribute name="action">win.decrease-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Reset Font Size</attribute>
+            <attribute name="action">win.reset-font-size</attribute>
+          </item>
         </section>
         <section>
           <attribute name="id">view-section-2</attribute>
diff --git a/gedit/resources/gtk/menus.ui b/gedit/resources/gtk/menus.ui
index 10b9e9406..744d0a561 100644
--- a/gedit/resources/gtk/menus.ui
+++ b/gedit/resources/gtk/menus.ui
@@ -84,6 +84,18 @@
         </section>
         <section>
           <attribute name="id">view-section-1</attribute>
+          <item>
+            <attribute name="label" translatable="yes">_Increase Font Size</attribute>
+            <attribute name="action">win.increase-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Decrease Font Size</attribute>
+            <attribute name="action">win.decrease-font-size</attribute>
+          </item>
+          <item>
+            <attribute name="label" translatable="yes">_Reset Font Size</attribute>
+            <attribute name="action">win.reset-font-size</attribute>
+          </item>
         </section>
         <section>
           <attribute name="id">view-section-2</attribute>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]