[gnome-builder/wip/chergert/layout] devhelp: implement print
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/layout] devhelp: implement print
- Date: Sat, 8 Jul 2017 12:39:15 +0000 (UTC)
commit 74a379ff9417d932da211a10161d5fc744044612
Author: Christian Hergert <chergert redhat com>
Date: Sat Jul 8 05:39:05 2017 -0700
devhelp: implement print
Also remove things so we match the mockup.
plugins/devhelp/gbp-devhelp-view.c | 32 ++++++++++++++++++++++++++++++++
plugins/devhelp/gtk/menus.ui | 10 ++--------
2 files changed, 34 insertions(+), 8 deletions(-)
---
diff --git a/plugins/devhelp/gbp-devhelp-view.c b/plugins/devhelp/gbp-devhelp-view.c
index 7086440..f11640f 100644
--- a/plugins/devhelp/gbp-devhelp-view.c
+++ b/plugins/devhelp/gbp-devhelp-view.c
@@ -98,6 +98,23 @@ gbp_devhelp_view_create_split_view (IdeLayoutView *view)
}
static void
+gbp_devhelp_view_actions_print (GSimpleAction *action,
+ GVariant *param,
+ gpointer user_data)
+{
+ GbpDevhelpView *self = user_data;
+ WebKitPrintOperation *operation;
+ GtkWidget *window;
+
+ g_assert (GBP_IS_DEVHELP_VIEW (self));
+
+ operation = webkit_print_operation_new (self->web_view1);
+ window = gtk_widget_get_ancestor (GTK_WIDGET (self), GTK_TYPE_WINDOW);
+ webkit_print_operation_run_dialog (operation, GTK_WINDOW (window));
+ g_object_unref (operation);
+}
+
+static void
gbp_devhelp_view_set_property (GObject *object,
guint prop_id,
const GValue *value,
@@ -175,9 +192,15 @@ gbp_devhelp_view_class_init (GbpDevhelpViewClass *klass)
g_type_ensure (WEBKIT_TYPE_WEB_VIEW);
}
+static const GActionEntry actions[] = {
+ { "print", gbp_devhelp_view_actions_print },
+};
+
static void
gbp_devhelp_view_init (GbpDevhelpView *self)
{
+ g_autoptr(GSimpleActionGroup) group = NULL;
+
gtk_widget_init_template (GTK_WIDGET (self));
ide_layout_view_set_can_split (IDE_LAYOUT_VIEW (self), TRUE);
@@ -206,4 +229,13 @@ gbp_devhelp_view_init (GbpDevhelpView *self)
G_CALLBACK (gbp_devhelp_focus_in_event),
self,
G_CONNECT_SWAPPED);
+
+ 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 (self),
+ "devhelp-view",
+ G_ACTION_GROUP (group));
}
diff --git a/plugins/devhelp/gtk/menus.ui b/plugins/devhelp/gtk/menus.ui
index 8d9065b..85179ae 100644
--- a/plugins/devhelp/gtk/menus.ui
+++ b/plugins/devhelp/gtk/menus.ui
@@ -4,16 +4,10 @@
<section id="devhelp-document-section">
<attribute name="label" translatable="yes">Documentation</attribute>
<item>
- <attribute name="label" translatable="yes">Open in New Frame</attribute>
- <attribute name="action">layoutstack.open-in-new-frame</attribute>
+ <attribute name="label" translatable="yes">Print…</attribute>
+ <attribute name="action">devhelp-view.print</attribute>
</item>
<item>
- <attribute name="label" translatable="yes">Split</attribute>
- <attribute name="action">layoutstack.split-view</attribute>
- </item>
- </section>
- <section id="devhelp-close-section">
- <item>
<attribute name="label" translatable="yes">Close</attribute>
<attribute name="action">layoutstack.close-view</attribute>
</item>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]