X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-sidebar.c;h=f23a45f39cc00d7d33c48161f7d63403503e5f33;hb=848665b157185945d190a7a746d054d7f5d5e6e0;hp=3ba66ada46932cd8744b2b9c4a52ae6bf74deb7e;hpb=2cb9212432df8a72a106f76619db52ce9031f667;p=evince.git diff --git a/shell/ev-sidebar.c b/shell/ev-sidebar.c index 3ba66ada..f23a45f3 100644 --- a/shell/ev-sidebar.c +++ b/shell/ev-sidebar.c @@ -30,8 +30,6 @@ #include "ev-sidebar.h" #include "ev-sidebar-page.h" -#include "ev-document-thumbnails.h" -#include "ev-document-links.h" enum { @@ -65,6 +63,12 @@ ev_sidebar_destroy (GtkObject *object) gtk_menu_detach (GTK_MENU (ev_sidebar->priv->menu)); ev_sidebar->priv->menu = NULL; } + + if (ev_sidebar->priv->page_model) { + g_object_unref (ev_sidebar->priv->page_model); + ev_sidebar->priv->page_model = NULL; + } + (* GTK_OBJECT_CLASS (ev_sidebar_parent_class)->destroy) (object); } @@ -115,6 +119,15 @@ ev_sidebar_select_button_press_cb (GtkWidget *widget, EvSidebar *ev_sidebar = EV_SIDEBAR (user_data); if (event->button == 1) { + GtkRequisition requisition; + gint width; + + width = widget->allocation.width; + gtk_widget_set_size_request (ev_sidebar->priv->menu, -1, -1); + gtk_widget_size_request (ev_sidebar->priv->menu, &requisition); + gtk_widget_set_size_request (ev_sidebar->priv->menu, + MAX (width, requisition.width), -1); + gtk_widget_grab_focus (widget); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); @@ -208,6 +221,8 @@ ev_sidebar_menu_item_activate_cb (GtkWidget *widget, } else { valid = gtk_tree_model_iter_next (ev_sidebar->priv->page_model, &iter); } + g_object_unref (item); + g_free (title); } } @@ -356,6 +371,7 @@ ev_sidebar_add_page (EvSidebar *ev_sidebar, gtk_label_set_text (GTK_LABEL (ev_sidebar->priv->label), label_title); gtk_notebook_set_current_page (GTK_NOTEBOOK (ev_sidebar->priv->notebook), index); + g_free (label_title); } void @@ -392,6 +408,8 @@ ev_sidebar_set_document (EvSidebar *sidebar, } else { gtk_widget_set_sensitive (menu_widget, FALSE); } + g_object_unref (widget); + g_object_unref (menu_widget); } if (!has_pages) {