]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-links.c
Added F3 as a find-next accelerator key, bug 579072
[evince.git] / shell / ev-sidebar-links.c
index 8017f7c605b071aae21054bdf59c7d5bf2d5c240..91986f8c0948d950ca6fe7331819fc2bc8f52bc6 100644 (file)
 #endif
 
 #include <string.h>
+
 #include <glib/gi18n.h>
 #include <gtk/gtk.h>
 
-#include "ev-sidebar-page.h"
-#include "ev-sidebar-links.h"
-#include "ev-job-queue.h"
 #include "ev-document-links.h"
+#include "ev-job-scheduler.h"
+#include "ev-sidebar-links.h"
+#include "ev-sidebar-page.h"
 #include "ev-window.h"
 
 struct _EvSidebarLinksPrivate {
@@ -145,7 +146,7 @@ ev_sidebar_links_dispose (GObject *object)
        if (sidebar->priv->job) {
                g_signal_handlers_disconnect_by_func (sidebar->priv->job,
                                                      job_finished_callback, sidebar);
-               ev_job_queue_remove_job (sidebar->priv->job);                                                 
+               ev_job_cancel (sidebar->priv->job);                                                   
                g_object_unref (sidebar->priv->job);
                sidebar->priv->job = NULL;
        }
@@ -323,10 +324,7 @@ print_section_cb (GtkWidget *menuitem, EvSidebarLinks *sidebar)
        
                window = gtk_widget_get_toplevel (GTK_WIDGET (sidebar));
                if (EV_IS_WINDOW (window)) {
-#ifdef WITH_PRINT
-                       ev_window_print_range (EV_WINDOW (window),
-                                              first_page, last_page);
-#endif
+                       ev_window_print_range (EV_WINDOW (window), first_page, last_page);
                }
        }
 }
@@ -437,14 +435,15 @@ ev_sidebar_links_construct (EvSidebarLinks *ev_sidebar_links)
        renderer = gtk_cell_renderer_text_new ();
        gtk_tree_view_column_pack_end (GTK_TREE_VIEW_COLUMN (column), renderer, FALSE);
        gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), renderer,
-                                            "markup", EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL,
+                                            "text", EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL,
                                             NULL);
+       g_object_set (G_OBJECT (renderer), "style", PANGO_STYLE_ITALIC, NULL);
 
-       g_signal_connect (GTK_TREE_VIEW (priv->tree_view),
+       g_signal_connect (priv->tree_view,
                          "button_press_event",
                          G_CALLBACK (button_press_cb),
                          ev_sidebar_links);
-       g_signal_connect (GTK_TREE_VIEW (priv->tree_view),
+       g_signal_connect (priv->tree_view,
                          "popup_menu",
                          G_CALLBACK (popup_menu_cb),
                          ev_sidebar_links);
@@ -467,8 +466,6 @@ fill_page_labels (GtkTreeModel *tree_model,
        EvLink *link;
        gint page;
        gchar *page_label;
-       gchar *page_string;
-
 
        gtk_tree_model_get (tree_model, iter,
                            EV_DOCUMENT_LINKS_COLUMN_LINK, &link,
@@ -484,14 +481,11 @@ fill_page_labels (GtkTreeModel *tree_model,
        
        page_label = ev_page_cache_get_page_label (sidebar_links->priv->page_cache,
                                                   page);
-       page_string = g_markup_printf_escaped ("<i>%s</i>", page_label);
-               
        gtk_tree_store_set (GTK_TREE_STORE (tree_model), iter,
-                           EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL, page_string
-                             -1);
+                           EV_DOCUMENT_LINKS_COLUMN_PAGE_LABEL, page_label
+                           -1);
 
        g_free (page_label);
-       g_free (page_string);
 
        g_object_unref (link);
        return FALSE;
@@ -597,7 +591,7 @@ row_activated_callback (GtkTreeView       *treeview,
                        GtkTreePath       *arg1,
                        GtkTreeViewColumn *arg2,
                        gpointer           user_data)
-{      
+{
        if (gtk_tree_view_row_expanded (GTK_TREE_VIEW (treeview), arg1)) {
                gtk_tree_view_collapse_row (GTK_TREE_VIEW (treeview), arg1);
        } else {
@@ -652,18 +646,26 @@ job_finished_callback (EvJobLinks     *job,
 
        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree_view));
        gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
-       priv->selection_id = g_signal_connect (selection, "changed",
-                                              G_CALLBACK (selection_changed_callback),
-                                              sidebar_links);
-       priv->page_changed_id = g_signal_connect (priv->page_cache, "page-changed",
+       
+       if (priv->selection_id <= 0) {
+               priv->selection_id =
+                       g_signal_connect (selection, "changed",
+                                         G_CALLBACK (selection_changed_callback),
+                                         sidebar_links);
+       }
+       priv->page_changed_id = g_signal_connect (priv->page_cache, "page-changed",
                                                  G_CALLBACK (update_page_callback),
                                                  sidebar_links);
-       priv->row_activated_id = g_signal_connect (G_OBJECT (priv->tree_view), "row-activated",
-                                                   G_CALLBACK (row_activated_callback), sidebar_links);
+       if (priv->row_activated_id <= 0) {
+               priv->row_activated_id =
+                       g_signal_connect (priv->tree_view, "row-activated",
+                                         G_CALLBACK (row_activated_callback),
+                                         sidebar_links);
+       }
+       
        update_page_callback (priv->page_cache,
                              ev_page_cache_get_current_page (priv->page_cache),
                              sidebar_links);
-
 }
 
 static void
@@ -701,7 +703,7 @@ ev_sidebar_links_set_document (EvSidebarPage  *sidebar_page,
                          G_CALLBACK (job_finished_callback),
                          sidebar_links);
        /* The priority doesn't matter for this job */
-       ev_job_queue_add_job (priv->job, EV_JOB_PRIORITY_LOW);
+       ev_job_scheduler_push_job (priv->job, EV_JOB_PRIORITY_NONE);
 }
 
 static gboolean