]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-links.c
Clear the list store when setting document
[evince.git] / shell / ev-sidebar-links.c
index 4db11b668cfc642c051a2802c53317fd37a4b623..19b9ecfe20558bbfeb87238951b3d7555f85cf73 100644 (file)
@@ -29,7 +29,7 @@
 
 #include "ev-sidebar-links.h"
 #include "ev-document-links.h"
-#include "ev-application.h"
+#include "ev-window.h"
 
 /* Amount of time we devote to each iteration of the idle, in microseconds */
 #define IDLE_WORK_LENGTH 5000
@@ -105,7 +105,6 @@ selection_changed_cb (GtkTreeSelection   *selection,
 
        if (gtk_tree_selection_get_selected (selection, &model, &iter)) {
                EvLink *link;
-               EvApplication *app;
                GtkWidget *window;
                GValue value = {0, };
 
@@ -118,9 +117,7 @@ selection_changed_cb (GtkTreeSelection   *selection,
                window = gtk_widget_get_ancestor (GTK_WIDGET (ev_sidebar_links),
                                                  EV_TYPE_WINDOW);
                if (window) {
-                       app = ev_application_get_instance ();
-                       ev_application_open_link (app, EV_WINDOW (window),
-                                                 link, NULL);
+                       ev_window_open_link (EV_WINDOW (window), link);
                }
        }
 }
@@ -254,6 +251,7 @@ do_one_iteration (EvSidebarLinks *ev_sidebar_links)
        IdleStackData *stack_data;
        GtkTreeIter tree_iter;
        EvDocumentLinksIter *child_iter;
+       EvLinkType link_type;
        gint page;
 
        g_assert (priv->idle_stack);
@@ -269,12 +267,12 @@ do_one_iteration (EvSidebarLinks *ev_sidebar_links)
        }
 
        page = ev_link_get_page (link);
+       link_type = ev_link_get_link_type (link);
        gtk_tree_store_append (GTK_TREE_STORE (priv->model), &tree_iter, stack_data->tree_iter);
        gtk_tree_store_set (GTK_TREE_STORE (priv->model), &tree_iter,
                            LINKS_COLUMN_MARKUP, ev_link_get_title (link),
                            LINKS_COLUMN_PAGE_NUM, page,
-                           /* FIXME: Handle links for real. */
-                           LINKS_COLUMN_PAGE_VALID, (page >= 0),
+                           LINKS_COLUMN_PAGE_VALID, (link_type == EV_LINK_TYPE_PAGE),
                            LINKS_COLUMN_LINK, link,
                            -1);
        g_object_unref (link);