From ddc0ad5b3bd75a640ba362cdccde7449654bae61 Mon Sep 17 00:00:00 2001 From: Anders Carlsson Date: Thu, 13 Jan 2005 16:23:29 +0000 Subject: Set the spin button limits correctly. 2005-01-13 Anders Carlsson * shell/ev-page-action.c: (update_spin), (total_pages_changed_cb), (create_tool_item): Set the spin button limits correctly. * shell/ev-sidebar-thumbnails.c: (ev_sidebar_tree_selection_changed), (ev_sidebar_thumbnails_init): Support changing pages by clicking on the thumbnails. --- (limited to 'shell/ev-sidebar-thumbnails.c') diff --git a/shell/ev-sidebar-thumbnails.c b/shell/ev-sidebar-thumbnails.c index e54eb97..88d7003 100644 --- a/shell/ev-sidebar-thumbnails.c +++ b/shell/ev-sidebar-thumbnails.c @@ -1,7 +1,7 @@ /* this file is part of evince, a gnome document viewer * * Copyright (C) 2004 Red Hat, Inc. - * Copyright (C) 2004 Anders Carlsson + * Copyright (C) 2004, 2005 Anders Carlsson * * Authors: * Jonathan Blandford @@ -129,17 +129,45 @@ adjustment_changed_cb (GtkAdjustment *adjustment, } static void +ev_sidebar_tree_selection_changed (GtkTreeSelection *selection, + EvSidebarThumbnails *ev_sidebar_thumbnails) +{ + EvSidebarThumbnailsPrivate *priv; + GtkTreePath *path; + GtkTreeIter iter; + int page; + + priv = ev_sidebar_thumbnails->priv = EV_SIDEBAR_THUMBNAILS_GET_PRIVATE (ev_sidebar_thumbnails); + + if (!gtk_tree_selection_get_selected (selection, NULL, &iter)) + return; + + path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->list_store), + &iter); + + page = gtk_tree_path_get_indices (path)[0] + 1; + + gtk_tree_path_free (path); + + ev_document_set_page (priv->document, page); +} + +static void ev_sidebar_thumbnails_init (EvSidebarThumbnails *ev_sidebar_thumbnails) { GtkWidget *swindow; EvSidebarThumbnailsPrivate *priv; GtkCellRenderer *renderer; + GtkTreeSelection *selection; priv = ev_sidebar_thumbnails->priv = EV_SIDEBAR_THUMBNAILS_GET_PRIVATE (ev_sidebar_thumbnails); - + priv->list_store = gtk_list_store_new (NUM_COLUMNS, G_TYPE_STRING, GDK_TYPE_PIXBUF, G_TYPE_BOOLEAN); priv->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (priv->list_store)); - + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree_view)); + g_signal_connect (selection, "changed", + G_CALLBACK (ev_sidebar_tree_selection_changed), ev_sidebar_thumbnails); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->tree_view), FALSE); renderer = g_object_new (GTK_TYPE_CELL_RENDERER_PIXBUF, "xpad", 2, -- cgit v0.9.1