summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-application.c20
-rw-r--r--shell/ev-sidebar-annotations.c57
-rw-r--r--shell/ev-window.c13
3 files changed, 76 insertions, 14 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c
index 57f1b922..37d35eaa 100644
--- a/shell/ev-application.c
+++ b/shell/ev-application.c
@@ -221,18 +221,22 @@ ev_spawn (const char *uri,
/* Page label or index */
if (dest) {
switch (ev_link_dest_get_dest_type (dest)) {
- case EV_LINK_DEST_TYPE_PAGE_LABEL:
- g_string_append_printf (cmd, " --page-label=%s",
- ev_link_dest_get_page_label (dest));
+ case EV_LINK_DEST_TYPE_PAGE_LABEL: {
+ gchar *quoted = g_shell_quote (ev_link_dest_get_page_label (dest));
+ g_string_append_printf (cmd, " --page-label=%s", quoted);
+ g_free (quoted);
break;
+ }
case EV_LINK_DEST_TYPE_PAGE:
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));
+ case EV_LINK_DEST_TYPE_NAMED: {
+ gchar *quoted = g_shell_quote (ev_link_dest_get_named_dest (dest));
+ g_string_append_printf (cmd, " --named-dest=%s", quoted);
+ g_free (quoted);
break;
+ }
default:
break;
}
@@ -240,7 +244,9 @@ ev_spawn (const char *uri,
/* Find string */
if (search_string) {
- g_string_append_printf (cmd, " --find=%s", search_string);
+ gchar *quoted = g_shell_quote (search_string);
+ g_string_append_printf (cmd, " --find=%s", quoted);
+ g_free (quoted);
}
/* Mode */
diff --git a/shell/ev-sidebar-annotations.c b/shell/ev-sidebar-annotations.c
index cc39617f..0c75656b 100644
--- a/shell/ev-sidebar-annotations.c
+++ b/shell/ev-sidebar-annotations.c
@@ -333,6 +333,10 @@ job_finished_callback (EvJobAnnots *job,
GList *l;
GdkPixbuf *text_icon = NULL;
GdkPixbuf *attachment_icon = NULL;
+ GdkPixbuf *highlight_icon = NULL;
+ GdkPixbuf *strike_out_icon = NULL;
+ GdkPixbuf *underline_icon = NULL;
+ GdkPixbuf *squiggly_icon = NULL;
priv = sidebar_annots->priv;
@@ -421,6 +425,51 @@ job_finished_callback (EvJobAnnots *job,
NULL);
}
pixbuf = attachment_icon;
+ } else if (EV_IS_ANNOTATION_TEXT_MARKUP (annot)) {
+ switch (ev_annotation_text_markup_get_markup_type (EV_ANNOTATION_TEXT_MARKUP (annot))) {
+ case EV_ANNOTATION_TEXT_MARKUP_HIGHLIGHT:
+ if (!highlight_icon) {
+ highlight_icon = gtk_icon_theme_load_icon (icon_theme,
+ "edit-select-all",
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_LOOKUP_FORCE_REGULAR,
+ NULL);
+ }
+ pixbuf = highlight_icon;
+ break;
+ case EV_ANNOTATION_TEXT_MARKUP_STRIKE_OUT:
+ if (!strike_out_icon) {
+ strike_out_icon = gtk_icon_theme_load_icon (icon_theme,
+ "format-text-strikethrough",
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_LOOKUP_FORCE_REGULAR,
+ NULL);
+ }
+ pixbuf = strike_out_icon;
+ break;
+ case EV_ANNOTATION_TEXT_MARKUP_UNDERLINE:
+ if (!underline_icon) {
+ underline_icon = gtk_icon_theme_load_icon (icon_theme,
+ "format-text-underline",
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_LOOKUP_FORCE_REGULAR,
+ NULL);
+ }
+ pixbuf = underline_icon;
+ break;
+ case EV_ANNOTATION_TEXT_MARKUP_SQUIGGLY:
+ if (!squiggly_icon) {
+ squiggly_icon = gtk_icon_theme_load_icon (icon_theme,
+ "format-text-underline",
+ GTK_ICON_SIZE_BUTTON,
+ GTK_ICON_LOOKUP_FORCE_REGULAR,
+ NULL);
+ }
+ pixbuf = squiggly_icon;
+ break;
+ default:
+ break;
+ }
}
gtk_tree_store_append (model, &child_iter, &iter);
@@ -445,6 +494,14 @@ job_finished_callback (EvJobAnnots *job,
g_object_unref (text_icon);
if (attachment_icon)
g_object_unref (attachment_icon);
+ if (highlight_icon)
+ g_object_unref (highlight_icon);
+ if (strike_out_icon)
+ g_object_unref (strike_out_icon);
+ if (underline_icon)
+ g_object_unref (underline_icon);
+ if (squiggly_icon)
+ g_object_unref (squiggly_icon);
g_object_unref (job);
priv->job = NULL;
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 2e9432a6..b5eadfb3 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -1249,13 +1249,12 @@ setup_chrome_from_metadata (EvWindow *window)
gboolean show_toolbar;
gboolean show_sidebar;
- if (!window->priv->metadata)
- return;
-
- if (ev_metadata_get_boolean (window->priv->metadata, "show_toolbar", &show_toolbar))
- update_chrome_flag (window, EV_CHROME_TOOLBAR, show_toolbar);
- if (ev_metadata_get_boolean (window->priv->metadata, "sidebar_visibility", &show_sidebar))
- update_chrome_flag (window, EV_CHROME_SIDEBAR, show_sidebar);
+ if (window->priv->metadata) {
+ if (ev_metadata_get_boolean (window->priv->metadata, "show_toolbar", &show_toolbar))
+ update_chrome_flag (window, EV_CHROME_TOOLBAR, show_toolbar);
+ if (ev_metadata_get_boolean (window->priv->metadata, "sidebar_visibility", &show_sidebar))
+ update_chrome_flag (window, EV_CHROME_SIDEBAR, show_sidebar);
+ }
update_chrome_visibility (window);
}