[tepl] WindowActionsFile: move tepl-new-file GAction



commit aac642b4d72e60d539f76925a0dbcbecc5c42983
Author: Sébastien Wilmet <swilmet gnome org>
Date:   Sun May 3 17:54:37 2020 +0200

    WindowActionsFile: move tepl-new-file GAction

 tepl/tepl-application-window.c  | 20 +++-----------------
 tepl/tepl-window-actions-file.c | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 17 deletions(-)
---
diff --git a/tepl/tepl-application-window.c b/tepl/tepl-application-window.c
index e4f53f9..7df4152 100644
--- a/tepl/tepl-application-window.c
+++ b/tepl/tepl-application-window.c
@@ -27,6 +27,7 @@
 #include "tepl-signal-group.h"
 #include "tepl-tab.h"
 #include "tepl-view.h"
+#include "tepl-window-actions-file.h"
 
 /**
  * SECTION:application-window
@@ -127,22 +128,6 @@ G_DEFINE_TYPE_WITH_CODE (TeplApplicationWindow,
                         G_IMPLEMENT_INTERFACE (TEPL_TYPE_TAB_GROUP,
                                                tepl_tab_group_interface_init))
 
-static void
-new_file_cb (GSimpleAction *action,
-            GVariant      *parameter,
-            gpointer       user_data)
-{
-       TeplApplicationWindow *tepl_window = TEPL_APPLICATION_WINDOW (user_data);
-       TeplAbstractFactory *factory;
-       TeplTab *new_tab;
-
-       factory = tepl_abstract_factory_get_singleton ();
-       new_tab = tepl_abstract_factory_create_tab (factory);
-       gtk_widget_show (GTK_WIDGET (new_tab));
-
-       tepl_tab_group_append_tab (TEPL_TAB_GROUP (tepl_window), new_tab, TRUE);
-}
-
 static void
 open_file_chooser_response_cb (GtkFileChooserDialog  *file_chooser_dialog,
                               gint                   response_id,
@@ -734,7 +719,6 @@ add_actions (TeplApplicationWindow *tepl_window)
         */
        const GActionEntry entries[] = {
                /* File menu */
-               { "tepl-new-file", new_file_cb },
                { "tepl-open", open_cb },
                { "tepl-save", save_cb },
                { "tepl-save-as", save_as_cb },
@@ -759,6 +743,8 @@ add_actions (TeplApplicationWindow *tepl_window)
                                                       G_N_ELEMENTS (entries),
                                                       tepl_window);
 
+       _tepl_window_actions_file_add_actions (tepl_window);
+
        update_actions_sensitivity (tepl_window);
 }
 
diff --git a/tepl/tepl-window-actions-file.c b/tepl/tepl-window-actions-file.c
index 63d2098..3c8c864 100644
--- a/tepl/tepl-window-actions-file.c
+++ b/tepl/tepl-window-actions-file.c
@@ -18,9 +18,41 @@
  */
 
 #include "tepl-window-actions-file.h"
+#include <amtk/amtk.h>
+#include "tepl-abstract-factory.h"
+#include "tepl-tab-group.h"
+
+static void
+new_file_cb (GSimpleAction *action,
+            GVariant      *parameter,
+            gpointer       user_data)
+{
+       TeplApplicationWindow *tepl_window = TEPL_APPLICATION_WINDOW (user_data);
+       TeplAbstractFactory *factory;
+       TeplTab *new_tab;
+
+       factory = tepl_abstract_factory_get_singleton ();
+       new_tab = tepl_abstract_factory_create_tab (factory);
+       gtk_widget_show (GTK_WIDGET (new_tab));
+
+       tepl_tab_group_append_tab (TEPL_TAB_GROUP (tepl_window), new_tab, TRUE);
+}
 
 void
 _tepl_window_actions_file_add_actions (TeplApplicationWindow *tepl_window)
 {
+       GtkApplicationWindow *gtk_window;
+
+       const GActionEntry entries[] = {
+               { "tepl-new-file", new_file_cb },
+       };
+
        g_return_if_fail (TEPL_IS_APPLICATION_WINDOW (tepl_window));
+
+       gtk_window = tepl_application_window_get_application_window (tepl_window);
+
+       amtk_action_map_add_action_entries_check_dups (G_ACTION_MAP (gtk_window),
+                                                      entries,
+                                                      G_N_ELEMENTS (entries),
+                                                      tepl_window);
 }


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