summaryrefslogtreecommitdiff
path: root/shell/ev-application.c
diff options
context:
space:
mode:
authorraveit65 <[email protected]>2016-07-14 09:36:07 +0200
committerraveit65 <[email protected]>2016-07-22 15:23:49 +0200
commitb0ec3f2702050fdbbb33e07f64dd518828d05883 (patch)
tree6c9e569f21be5e4a04308a45294fb49a528e77db /shell/ev-application.c
parentb63e414f8650d7c02db65c825dddd638e2fbb247 (diff)
downloadatril-b0ec3f2702050fdbbb33e07f64dd518828d05883.tar.bz2
atril-b0ec3f2702050fdbbb33e07f64dd518828d05883.tar.xz
Add --named-dest command line argument
and add spawn and dbus support for named destinations taken from: https://git.gnome.org/browse/evince/commit/?id=a90e764 https://git.gnome.org/browse/evince/commit/?id=26c0109
Diffstat (limited to 'shell/ev-application.c')
-rw-r--r--shell/ev-application.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c
index c008f57c..c1bf42f5 100644
--- a/shell/ev-application.c
+++ b/shell/ev-application.c
@@ -236,6 +236,10 @@ ev_spawn (const char *uri,
g_string_append_printf (cmd, " --page-index=%d",
ev_link_dest_get_page (dest) + 1);
break;
+ case EV_LINK_DEST_TYPE_NAMED:
+ g_string_append_printf (cmd, " --named-dest=%s",
+ ev_link_dest_get_named_dest (dest));
+ break;
default:
break;
}
@@ -454,6 +458,10 @@ on_register_uri_cb (GObject *source_object,
g_variant_builder_add (&builder, "{sv}", "page-index",
g_variant_new_uint32 (ev_link_dest_get_page (data->dest)));
break;
+ case EV_LINK_DEST_TYPE_NAMED:
+ g_variant_builder_add (&builder, "{sv}", "named-dest",
+ g_variant_new_string (ev_link_dest_get_named_dest (data->dest)));
+ break;
default:
break;
}
@@ -749,6 +757,8 @@ method_call_cb (GDBusConnection *connection,
mode = g_variant_get_uint32 (value);
} else if (strcmp (key, "page-label") == 0 && g_variant_classify (value) == G_VARIANT_CLASS_STRING) {
dest = ev_link_dest_new_page_label (g_variant_get_string (value, NULL));
+ } else if (strcmp (key, "named-dest") == 0 && g_variant_classify (value) == G_VARIANT_CLASS_STRING) {
+ dest = ev_link_dest_new_named (g_variant_get_string (value, NULL));
} else if (strcmp (key, "page-index") == 0 && g_variant_classify (value) == G_VARIANT_CLASS_UINT32) {
dest = ev_link_dest_new_page (g_variant_get_uint32 (value));
} else if (strcmp (key, "find-string") == 0 && g_variant_classify (value) == G_VARIANT_CLASS_STRING) {