[gnome-builder] plugins/web-browser: use action group more fluently



commit 7b984d09fe37aa9d4d0ed309ab826d297d5f303d
Author: Christian Hergert <chergert redhat com>
Date:   Fri Jul 29 16:32:00 2022 -0700

    plugins/web-browser: use action group more fluently
    
    We don't need to insert any action groups now, that is done for us.
    Additionally take this moment to clean up our action names to be a bit
    cleaner.

 .../web-browser/gbp-web-browser-workspace-addin.c  | 60 +++++++---------------
 src/plugins/web-browser/gtk/keybindings.json       |  8 +--
 src/plugins/web-browser/gtk/menus.ui               |  2 +-
 3 files changed, 23 insertions(+), 47 deletions(-)
---
diff --git a/src/plugins/web-browser/gbp-web-browser-workspace-addin.c 
b/src/plugins/web-browser/gbp-web-browser-workspace-addin.c
index adca17c9a..a492f897d 100644
--- a/src/plugins/web-browser/gbp-web-browser-workspace-addin.c
+++ b/src/plugins/web-browser/gbp-web-browser-workspace-addin.c
@@ -33,7 +33,6 @@ struct _GbpWebBrowserWorkspaceAddin
   IdeWorkspace *workspace;
 };
 
-static void workspace_addin_iface_init       (IdeWorkspaceAddinInterface  *iface);
 static void web_browser_new_page_action      (GbpWebBrowserWorkspaceAddin *self,
                                               GVariant                    *param);
 static void web_browser_focus_address_action (GbpWebBrowserWorkspaceAddin *self,
@@ -42,67 +41,44 @@ static void web_browser_reload_action        (GbpWebBrowserWorkspaceAddin *self,
                                               GVariant                    *param);
 
 IDE_DEFINE_ACTION_GROUP (GbpWebBrowserWorkspaceAddin, gbp_web_browser_workspace_addin, {
-  { "new-page", web_browser_new_page_action },
-  { "focus-address", web_browser_focus_address_action },
-  { "reload", web_browser_reload_action, "b" },
+  { "page.new", web_browser_new_page_action },
+  { "page.location.focus", web_browser_focus_address_action },
+  { "page.reload", web_browser_reload_action, "b" },
 })
 
-G_DEFINE_FINAL_TYPE_WITH_CODE (GbpWebBrowserWorkspaceAddin, gbp_web_browser_workspace_addin, G_TYPE_OBJECT,
-                               G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_GROUP, 
gbp_web_browser_workspace_addin_init_action_group)
-                               G_IMPLEMENT_INTERFACE (IDE_TYPE_WORKSPACE_ADDIN, workspace_addin_iface_init))
-
 static void
-gbp_web_browser_workspace_addin_class_init (GbpWebBrowserWorkspaceAddinClass *klass)
+gbp_web_browser_workspace_addin_load (IdeWorkspaceAddin *addin,
+                                      IdeWorkspace      *workspace)
 {
+  GBP_WEB_BROWSER_WORKSPACE_ADDIN (addin)->workspace = workspace;
 }
 
 static void
-gbp_web_browser_workspace_addin_init (GbpWebBrowserWorkspaceAddin *self)
+gbp_web_browser_workspace_addin_unload (IdeWorkspaceAddin *addin,
+                                        IdeWorkspace      *workspace)
 {
+  GBP_WEB_BROWSER_WORKSPACE_ADDIN (addin)->workspace = NULL;
 }
 
 static void
-gbp_web_browser_workspace_addin_load (IdeWorkspaceAddin *addin,
-                                      IdeWorkspace      *workspace)
+workspace_addin_iface_init (IdeWorkspaceAddinInterface *iface)
 {
-  GbpWebBrowserWorkspaceAddin *self = (GbpWebBrowserWorkspaceAddin *)addin;
-
-  IDE_ENTRY;
-
-  g_assert (GBP_IS_WEB_BROWSER_WORKSPACE_ADDIN (self));
-  g_assert (IDE_IS_WORKSPACE (workspace));
-
-  self->workspace = workspace;
-
-  gtk_widget_insert_action_group (GTK_WIDGET (workspace), "web-browser", G_ACTION_GROUP (self));
-
-  IDE_EXIT;
+  iface->load = gbp_web_browser_workspace_addin_load;
+  iface->unload = gbp_web_browser_workspace_addin_unload;
 }
 
+G_DEFINE_FINAL_TYPE_WITH_CODE (GbpWebBrowserWorkspaceAddin, gbp_web_browser_workspace_addin, G_TYPE_OBJECT,
+                               G_IMPLEMENT_INTERFACE (G_TYPE_ACTION_GROUP, 
gbp_web_browser_workspace_addin_init_action_group)
+                               G_IMPLEMENT_INTERFACE (IDE_TYPE_WORKSPACE_ADDIN, workspace_addin_iface_init))
+
 static void
-gbp_web_browser_workspace_addin_unload (IdeWorkspaceAddin *addin,
-                                        IdeWorkspace      *workspace)
+gbp_web_browser_workspace_addin_class_init (GbpWebBrowserWorkspaceAddinClass *klass)
 {
-  GbpWebBrowserWorkspaceAddin *self = (GbpWebBrowserWorkspaceAddin *)addin;
-
-  IDE_ENTRY;
-
-  g_assert (GBP_IS_WEB_BROWSER_WORKSPACE_ADDIN (self));
-  g_assert (IDE_IS_WORKSPACE (workspace));
-
-  gtk_widget_insert_action_group (GTK_WIDGET (workspace), "web-browser", NULL);
-
-  self->workspace = NULL;
-
-  IDE_EXIT;
 }
 
-
 static void
-workspace_addin_iface_init (IdeWorkspaceAddinInterface *iface)
+gbp_web_browser_workspace_addin_init (GbpWebBrowserWorkspaceAddin *self)
 {
-  iface->load = gbp_web_browser_workspace_addin_load;
-  iface->unload = gbp_web_browser_workspace_addin_unload;
 }
 
 static void
diff --git a/src/plugins/web-browser/gtk/keybindings.json b/src/plugins/web-browser/gtk/keybindings.json
index 51cc2a09c..c3b17a5b5 100644
--- a/src/plugins/web-browser/gtk/keybindings.json
+++ b/src/plugins/web-browser/gtk/keybindings.json
@@ -1,4 +1,4 @@
-{ "trigger" : "<Control><Shift>b", "action" : "web-browser.new-page", "when" : "canEdit()", "phase" : 
"capture" },
-{ "trigger" : "<Control><Shift>r", "action" : "web-browser.reload", "args" : "true", "when" : "(page != 
null) && typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
-{ "trigger" : "<Control>r", "action" : "web-browser.reload", "args" : "false", "when" : "(page != null) && 
typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
-{ "trigger" : "<Control>l", "action" : "web-browser.focus-address", "when" : "(page != null) && 
typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
+{ "trigger" : "<Control><Shift>b", "action" : "workspace.web-browser.page.new", "when" : "canEdit()", 
"phase" : "capture" },
+{ "trigger" : "<Control><Shift>r", "action" : "workspace.web-browser.page.reload", "args" : "true", "when" : 
"(page != null) && typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
+{ "trigger" : "<Control>r", "action" : "workspace.web-browser.page.reload", "args" : "false", "when" : 
"(page != null) && typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
+{ "trigger" : "<Control>l", "action" : "workspace.web-browser.page.location.focus", "when" : "(page != null) 
&& typeof(page).is_a(typeof(Ide.WebkitPage))", "phase" : "capture" },
diff --git a/src/plugins/web-browser/gtk/menus.ui b/src/plugins/web-browser/gtk/menus.ui
index 5058a16f4..f76de3943 100644
--- a/src/plugins/web-browser/gtk/menus.ui
+++ b/src/plugins/web-browser/gtk/menus.ui
@@ -4,7 +4,7 @@
     <section id="new-browser-section">
       <item>
         <attribute name="label" translatable="yes">New _Browser Page</attribute>
-        <attribute name="action">web-browser.new-page</attribute>
+        <attribute name="action">workspace.web-browser.page.new</attribute>
         <attribute name="accel">&lt;ctrl&gt;&lt;shift&gt;b</attribute>
       </item>
     </section>


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