[gnome-builder/wip/chergert/layout] devhelp: move devhelp documentation to layout stack header
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/layout] devhelp: move devhelp documentation to layout stack header
- Date: Sun, 2 Jul 2017 00:11:57 +0000 (UTC)
commit a6339352e0d7e84161f0e940415c62ad232e82d4
Author: Christian Hergert <chergert redhat com>
Date: Sat Jul 1 17:09:45 2017 -0700
devhelp: move devhelp documentation to layout stack header
This helps us get away from the right sidebar being essential
to using Builder. Devhelp was the last panel there and can
naturally fit into the same sort of flow as the editor+symbols.
The use-case here is that the user brings up a devhelp view on
the right-hand of the split. Then that split can be used to
browse documentation (through the header) or automatically using
keyboard shortcuts from the editor.
The keyboard shortcuts for the editor still needs additional
plumbing to locate a view in a sibling stack.
libide/layout/ide-layout-stack-header.ui | 2 +-
plugins/devhelp/gbp-devhelp-editor-view-addin.c | 54 +++--
plugins/devhelp/gbp-devhelp-layout-stack-addin.c | 208 ++++++++++++++++++++
plugins/devhelp/gbp-devhelp-layout-stack-addin.h | 29 +++
plugins/devhelp/gbp-devhelp-menu-button.c | 88 ++++++++
plugins/devhelp/gbp-devhelp-menu-button.h | 32 +++
plugins/devhelp/gbp-devhelp-menu-button.ui | 31 +++
plugins/devhelp/gbp-devhelp-plugin.c | 6 +-
.../devhelp/gbp-devhelp-resources.gresource.xml | 1 +
plugins/devhelp/meson.build | 5 +
plugins/devhelp/themes/shared.css | 12 +-
11 files changed, 439 insertions(+), 29 deletions(-)
---
diff --git a/libide/layout/ide-layout-stack-header.ui b/libide/layout/ide-layout-stack-header.ui
index 094814e..07c755d 100644
--- a/libide/layout/ide-layout-stack-header.ui
+++ b/libide/layout/ide-layout-stack-header.ui
@@ -97,7 +97,7 @@
</child>
<child>
<object class="GtkButton">
- <property name="action-name">win.new-devhelp</property>
+ <property name="action-name">devhelp.new-view</property>
<property name="visible">true</property>
<style>
<class name="image-button"/>
diff --git a/plugins/devhelp/gbp-devhelp-editor-view-addin.c b/plugins/devhelp/gbp-devhelp-editor-view-addin.c
index 441acd9..9b25489 100644
--- a/plugins/devhelp/gbp-devhelp-editor-view-addin.c
+++ b/plugins/devhelp/gbp-devhelp-editor-view-addin.c
@@ -26,32 +26,17 @@ struct _GbpDevhelpEditorViewAddin
GObject parent_instance;
};
-static void iface_init (IdeEditorViewAddinInterface *iface);
-
-G_DEFINE_TYPE_EXTENDED (GbpDevhelpEditorViewAddin, gbp_devhelp_editor_view_addin, G_TYPE_OBJECT, 0,
- G_IMPLEMENT_INTERFACE (IDE_TYPE_EDITOR_VIEW_ADDIN, iface_init))
-
static void
documentation_requested_cb (GbpDevhelpEditorViewAddin *self,
const gchar *word,
IdeSourceView *source_view)
{
- GtkWidget *layout;
- GtkWidget *panel;
- GtkWidget *pane;
-
g_assert (GBP_IS_DEVHELP_EDITOR_VIEW_ADDIN (self));
g_assert (IDE_IS_SOURCE_VIEW (source_view));
- /* TODO: This would be much better as a GAction */
-
- layout = gtk_widget_get_ancestor (GTK_WIDGET (source_view), IDE_TYPE_LAYOUT);
- if (layout == NULL)
- return;
-
- pane = dzl_dock_bin_get_right_edge (DZL_DOCK_BIN (layout));
- panel = dzl_gtk_widget_find_child_typed (pane, GBP_TYPE_DEVHELP_PANEL);
- gbp_devhelp_panel_focus_search (GBP_DEVHELP_PANEL (panel), word);
+ if (!ide_str_empty0 (word))
+ dzl_gtk_widget_action (GTK_WIDGET (source_view), "devhelp", "search",
+ g_variant_new_string (word));
}
static void
@@ -69,17 +54,42 @@ gbp_devhelp_editor_view_addin_load (IdeEditorViewAddin *addin,
}
static void
-gbp_devhelp_editor_view_addin_class_init (GbpDevhelpEditorViewAddinClass *klass)
+gbp_devhelp_editor_view_addin_unload (IdeEditorViewAddin *addin,
+ IdeEditorView *view)
+{
+ IdeSourceView *source_view;
+
+ g_assert (GBP_IS_DEVHELP_EDITOR_VIEW_ADDIN (addin));
+ g_assert (IDE_IS_EDITOR_VIEW (view));
+
+ source_view = ide_editor_view_get_view (view);
+
+ if (source_view != NULL)
+ g_signal_handlers_disconnect_by_func (source_view,
+ G_CALLBACK (documentation_requested_cb),
+ addin);
+}
+
+static void
+editor_view_addin_iface_init (IdeEditorViewAddinInterface *iface)
{
+ iface->load = gbp_devhelp_editor_view_addin_load;
+ iface->unload = gbp_devhelp_editor_view_addin_unload;
}
+G_DEFINE_TYPE_WITH_CODE (GbpDevhelpEditorViewAddin,
+ gbp_devhelp_editor_view_addin,
+ G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (IDE_TYPE_EDITOR_VIEW_ADDIN,
+ editor_view_addin_iface_init))
+
+
static void
-gbp_devhelp_editor_view_addin_init (GbpDevhelpEditorViewAddin *self)
+gbp_devhelp_editor_view_addin_class_init (GbpDevhelpEditorViewAddinClass *klass)
{
}
static void
-iface_init (IdeEditorViewAddinInterface *iface)
+gbp_devhelp_editor_view_addin_init (GbpDevhelpEditorViewAddin *self)
{
- iface->load = gbp_devhelp_editor_view_addin_load;
}
diff --git a/plugins/devhelp/gbp-devhelp-layout-stack-addin.c
b/plugins/devhelp/gbp-devhelp-layout-stack-addin.c
new file mode 100644
index 0000000..90556ef
--- /dev/null
+++ b/plugins/devhelp/gbp-devhelp-layout-stack-addin.c
@@ -0,0 +1,208 @@
+/* gbp-devhelp-layout-stack-addin.c
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * 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/>.
+ */
+
+#define G_LOG_DOMAIN "gbp-devhelp-layout-stack-addin"
+
+#include "gbp-devhelp-layout-stack-addin.h"
+#include "gbp-devhelp-menu-button.h"
+#include "gbp-devhelp-view.h"
+
+struct _GbpDevhelpLayoutStackAddin
+{
+ GObject parent_instance;
+ IdeLayoutStack *stack;
+ GbpDevhelpMenuButton *button;
+};
+
+static void
+gbp_devhelp_layout_stack_addin_search (GSimpleAction *action,
+ GVariant *variant,
+ gpointer user_data)
+{
+ GbpDevhelpLayoutStackAddin *self = user_data;
+ const gchar *keyword;
+
+ g_assert (G_IS_SIMPLE_ACTION (action));
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (self->stack != NULL);
+ g_assert (IDE_IS_LAYOUT_STACK (self->stack));
+ g_assert (variant != NULL);
+ g_assert (g_variant_is_of_type (variant, G_VARIANT_TYPE_STRING));
+
+ if (self->button != NULL)
+ {
+ keyword = g_variant_get_string (variant, NULL);
+ gbp_devhelp_menu_button_search (self->button, keyword);
+ }
+}
+
+static void
+gbp_devhelp_layout_stack_addin_new_view (GSimpleAction *action,
+ GVariant *variant,
+ gpointer user_data)
+{
+ GbpDevhelpLayoutStackAddin *self = user_data;
+ GbpDevhelpView *view;
+
+ g_assert (G_IS_SIMPLE_ACTION (action));
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (self->stack != NULL);
+ g_assert (IDE_IS_LAYOUT_STACK (self->stack));
+
+ view = g_object_new (GBP_TYPE_DEVHELP_VIEW,
+ "visible", TRUE,
+ NULL);
+ gtk_container_add (GTK_CONTAINER (self->stack), GTK_WIDGET (view));
+}
+
+static void
+gbp_devhelp_layout_stack_addin_navigate_to (GSimpleAction *action,
+ GVariant *variant,
+ gpointer user_data)
+{
+ GbpDevhelpLayoutStackAddin *self = user_data;
+ IdeLayoutView *view;
+ const gchar *uri;
+
+ g_assert (G_IS_SIMPLE_ACTION (action));
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (self->stack != NULL);
+ g_assert (IDE_IS_LAYOUT_STACK (self->stack));
+ g_assert (variant != NULL);
+ g_assert (g_variant_is_of_type (variant, G_VARIANT_TYPE_STRING));
+
+ uri = g_variant_get_string (variant, NULL);
+ view = ide_layout_stack_get_visible_child (self->stack);
+
+ if (GBP_IS_DEVHELP_VIEW (view))
+ gbp_devhelp_view_set_uri (GBP_DEVHELP_VIEW (view), uri);
+}
+
+static GActionEntry actions[] = {
+ { "new-view", gbp_devhelp_layout_stack_addin_new_view },
+ { "search", gbp_devhelp_layout_stack_addin_search, "s" },
+ { "navigate-to", gbp_devhelp_layout_stack_addin_navigate_to, "s" },
+};
+
+static void
+gbp_devhelp_layout_stack_addin_load (IdeLayoutStackAddin *addin,
+ IdeLayoutStack *stack)
+{
+ GbpDevhelpLayoutStackAddin *self = (GbpDevhelpLayoutStackAddin *)addin;
+ g_autoptr(GSimpleActionGroup) group = NULL;
+
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (IDE_IS_LAYOUT_STACK (stack));
+
+ self->stack = stack;
+
+ group = g_simple_action_group_new ();
+ g_action_map_add_action_entries (G_ACTION_MAP (group),
+ actions,
+ G_N_ELEMENTS (actions),
+ self);
+ gtk_widget_insert_action_group (GTK_WIDGET (stack),
+ "devhelp",
+ G_ACTION_GROUP (group));
+}
+
+static void
+gbp_devhelp_layout_stack_addin_unload (IdeLayoutStackAddin *addin,
+ IdeLayoutStack *stack)
+{
+ GbpDevhelpLayoutStackAddin *self = (GbpDevhelpLayoutStackAddin *)addin;
+
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (IDE_IS_LAYOUT_STACK (stack));
+
+ self->stack = NULL;
+
+ gtk_widget_insert_action_group (GTK_WIDGET (stack), "devhelp", NULL);
+
+ if (self->button != NULL)
+ gtk_widget_destroy (GTK_WIDGET (self->button));
+}
+
+static void
+gbp_devhelp_layout_stack_addin_set_view (IdeLayoutStackAddin *addin,
+ IdeLayoutView *view)
+{
+ GbpDevhelpLayoutStackAddin *self = (GbpDevhelpLayoutStackAddin *)addin;
+ gboolean visible = FALSE;
+
+ g_assert (GBP_IS_DEVHELP_LAYOUT_STACK_ADDIN (self));
+ g_assert (!view || IDE_IS_LAYOUT_VIEW (view));
+ g_assert (self->stack != NULL);
+ g_assert (IDE_IS_LAYOUT_STACK (self->stack));
+
+ /*
+ * We don't setup self->button until we get our first devhelp
+ * view. This helps reduce startup overhead as well as lower
+ * memory footprint until it is necessary.
+ */
+
+ if (GBP_IS_DEVHELP_VIEW (view))
+ {
+ if (self->button == NULL)
+ {
+ GtkWidget *titlebar;
+
+ titlebar = ide_layout_stack_get_titlebar (self->stack);
+
+ self->button = g_object_new (GBP_TYPE_DEVHELP_MENU_BUTTON,
+ "hexpand", TRUE,
+ NULL);
+ g_signal_connect (self->button,
+ "destroy",
+ G_CALLBACK (gtk_widget_destroyed),
+ &self->button);
+ ide_layout_stack_header_add_custom_title (IDE_LAYOUT_STACK_HEADER (titlebar),
+ GTK_WIDGET (self->button),
+ 100);
+ }
+
+ visible = TRUE;
+ }
+
+ if (self->button != NULL)
+ gtk_widget_set_visible (GTK_WIDGET (self->button), visible);
+}
+
+static void
+layout_stack_addin_iface_init (IdeLayoutStackAddinInterface *iface)
+{
+ iface->load = gbp_devhelp_layout_stack_addin_load;
+ iface->unload = gbp_devhelp_layout_stack_addin_unload;
+ iface->set_view = gbp_devhelp_layout_stack_addin_set_view;
+}
+
+G_DEFINE_TYPE_WITH_CODE (GbpDevhelpLayoutStackAddin,
+ gbp_devhelp_layout_stack_addin,
+ G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (IDE_TYPE_LAYOUT_STACK_ADDIN,
+ layout_stack_addin_iface_init))
+
+static void
+gbp_devhelp_layout_stack_addin_class_init (GbpDevhelpLayoutStackAddinClass *klass)
+{
+}
+
+static void
+gbp_devhelp_layout_stack_addin_init (GbpDevhelpLayoutStackAddin *self)
+{
+}
diff --git a/plugins/devhelp/gbp-devhelp-layout-stack-addin.h
b/plugins/devhelp/gbp-devhelp-layout-stack-addin.h
new file mode 100644
index 0000000..0388064
--- /dev/null
+++ b/plugins/devhelp/gbp-devhelp-layout-stack-addin.h
@@ -0,0 +1,29 @@
+/* gbp-devhelp-layout-stack-addin.h
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#include <ide.h>
+
+G_BEGIN_DECLS
+
+#define GBP_TYPE_DEVHELP_LAYOUT_STACK_ADDIN (gbp_devhelp_layout_stack_addin_get_type())
+
+G_DECLARE_FINAL_TYPE (GbpDevhelpLayoutStackAddin, gbp_devhelp_layout_stack_addin, GBP,
DEVHELP_LAYOUT_STACK_ADDIN, GObject)
+
+G_END_DECLS
diff --git a/plugins/devhelp/gbp-devhelp-menu-button.c b/plugins/devhelp/gbp-devhelp-menu-button.c
new file mode 100644
index 0000000..1c0e9c8
--- /dev/null
+++ b/plugins/devhelp/gbp-devhelp-menu-button.c
@@ -0,0 +1,88 @@
+/* gbp-devhelp-menu-button.c
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * 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/>.
+ */
+
+#define G_LOG_DOMAIN "gbp-devhelp-menu-button"
+
+#include <devhelp/devhelp.h>
+#include <glib/gi18n.h>
+#include <ide.h>
+
+#include "gbp-devhelp-menu-button.h"
+
+struct _GbpDevhelpMenuButton
+{
+ GtkMenuButton parent_instance;
+
+ GtkPopover *popover;
+ DhSidebar *sidebar;
+};
+
+G_DEFINE_TYPE (GbpDevhelpMenuButton, gbp_devhelp_menu_button, GTK_TYPE_MENU_BUTTON)
+
+static void
+gbp_devhelp_menu_button_link_selected (GbpDevhelpMenuButton *self,
+ DhLink *link,
+ DhSidebar *sidebar)
+{
+ g_autofree gchar *uri = NULL;
+
+ g_assert (GBP_IS_DEVHELP_MENU_BUTTON (self));
+ g_assert (link != NULL);
+ g_assert (DH_IS_SIDEBAR (sidebar));
+
+ uri = dh_link_get_uri (link);
+
+ dzl_gtk_widget_action (GTK_WIDGET (self),
+ "devhelp", "navigate-to",
+ g_variant_new_string (uri));
+}
+
+static void
+gbp_devhelp_menu_button_class_init (GbpDevhelpMenuButtonClass *klass)
+{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtk_widget_class_set_template_from_resource (widget_class,
+
"/org/gnome/builder/plugins/devhelp-plugin/gbp-devhelp-menu-button.ui");
+ gtk_widget_class_bind_template_child (widget_class, GbpDevhelpMenuButton, popover);
+ gtk_widget_class_bind_template_child (widget_class, GbpDevhelpMenuButton, sidebar);
+
+ g_type_ensure (DH_TYPE_SIDEBAR);
+}
+
+static void
+gbp_devhelp_menu_button_init (GbpDevhelpMenuButton *self)
+{
+ gtk_widget_init_template (GTK_WIDGET (self));
+
+ g_signal_connect_swapped (self->sidebar,
+ "link-selected",
+ G_CALLBACK (gbp_devhelp_menu_button_link_selected),
+ self);
+}
+
+void
+gbp_devhelp_menu_button_search (GbpDevhelpMenuButton *self,
+ const gchar *keyword)
+{
+ g_return_if_fail (GBP_IS_DEVHELP_MENU_BUTTON (self));
+
+ gtk_popover_popdown (GTK_POPOVER (self->popover));
+ dh_sidebar_set_search_string (self->sidebar, keyword);
+ dh_sidebar_set_search_focus (self->sidebar);
+}
diff --git a/plugins/devhelp/gbp-devhelp-menu-button.h b/plugins/devhelp/gbp-devhelp-menu-button.h
new file mode 100644
index 0000000..b85969b
--- /dev/null
+++ b/plugins/devhelp/gbp-devhelp-menu-button.h
@@ -0,0 +1,32 @@
+/* gbp-devhelp-menu-button.h
+ *
+ * Copyright (C) 2017 Christian Hergert <chergert redhat com>
+ *
+ * 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/>.
+ */
+
+#pragma once
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define GBP_TYPE_DEVHELP_MENU_BUTTON (gbp_devhelp_menu_button_get_type())
+
+G_DECLARE_FINAL_TYPE (GbpDevhelpMenuButton, gbp_devhelp_menu_button, GBP, DEVHELP_MENU_BUTTON, GtkMenuButton)
+
+void gbp_devhelp_menu_button_search (GbpDevhelpMenuButton *self,
+ const gchar *keyword);
+
+G_END_DECLS
diff --git a/plugins/devhelp/gbp-devhelp-menu-button.ui b/plugins/devhelp/gbp-devhelp-menu-button.ui
new file mode 100644
index 0000000..fce6654
--- /dev/null
+++ b/plugins/devhelp/gbp-devhelp-menu-button.ui
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <object class="GtkPopover" id="popover">
+ <!--
+ Unfortunately we can't use propagate-natural-width/height
+ inside the scrolled window because it doesn't propagate
+ properly from the sidebar.
+ -->
+ <property name="height-request">600</property>
+ <property name="width-request">420</property>
+ <style>
+ <class name="devhelp"/>
+ </style>
+ <child>
+ <object class="DhSidebar" id="sidebar">
+ <property name="orientation">vertical</property>
+ <property name="visible">true</property>
+ </object>
+ </child>
+ </object>
+ <template class="GbpDevhelpMenuButton" parent="GtkMenuButton">
+ <property name="popover">popover</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="label" translatable="yes">Documentation</property>
+ <property name="visible">true</property>
+ <property name="xalign">0.5</property>
+ </object>
+ </child>
+ </template>
+</interface>
diff --git a/plugins/devhelp/gbp-devhelp-plugin.c b/plugins/devhelp/gbp-devhelp-plugin.c
index 8b8152b..272453c 100644
--- a/plugins/devhelp/gbp-devhelp-plugin.c
+++ b/plugins/devhelp/gbp-devhelp-plugin.c
@@ -20,7 +20,7 @@
#include <libpeas/peas.h>
#include "gbp-devhelp-editor-view-addin.h"
-#include "gbp-devhelp-workbench-addin.h"
+#include "gbp-devhelp-layout-stack-addin.h"
void
peas_register_types (PeasObjectModule *module)
@@ -29,6 +29,6 @@ peas_register_types (PeasObjectModule *module)
IDE_TYPE_EDITOR_VIEW_ADDIN,
GBP_TYPE_DEVHELP_EDITOR_VIEW_ADDIN);
peas_object_module_register_extension_type (module,
- IDE_TYPE_WORKBENCH_ADDIN,
- GBP_TYPE_DEVHELP_WORKBENCH_ADDIN);
+ IDE_TYPE_LAYOUT_STACK_ADDIN,
+ GBP_TYPE_DEVHELP_LAYOUT_STACK_ADDIN);
}
diff --git a/plugins/devhelp/gbp-devhelp-resources.gresource.xml
b/plugins/devhelp/gbp-devhelp-resources.gresource.xml
index ba8120d..bbb69c5 100644
--- a/plugins/devhelp/gbp-devhelp-resources.gresource.xml
+++ b/plugins/devhelp/gbp-devhelp-resources.gresource.xml
@@ -2,6 +2,7 @@
<gresources>
<gresource prefix="/org/gnome/builder/plugins/devhelp-plugin">
<file>themes/shared.css</file>
+ <file>gbp-devhelp-menu-button.ui</file>
<file>gbp-devhelp-view.ui</file>
<file>gbp-devhelp-search.ui</file>
</gresource>
diff --git a/plugins/devhelp/meson.build b/plugins/devhelp/meson.build
index 26c752b..d39fb44 100644
--- a/plugins/devhelp/meson.build
+++ b/plugins/devhelp/meson.build
@@ -7,6 +7,11 @@ devhelp_resources = gnome.compile_resources(
)
devhelp_sources = [
+ 'gbp-devhelp-menu-button.c',
+ 'gbp-devhelp-menu-button.h',
+ 'gbp-devhelp-layout-stack-addin.c',
+ 'gbp-devhelp-layout-stack-addin.h',
+
'gbp-devhelp-editor-view-addin.c',
'gbp-devhelp-editor-view-addin.h',
'gbp-devhelp-panel.c',
diff --git a/plugins/devhelp/themes/shared.css b/plugins/devhelp/themes/shared.css
index e53dc97..9748f0d 100644
--- a/plugins/devhelp/themes/shared.css
+++ b/plugins/devhelp/themes/shared.css
@@ -1,4 +1,10 @@
-devhelppanel entry {
- border-radius: 0;
- border-width: 0 0 1px 0;
+popover.devhelp {
+ padding: 12px;
+}
+popover.devhelp treeview {
+ background: transparent;
+ color: @theme_fg_color;
+}
+popover.devhelp treeview:backdrop {
+ color: @theme_unfocused_fg_color;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]