[gnome-builder/wip/plugins] devhelp: start extracting devhelp into a plugin



commit 2bbbd228f18f6123daf27331d9955be1c5031423
Author: Christian Hergert <christian hergert me>
Date:   Sun Jun 7 16:26:50 2015 -0700

    devhelp: start extracting devhelp into a plugin

 configure.ac                                       |    1 +
 plugins/Makefile.am                                |    1 +
 plugins/devhelp/Makefile.am                        |   46 ++++++
 {src => plugins}/devhelp/gb-devhelp-document.c     |    0
 {src => plugins}/devhelp/gb-devhelp-document.h     |    0
 plugins/devhelp/gb-devhelp-panel.c                 |  169 ++++++++++++++++++++
 .../devhelp/gb-devhelp-panel.h                     |   19 +--
 {src => plugins}/devhelp/gb-devhelp-view.c         |    7 +-
 {src => plugins}/devhelp/gb-devhelp-view.h         |    0
 {data/ui => plugins/devhelp}/gb-devhelp-view.ui    |    0
 plugins/devhelp/gb-devhelp.gresource.xml           |    7 +
 plugins/devhelp/gb-devhelp.plugin                  |    6 +
 plugins/symbol-tree/Makefile.am                    |    6 +-
 src/Makefile.am                                    |    7 +-
 src/gb-plugins.c                                   |   61 ++++----
 src/gb-plugins.h                                   |   25 ++--
 src/resources/gnome-builder.gresource.xml          |    1 -
 17 files changed, 287 insertions(+), 69 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 0b4fc18..4016725 100644
--- a/configure.ac
+++ b/configure.ac
@@ -379,6 +379,7 @@ AC_CONFIG_FILES([
 
        plugins/Makefile
        plugins/command-bar/Makefile
+       plugins/devhelp/Makefile
        plugins/symbol-tree/Makefile
 
        data/Makefile
diff --git a/plugins/Makefile.am b/plugins/Makefile.am
index d74a9bc..225ff3e 100644
--- a/plugins/Makefile.am
+++ b/plugins/Makefile.am
@@ -1,5 +1,6 @@
 SUBDIRS = \
        command-bar \
+       devhelp \
        symbol-tree \
        $(NULL)
 
diff --git a/plugins/devhelp/Makefile.am b/plugins/devhelp/Makefile.am
new file mode 100644
index 0000000..27b3718
--- /dev/null
+++ b/plugins/devhelp/Makefile.am
@@ -0,0 +1,46 @@
+DISTCLEANFILES =
+BUILT_SOURCES =
+CLEANFILES =
+EXTRA_DIST =
+
+noinst_LTLIBRARIES = libdevhelp.la
+
+libdevhelp_la_SOURCES = \
+       gb-devhelp-document.c \
+       gb-devhelp-document.h \
+       gb-devhelp-panel.c \
+       gb-devhelp-panel.h \
+       gb-devhelp-view.c \
+       gb-devhelp-view.h \
+       gb-devhelp-resources.c \
+       gb-devhelp-resources.h \
+       $(NULL)
+
+libdevhelp_la_CFLAGS = \
+       $(BUILDER_CFLAGS) \
+       -I$(top_srcdir)/src \
+       -I$(top_srcdir)/src/documents \
+       -I$(top_srcdir)/src/views \
+       -I$(top_srcdir)/src/util \
+       -I$(top_srcdir)/src/workbench \
+       -I$(top_srcdir)/src/workspace \
+       -I$(top_srcdir)/libide \
+       $(NULL)
+
+libdevhelp_la_LIBADD = \
+       $(BUILDER_LIBS) \
+       $(top_builddir)/libide/libide-1.0.la \
+       $(NULL)
+
+libdevhelp_la_LDFLAGS = \
+       -avoid-version \
+       -module \
+       $(NULL)
+
+glib_resources_c = gb-devhelp-resources.c
+glib_resources_h = gb-devhelp-resources.h
+glib_resources_xml = gb-devhelp.gresource.xml
+glib_resources_namespace = gb_devhelp
+include $(top_srcdir)/build/autotools/Makefile.am.gresources
+
+-include $(top_srcdir)/git.mk
diff --git a/src/devhelp/gb-devhelp-document.c b/plugins/devhelp/gb-devhelp-document.c
similarity index 100%
rename from src/devhelp/gb-devhelp-document.c
rename to plugins/devhelp/gb-devhelp-document.c
diff --git a/src/devhelp/gb-devhelp-document.h b/plugins/devhelp/gb-devhelp-document.h
similarity index 100%
rename from src/devhelp/gb-devhelp-document.h
rename to plugins/devhelp/gb-devhelp-document.h
diff --git a/plugins/devhelp/gb-devhelp-panel.c b/plugins/devhelp/gb-devhelp-panel.c
new file mode 100644
index 0000000..6652180
--- /dev/null
+++ b/plugins/devhelp/gb-devhelp-panel.c
@@ -0,0 +1,169 @@
+/* gb-devhelp-panel.c
+ *
+ * Copyright (C) 2015 Christian Hergert <christian hergert me>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <glib/gi18n.h>
+#include <devhelp/devhelp.h>
+
+#include "gb-devhelp-panel.h"
+#include "gb-devhelp-resources.h"
+#include "gb-plugins.h"
+#include "gb-workbench-addin.h"
+#include "gb-workbench.h"
+#include "gb-workspace.h"
+
+struct _GbDevhelpPanel
+{
+  GtkBin         parent_instance;
+
+  GbWorkbench   *workbench;
+  DhBookManager *book_manager;
+
+  GtkWidget     *sidebar;
+};
+
+static void workbench_addin_iface_init (GbWorkbenchAddinInterface *iface);
+
+G_DEFINE_TYPE_WITH_CODE (GbDevhelpPanel, gb_devhelp_panel, GTK_TYPE_BIN,
+                         G_IMPLEMENT_INTERFACE (GB_TYPE_WORKBENCH_ADDIN,
+                                                workbench_addin_iface_init))
+
+enum {
+  PROP_0,
+  PROP_WORKBENCH,
+  LAST_PROP
+};
+
+static GParamSpec *gParamSpecs [LAST_PROP];
+
+static void
+gb_devhelp_panel_load (GbWorkbenchAddin *addin)
+{
+  GbDevhelpPanel *self = (GbDevhelpPanel *)addin;
+  GtkWidget *workspace;
+  GtkWidget *pane;
+
+  g_print ("Loading and adding panel to workbench\n");
+
+  g_assert (GB_IS_DEVHELP_PANEL (self));
+
+  workspace = gb_workbench_get_workspace (self->workbench);
+  pane = gb_workspace_get_right_pane (GB_WORKSPACE (workspace));
+  gb_workspace_pane_add_page (GB_WORKSPACE_PANE (pane), GTK_WIDGET (self),
+                              _("Documentation"),
+                              GTK_STOCK_HELP);
+
+  gtk_widget_show (GTK_WIDGET (self));
+}
+
+static void
+gb_devhelp_panel_unload (GbWorkbenchAddin *addin)
+{
+  GbDevhelpPanel *self = (GbDevhelpPanel *)addin;
+
+  g_assert (GB_IS_DEVHELP_PANEL (self));
+
+  ide_clear_weak_pointer (&self->workbench);
+}
+
+static void
+gb_devhelp_panel_finalize (GObject *object)
+{
+  GbDevhelpPanel *self = (GbDevhelpPanel *)object;
+
+  ide_clear_weak_pointer (&self->workbench);
+
+  g_clear_object (&self->book_manager);
+
+  G_OBJECT_CLASS (gb_devhelp_panel_parent_class)->finalize (object);
+}
+
+static void
+gb_devhelp_panel_get_property (GObject    *object,
+                               guint       prop_id,
+                               GValue     *value,
+                               GParamSpec *pspec)
+{
+  GbDevhelpPanel *self = GB_DEVHELP_PANEL (object);
+
+  switch (prop_id)
+    {
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    }
+}
+
+static void
+gb_devhelp_panel_set_property (GObject      *object,
+                               guint         prop_id,
+                               const GValue *value,
+                               GParamSpec   *pspec)
+{
+  GbDevhelpPanel *self = GB_DEVHELP_PANEL (object);
+
+  switch (prop_id)
+    {
+    case PROP_WORKBENCH:
+      ide_set_weak_pointer (&self->workbench, g_value_get_object (value));
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+    }
+}
+
+static void
+gb_devhelp_panel_class_init (GbDevhelpPanelClass *klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+  object_class->finalize = gb_devhelp_panel_finalize;
+  object_class->get_property = gb_devhelp_panel_get_property;
+  object_class->set_property = gb_devhelp_panel_set_property;
+
+  gParamSpecs [PROP_WORKBENCH] =
+    g_param_spec_object ("workbench",
+                         _("Workbench"),
+                         _("Workbench"),
+                         GB_TYPE_WORKBENCH,
+                         (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_properties (object_class, LAST_PROP, gParamSpecs);
+}
+
+static void
+gb_devhelp_panel_init (GbDevhelpPanel *self)
+{
+  self->book_manager = dh_book_manager_new ();
+  dh_book_manager_populate (self->book_manager);
+
+  self->sidebar = dh_sidebar_new (self->book_manager);
+  gtk_container_add (GTK_CONTAINER (self), self->sidebar);
+  gtk_widget_show (self->sidebar);
+}
+
+static void
+workbench_addin_iface_init (GbWorkbenchAddinInterface *iface)
+{
+  iface->load = gb_devhelp_panel_load;
+  iface->unload = gb_devhelp_panel_unload;
+}
+
+GB_DEFINE_EMBEDDED_PLUGIN (gb_devhelp,
+                           gb_devhelp_get_resource (),
+                           "resource:///org/gnome/builder/plugins/devhelp/gb-devhelp.plugin",
+                           GB_DEFINE_PLUGIN_TYPE (GB_TYPE_WORKBENCH_ADDIN, GB_TYPE_DEVHELP_PANEL))
diff --git a/src/devhelp/gb-devhelp-view.h b/plugins/devhelp/gb-devhelp-panel.h
similarity index 61%
copy from src/devhelp/gb-devhelp-view.h
copy to plugins/devhelp/gb-devhelp-panel.h
index d2ee3be..d36415b 100644
--- a/src/devhelp/gb-devhelp-view.h
+++ b/plugins/devhelp/gb-devhelp-panel.h
@@ -1,6 +1,6 @@
-/* gb-devhelp-view.h
+/* gb-devhelp-panel.h
  *
- * Copyright (C) 2014 Christian Hergert <christian hergert me>
+ * Copyright (C) 2015 Christian Hergert <christian hergert me>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -16,20 +16,17 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef GB_DEVHELP_VIEW_H
-#define GB_DEVHELP_VIEW_H
+#ifndef GB_DEVHELP_PANEL_H
+#define GB_DEVHELP_PANEL_H
 
-#include "gb-devhelp-document.h"
-#include "gb-view.h"
+#include <gtk/gtk.h>
 
 G_BEGIN_DECLS
 
-#define GB_TYPE_DEVHELP_VIEW (gb_devhelp_view_get_type())
+#define GB_TYPE_DEVHELP_PANEL (gb_devhelp_panel_get_type())
 
-G_DECLARE_FINAL_TYPE (GbDevhelpView, gb_devhelp_view, GB, DEVHELP_VIEW, GbView)
-
-GbView *gb_devhelp_view_new      (GbDevhelpDocument *document);
+G_DECLARE_FINAL_TYPE (GbDevhelpPanel, gb_devhelp_panel, GB, DEVHELP_PANEL, GtkBin)
 
 G_END_DECLS
 
-#endif /* GB_DEVHELP_VIEW_H */
+#endif /* GB_DEVHELP_PANEL_H */
diff --git a/src/devhelp/gb-devhelp-view.c b/plugins/devhelp/gb-devhelp-view.c
similarity index 95%
rename from src/devhelp/gb-devhelp-view.c
rename to plugins/devhelp/gb-devhelp-view.c
index 0aee130..3f396ac 100644
--- a/src/devhelp/gb-devhelp-view.c
+++ b/plugins/devhelp/gb-devhelp-view.c
@@ -224,6 +224,7 @@ static void
 gb_devhelp_view_class_init (GbDevhelpViewClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
   GbViewClass *view_class = GB_VIEW_CLASS (klass);
 
   object_class->finalize = gb_devhelp_view_finalize;
@@ -243,9 +244,9 @@ gb_devhelp_view_class_init (GbDevhelpViewClass *klass)
 
   g_object_class_install_properties (object_class, LAST_PROP, gParamSpecs);
 
-  GB_WIDGET_CLASS_TEMPLATE (klass, "gb-devhelp-view.ui");
-  GB_WIDGET_CLASS_BIND (klass, GbDevhelpView, web_view1);
-  GB_WIDGET_CLASS_BIND (klass, GbDevhelpView, paned);
+  gtk_widget_class_set_template_from_resource (widget_class, 
"/org/gnome/builder/plugins/devhelp/gb-devhelp-view.ui");
+  gtk_widget_class_bind_template_child (widget_class, GbDevhelpView, web_view1);
+  gtk_widget_class_bind_template_child (widget_class, GbDevhelpView, paned);
 
   g_type_ensure (WEBKIT_TYPE_WEB_VIEW);
 }
diff --git a/src/devhelp/gb-devhelp-view.h b/plugins/devhelp/gb-devhelp-view.h
similarity index 100%
rename from src/devhelp/gb-devhelp-view.h
rename to plugins/devhelp/gb-devhelp-view.h
diff --git a/data/ui/gb-devhelp-view.ui b/plugins/devhelp/gb-devhelp-view.ui
similarity index 100%
rename from data/ui/gb-devhelp-view.ui
rename to plugins/devhelp/gb-devhelp-view.ui
diff --git a/plugins/devhelp/gb-devhelp.gresource.xml b/plugins/devhelp/gb-devhelp.gresource.xml
new file mode 100644
index 0000000..2657450
--- /dev/null
+++ b/plugins/devhelp/gb-devhelp.gresource.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<gresources>
+  <gresource prefix="/org/gnome/builder/plugins/devhelp">
+    <file>gb-devhelp.plugin</file>
+    <file>gb-devhelp-view.ui</file>
+  </gresource>
+</gresources>
diff --git a/plugins/devhelp/gb-devhelp.plugin b/plugins/devhelp/gb-devhelp.plugin
new file mode 100644
index 0000000..aedd2af
--- /dev/null
+++ b/plugins/devhelp/gb-devhelp.plugin
@@ -0,0 +1,6 @@
+[Plugin]
+Module=devhelp
+Name=Devhelp
+Description=Provides devhelp documentation
+Authors=Christian Hergert <christian hergert me>
+Copyright=Copyright © 2015 Christian Hergert
diff --git a/plugins/symbol-tree/Makefile.am b/plugins/symbol-tree/Makefile.am
index e41a912..1bd8882 100644
--- a/plugins/symbol-tree/Makefile.am
+++ b/plugins/symbol-tree/Makefile.am
@@ -14,9 +14,8 @@ libsymbol_tree_la_SOURCES = \
 
 # XXX: temporary, since we need to extract lots of src/ into plugins
 libsymbol_tree_la_CFLAGS = \
-       $(LIBIDE_CFLAGS) \
+       $(BUILDER_CFLAGS) \
        -I$(top_srcdir)/src \
-       -I$(top_srcdir)/src/commands \
        -I$(top_srcdir)/src/documents \
        -I$(top_srcdir)/src/views \
        -I$(top_srcdir)/src/tree \
@@ -26,7 +25,7 @@ libsymbol_tree_la_CFLAGS = \
        $(NULL)
 
 libsymbol_tree_la_LIBADD = \
-       $(LIBIDE_LIBS) \
+       $(BUILDER_LIBS) \
        $(top_builddir)/libide/libide-1.0.la \
        $(NULL)
 
@@ -35,7 +34,6 @@ libsymbol_tree_la_LDFLAGS = \
        -module \
        $(NULL)
 
-
 glib_resources_c = symbol-tree-resources.c
 glib_resources_h = symbol-tree-resources.h
 glib_resources_xml = symbol-tree.gresource.xml
diff --git a/src/Makefile.am b/src/Makefile.am
index 121af8e..bab880e 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -15,10 +15,6 @@ libgnome_builder_la_SOURCES = \
        app/gb-application-private.h \
        app/gb-application.c \
        app/gb-application.h \
-       devhelp/gb-devhelp-document.c \
-       devhelp/gb-devhelp-document.h \
-       devhelp/gb-devhelp-view.c \
-       devhelp/gb-devhelp-view.h \
        dialogs/gb-new-project-dialog.c \
        dialogs/gb-new-project-dialog.h \
        dialogs/gb-projects-dialog.c \
@@ -182,9 +178,7 @@ libgnome_builder_la_CFLAGS = \
        -I$(builddir)/resources \
        -I$(builddir)/util \
        -I$(srcdir)/app \
-       -I$(srcdir)/commands \
        -I$(srcdir)/css \
-       -I$(srcdir)/devhelp \
        -I$(srcdir)/dialogs \
        -I$(srcdir)/documents \
        -I$(srcdir)/editor \
@@ -215,6 +209,7 @@ libgnome_builder_la_CFLAGS = \
 define_plugin = -Wl,--whole-archive,$(top_builddir)/plugins/$1/.libs/lib$1.a,--no-whole-archive
 
 gnome_builder_PLUGINS = \
+       devhelp \
        command-bar \
        symbol-tree \
        $(NULL)
diff --git a/src/gb-plugins.c b/src/gb-plugins.c
index e489487..4dd0ab2 100644
--- a/src/gb-plugins.c
+++ b/src/gb-plugins.c
@@ -25,66 +25,65 @@ PeasPluginInfo **peas_register_types (void);
 static GPtrArray *embedded_plugins;
 
 void
-gb_plugins_register (PeasPluginInfo *plugin_info)
+gb_plugins_register (GbPluginRegisterFunc callback)
 {
-  g_assert (plugin_info != NULL);
-
-  g_print ("Registering plugin \"%s\"\n", peas_plugin_info_get_module_name (plugin_info));
+  g_assert (callback != NULL);
 
   if (embedded_plugins == NULL)
     embedded_plugins = g_ptr_array_new ();
-
-  g_ptr_array_add (embedded_plugins, plugin_info);
+  g_ptr_array_add (embedded_plugins, callback);
 }
 
 PeasPluginInfo **
 peas_register_types (void)
 {
-  GPtrArray *copy;
+  GPtrArray *ar;
 
-  g_print ("peas_register_types called ...\n");
-
-  copy = g_ptr_array_new ();
+  ar = g_ptr_array_new ();
 
   if (embedded_plugins != NULL)
     {
       gsize i;
 
       for (i = 0; i < embedded_plugins->len; i++)
-        g_ptr_array_add (copy, g_ptr_array_index (embedded_plugins, i));
+        {
+          g_autoptr(PeasObjectModule) module = NULL;
+          PeasPluginInfo *plugin_info;
+          GbPluginRegisterFunc callback;
+
+          module = peas_object_module_new_embedded ();
+          callback = g_ptr_array_index (embedded_plugins, i);
+          plugin_info = callback (module);
+
+          if (plugin_info != NULL)
+            g_ptr_array_add (ar, plugin_info);
+        }
     }
 
-  g_ptr_array_add (copy, NULL);
+  g_ptr_array_add (ar, NULL);
 
-  return (PeasPluginInfo **)g_ptr_array_free (copy, FALSE);
+  return (PeasPluginInfo **)g_ptr_array_free (ar, FALSE);
 }
 
 void
 gb_plugins_load (void)
 {
   PeasEngine *engine;
-  GModule *module;
-  gpointer symbol = NULL;
-  gsize i;
+  const GList *list;
 
-  g_print ("Loading plugins...\n");
+  engine = peas_engine_get_default ();
+  list = peas_engine_get_plugin_list (engine);
 
-  module = g_module_open (NULL, G_MODULE_BIND_LAZY);
-  if (g_module_symbol (module, "peas_register_types", &symbol))
-    g_print ("Found\n");
-  else
-    g_print ("Not Found\n");
+  for (; list; list = list->next)
+    {
+      PeasPluginInfo *plugin_info = list->data;
 
-  g_print ("func at %p (%p)\n", symbol, (void *)peas_register_types);
+      /*
+       * TODO: Only load embedded.
+       */
 
-  engine = peas_engine_get_default ();
-  peas_engine_add_search_path (engine, "plugins", "plugins");
-  peas_engine_rescan_plugins (engine);
+      g_print ("Loading: %s\n", peas_plugin_info_get_module_name (plugin_info));
 
-  for (i = 0; i < embedded_plugins->len; i++)
-    {
-      PeasPluginInfo *info = g_ptr_array_index (embedded_plugins, i);
-      g_print ("Loading %s\n", peas_plugin_info_get_name (info));
-      peas_engine_load_plugin (engine, info);
+      peas_engine_load_plugin (engine, plugin_info);
     }
 }
diff --git a/src/gb-plugins.h b/src/gb-plugins.h
index 05eeee9..6c5b380 100644
--- a/src/gb-plugins.h
+++ b/src/gb-plugins.h
@@ -26,22 +26,19 @@
 G_BEGIN_DECLS
 
 #define GB_DEFINE_EMBEDDED_PLUGIN(name, resource, plugin_path, ...)    \
+  static PeasPluginInfo *                                              \
+  name##_register (PeasObjectModule *module)                           \
+  {                                                                    \
+    g_resources_register (resource);                                   \
+    __VA_ARGS__                                                        \
+    return peas_plugin_info_new_embedded (module, plugin_path);        \
+  }                                                                    \
+                                                                       \
   G_DEFINE_CONSTRUCTOR(name##_plugin);                                 \
   static void                                                          \
   name##_plugin (void)                                                 \
   {                                                                    \
-    g_autoptr(PeasObjectModule) module = NULL;                         \
-    PeasPluginInfo *plugin_info = NULL;                                \
-                                                                       \
-    if (resource != NULL)                                              \
-      g_resources_register (resource);                                 \
-                                                                       \
-    module = peas_object_module_new_embedded ();                       \
-                                                                       \
-    __VA_ARGS__                                                        \
-                                                                       \
-    plugin_info = peas_plugin_info_new_embedded (module, plugin_path); \
-    gb_plugins_register (plugin_info);                                 \
+    gb_plugins_register (name##_register);                             \
   }
 
 #define GB_DEFINE_PLUGIN_TYPE(PLUGIN, IMPL)                            \
@@ -49,7 +46,9 @@ G_BEGIN_DECLS
     peas_object_module_register_extension_type (module, PLUGIN, IMPL); \
   } G_STMT_END;
 
-void gb_plugins_register (PeasPluginInfo *plugin_info);
+typedef PeasPluginInfo *(*GbPluginRegisterFunc) (PeasObjectModule *module);
+
+void gb_plugins_register (GbPluginRegisterFunc callback);
 void gb_plugins_load     (void);
 
 G_END_DECLS
diff --git a/src/resources/gnome-builder.gresource.xml b/src/resources/gnome-builder.gresource.xml
index 2eb26f8..9a8dbad 100644
--- a/src/resources/gnome-builder.gresource.xml
+++ b/src/resources/gnome-builder.gresource.xml
@@ -42,7 +42,6 @@
     <file alias="theme/Adwaita-shared.css">../../data/theme/Adwaita-shared.css</file>
     <file alias="theme/shared.css">../../data/theme/shared.css</file>
 
-    <file alias="ui/gb-devhelp-view.ui">../../data/ui/gb-devhelp-view.ui</file>
     <file alias="ui/gb-editor-frame.ui">../../data/ui/gb-editor-frame.ui</file>
     <file alias="ui/gb-editor-settings-widget.ui">../../data/ui/gb-editor-settings-widget.ui</file>
     <file alias="ui/gb-editor-tweak-widget.ui">../../data/ui/gb-editor-tweak-widget.ui</file>


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