]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-sidebar-links.c
Fix update of zoom control. Bug 308268
[evince.git] / shell / ev-sidebar-links.c
index 45719114a615d1c52de54dd019a20bf9f9466d8c..6573f808ac06645ef443334bd372f6297ef3e6b4 100644 (file)
@@ -52,6 +52,7 @@ struct _EvSidebarLinksPrivate {
 enum {
        PROP_0,
        PROP_MODEL,
+       PROP_WIDGET,
 };
 
 
@@ -128,6 +129,9 @@ ev_sidebar_links_get_property (GObject    *object,
        case PROP_MODEL:
                g_value_set_object (value, ev_sidebar_links->priv->model);
                break;
+       case PROP_WIDGET:
+               g_value_set_object (value, ev_sidebar_links->priv->tree_view);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
                break;
@@ -139,12 +143,6 @@ ev_sidebar_links_dispose (GObject *object)
 {
        EvSidebarLinks *sidebar = EV_SIDEBAR_LINKS (object);
 
-       if (sidebar->priv->document) {
-               g_object_unref (sidebar->priv->document);
-               sidebar->priv->document = NULL;
-               sidebar->priv->page_cache = NULL;
-       }
-
        if (sidebar->priv->job) {
                g_signal_handlers_disconnect_by_func (sidebar->priv->job,
                                                      job_finished_callback, sidebar);
@@ -153,6 +151,13 @@ ev_sidebar_links_dispose (GObject *object)
                sidebar->priv->job = NULL;
        }
 
+       if (sidebar->priv->document) {
+               g_object_unref (sidebar->priv->document);
+               sidebar->priv->document = NULL;
+               sidebar->priv->page_cache = NULL;
+       }
+
+
        G_OBJECT_CLASS (ev_sidebar_links_parent_class)->dispose (object);
 }
 
@@ -174,6 +179,9 @@ ev_sidebar_links_class_init (EvSidebarLinksClass *ev_sidebar_links_class)
                                                              "Current Model",
                                                              GTK_TYPE_TREE_MODEL,
                                                              G_PARAM_READWRITE));
+       g_object_class_override_property (g_object_class,
+                                         PROP_WIDGET,
+                                         "main-widget");
 
        g_type_class_add_private (g_object_class, sizeof (EvSidebarLinksPrivate));
 }
@@ -220,7 +228,7 @@ create_loading_model (void)
        /* Creates a fake model to indicate that we're loading */
        retval = (GtkTreeModel *)gtk_list_store_new (EV_DOCUMENT_LINKS_COLUMN_NUM_COLUMNS,
                                                     G_TYPE_STRING,
-                                                    G_TYPE_OBJECT,
+                                                    G_TYPE_POINTER,
                                                     G_TYPE_BOOLEAN);
 
        gtk_list_store_append (GTK_LIST_STORE (retval), &iter);
@@ -522,13 +530,11 @@ static void
 expand_open_links (GtkTreeView *tree_view, GtkTreeModel *model, GtkTreeIter *parent)
 {
        GtkTreeIter iter;
-       EvLink *link;
        gboolean expand;
 
        if (gtk_tree_model_iter_children (model, &iter, parent)) {
                do {
                        gtk_tree_model_get (model, &iter,
-                                           EV_DOCUMENT_LINKS_COLUMN_LINK, &link,
                                            EV_DOCUMENT_LINKS_COLUMN_EXPAND, &expand,
                                            -1);
                        if (expand) {
@@ -630,12 +636,6 @@ ev_sidebar_links_get_label (EvSidebarPage *sidebar_page)
     return _("Index");
 }
 
-GtkWidget *
-ev_sidebar_links_get_treeview (EvSidebarLinks *sidebar)
-{
-       return sidebar->priv->tree_view;
-}
-
 static void
 ev_sidebar_links_page_iface_init (EvSidebarPageIface *iface)
 {