diff options
Diffstat (limited to 'shell')
| -rw-r--r-- | shell/ev-application.c | 20 | ||||
| -rw-r--r-- | shell/ev-sidebar-annotations.c | 57 | ||||
| -rw-r--r-- | shell/ev-window.c | 13 |
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); } |
