[gnome-builder/wip/gtk4-port: 396/736] plugins/vcsui: port IdeEditorPageAddin




commit 4aee01f39bee452e8c069fc7a7999a94d9873891
Author: Christian Hergert <chergert redhat com>
Date:   Mon Apr 4 17:20:45 2022 -0700

    plugins/vcsui: port IdeEditorPageAddin
    
    This just needed some fixups for GtkSourceSnippet usage instead of our
    in-tree IdeSnippet implementation.

 src/plugins/vcsui/gbp-vcsui-editor-page-addin.c | 22 +++++++++++++---------
 src/plugins/vcsui/meson.build                   |  2 +-
 src/plugins/vcsui/vcsui-plugin.c                |  4 +---
 3 files changed, 15 insertions(+), 13 deletions(-)
---
diff --git a/src/plugins/vcsui/gbp-vcsui-editor-page-addin.c b/src/plugins/vcsui/gbp-vcsui-editor-page-addin.c
index e08d57826..03dcf50e6 100644
--- a/src/plugins/vcsui/gbp-vcsui-editor-page-addin.c
+++ b/src/plugins/vcsui/gbp-vcsui-editor-page-addin.c
@@ -33,25 +33,27 @@ struct _GbpVcsuiEditorPageAddin
 
 static void
 on_push_snippet_cb (GbpVcsuiEditorPageAddin *self,
-                    IdeSnippet              *snippet,
+                    GtkSourceSnippet        *snippet,
                     GtkTextIter             *iter,
                     IdeSourceView           *source_view)
 {
   g_autoptr(IdeVcsConfig) vcs_config = NULL;
   g_autoptr(IdeContext) ide_context = NULL;
-  IdeSnippetContext *context;
+  GtkSourceSnippetContext *context;
   IdeBuffer *buffer;
   IdeVcs *vcs;
 
+  IDE_ENTRY;
+
   g_assert (IDE_IS_MAIN_THREAD ());
   g_assert (GBP_IS_VCSUI_EDITOR_PAGE_ADDIN (self));
-  g_assert (IDE_IS_SNIPPET (snippet));
+  g_assert (GTK_SOURCE_IS_SNIPPET (snippet));
   g_assert (iter != NULL);
   g_assert (IDE_IS_SOURCE_VIEW (source_view));
 
   buffer = IDE_BUFFER (gtk_text_view_get_buffer (GTK_TEXT_VIEW (source_view)));
   ide_context = ide_buffer_ref_context (buffer);
-  context = ide_snippet_get_context (snippet);
+  context = gtk_source_snippet_get_context (snippet);
 
   if ((vcs = ide_vcs_from_context (ide_context)) &&
        (vcs_config = ide_vcs_get_config (vcs)))
@@ -64,9 +66,9 @@ on_push_snippet_cb (GbpVcsuiEditorPageAddin *self,
 
       if (!ide_str_empty0 (g_value_get_string (&value)))
         {
-          ide_snippet_context_add_shared_variable (context, "author", g_value_get_string (&value));
-          ide_snippet_context_add_shared_variable (context, "fullname", g_value_get_string (&value));
-          ide_snippet_context_add_shared_variable (context, "username", g_value_get_string (&value));
+          gtk_source_snippet_context_set_variable (context, "author", g_value_get_string (&value));
+          gtk_source_snippet_context_set_variable (context, "fullname", g_value_get_string (&value));
+          gtk_source_snippet_context_set_variable (context, "username", g_value_get_string (&value));
         }
 
       g_value_reset (&value);
@@ -74,10 +76,12 @@ on_push_snippet_cb (GbpVcsuiEditorPageAddin *self,
       ide_vcs_config_get_config (vcs_config, IDE_VCS_CONFIG_EMAIL, &value);
 
       if (!ide_str_empty0 (g_value_get_string (&value)))
-        ide_snippet_context_add_shared_variable (context, "email", g_value_get_string (&value));
+        gtk_source_snippet_context_set_variable (context, "email", g_value_get_string (&value));
 
       g_value_unset (&value);
     }
+
+  IDE_EXIT;
 }
 
 static void
@@ -124,7 +128,7 @@ editor_page_addin_iface_init (IdeEditorPageAddinInterface *iface)
 }
 
 G_DEFINE_FINAL_TYPE_WITH_CODE (GbpVcsuiEditorPageAddin, gbp_vcsui_editor_page_addin, G_TYPE_OBJECT,
-                         G_IMPLEMENT_INTERFACE (IDE_TYPE_EDITOR_PAGE_ADDIN, editor_page_addin_iface_init))
+                               G_IMPLEMENT_INTERFACE (IDE_TYPE_EDITOR_PAGE_ADDIN, 
editor_page_addin_iface_init))
 
 static void
 gbp_vcsui_editor_page_addin_class_init (GbpVcsuiEditorPageAddinClass *klass)
diff --git a/src/plugins/vcsui/meson.build b/src/plugins/vcsui/meson.build
index 840d71ae4..bbc4c39a9 100644
--- a/src/plugins/vcsui/meson.build
+++ b/src/plugins/vcsui/meson.build
@@ -2,7 +2,7 @@ plugins_sources += files([
   'vcsui-plugin.c',
   'gbp-vcsui-tree-addin.c',
   'gbp-vcsui-workbench-addin.c',
-  # 'gbp-vcsui-editor-page-addin.c',
+  'gbp-vcsui-editor-page-addin.c',
   # 'gbp-vcsui-clone-widget.c',
 ])
 
diff --git a/src/plugins/vcsui/vcsui-plugin.c b/src/plugins/vcsui/vcsui-plugin.c
index 199c48cd9..7ce92289c 100644
--- a/src/plugins/vcsui/vcsui-plugin.c
+++ b/src/plugins/vcsui/vcsui-plugin.c
@@ -28,18 +28,16 @@
 #include <libide-gui.h>
 #include <libide-tree.h>
 
-//#include "gbp-vcsui-editor-page-addin.h"
+#include "gbp-vcsui-editor-page-addin.h"
 #include "gbp-vcsui-tree-addin.h"
 #include "gbp-vcsui-workbench-addin.h"
 
 _IDE_EXTERN void
 _gbp_vcsui_register_types (PeasObjectModule *module)
 {
-#if 0
   peas_object_module_register_extension_type (module,
                                               IDE_TYPE_EDITOR_PAGE_ADDIN,
                                               GBP_TYPE_VCSUI_EDITOR_PAGE_ADDIN);
-#endif
   peas_object_module_register_extension_type (module,
                                               IDE_TYPE_TREE_ADDIN,
                                               GBP_TYPE_VCSUI_TREE_ADDIN);


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