From 2d5fe16a0b4a8bbb85933e471a62550384446821 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 10 Jan 2005 19:08:15 +0000 Subject: Rename bookmark to link, and use "Index" for the sidebar panel. --- (limited to 'shell') diff --git a/shell/Makefile.am b/shell/Makefile.am index 7b088f7..5fb0bdb 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -39,8 +39,8 @@ evince_SOURCES= \ ev-window.h \ ev-sidebar.c \ ev-sidebar.h \ - ev-sidebar-bookmarks.c \ - ev-sidebar-bookmarks.h \ + ev-sidebar-links.c \ + ev-sidebar-links.h \ ev-sidebar-thumbnails.c \ ev-sidebar-thumbnails.h \ ev-stock-icons.c \ diff --git a/shell/ev-application.c b/shell/ev-application.c index 896fa90..05f86ce 100644 --- a/shell/ev-application.c +++ b/shell/ev-application.c @@ -170,24 +170,24 @@ ev_application_open (EvApplication *application, GError *err) } void -ev_application_open_bookmark (EvApplication *application, - EvWindow *window, - EvBookmark *bookmark, - GError *error) +ev_application_open_link (EvApplication *application, + EvWindow *window, + EvLink *link, + GError *error) { - EvBookmarkType type; + EvLinkType type; const char *uri; - type = ev_bookmark_get_bookmark_type (bookmark); + type = ev_link_get_link_type (link); switch (type) { - case EV_BOOKMARK_TYPE_TITLE: + case EV_LINK_TYPE_TITLE: break; - case EV_BOOKMARK_TYPE_LINK: - ev_window_open_bookmark (window, bookmark); + case EV_LINK_TYPE_PAGE: + ev_window_open_link (window, link); break; - case EV_BOOKMARK_TYPE_EXTERNAL_URI: - uri = ev_bookmark_get_uri (bookmark); + case EV_LINK_TYPE_EXTERNAL_URI: + uri = ev_link_get_uri (link); gnome_vfs_url_show (uri); break; } diff --git a/shell/ev-application.h b/shell/ev-application.h index 19a848b..a22e7dc 100644 --- a/shell/ev-application.h +++ b/shell/ev-application.h @@ -28,7 +28,7 @@ #include "ev-window.h" #include "ev-document.h" -#include "ev-bookmark.h" +#include "ev-link.h" G_BEGIN_DECLS @@ -59,9 +59,9 @@ EvApplication *ev_application_get_instance (void); void ev_application_open (EvApplication *application, GError *err); EvWindow *ev_application_new_window (EvApplication *application); -void ev_application_open_bookmark (EvApplication *application, +void ev_application_open_link (EvApplication *application, EvWindow *window, - EvBookmark *bookmark, + EvLink *link, GError *err); G_END_DECLS diff --git a/shell/ev-history.c b/shell/ev-history.c index 47fa300..267b41b 100644 --- a/shell/ev-history.c +++ b/shell/ev-history.c @@ -77,16 +77,16 @@ ev_history_class_init (EvHistoryClass *class) } void -ev_history_add_link (EvHistory *history, EvBookmark *bookmark) +ev_history_add_link (EvHistory *history, EvLink *link) { int length; g_return_if_fail (EV_IS_HISTORY (history)); - g_return_if_fail (EV_IS_BOOKMARK (bookmark)); + g_return_if_fail (EV_IS_LINK (link)); - g_object_ref (bookmark); + g_object_ref (link); history->priv->links = g_list_append (history->priv->links, - bookmark); + link); length = g_list_length (history->priv->links); history->priv->current_index = length - 1; @@ -97,19 +97,19 @@ ev_history_add_link (EvHistory *history, EvBookmark *bookmark) void ev_history_add_page (EvHistory *history, int page) { - EvBookmark *bookmark; + EvLink *link; char *title; g_return_if_fail (EV_IS_HISTORY (history)); title = g_strdup_printf (_("Page %d\n"), page); - bookmark = ev_bookmark_new_link (title, page); + link = ev_link_new_page (title, page); g_free (title); - ev_history_add_link (history, bookmark); + ev_history_add_link (history, link); } -EvBookmark * +EvLink * ev_history_get_link_nth (EvHistory *history, int index) { GList *l; @@ -118,7 +118,7 @@ ev_history_get_link_nth (EvHistory *history, int index) l = g_list_nth (history->priv->links, index); - return EV_BOOKMARK (l->data); + return EV_LINK (l->data); } int diff --git a/shell/ev-history.h b/shell/ev-history.h index f69cd48..b8cfceb 100644 --- a/shell/ev-history.h +++ b/shell/ev-history.h @@ -23,7 +23,7 @@ #include -#include "ev-bookmark.h" +#include "ev-link.h" G_BEGIN_DECLS @@ -54,10 +54,10 @@ struct _EvHistoryClass GType ev_history_get_type (void); EvHistory *ev_history_new (void); void ev_history_add_link (EvHistory *history, - EvBookmark *bookmark); + EvLink *linkk); void ev_history_add_page (EvHistory *history, int page); -EvBookmark *ev_history_get_link_nth (EvHistory *history, +EvLink *ev_history_get_link_nth (EvHistory *history, int index); int ev_history_get_n_links (EvHistory *history); int ev_history_get_current_index (EvHistory *history); diff --git a/shell/ev-sidebar-bookmarks.h b/shell/ev-sidebar-bookmarks.h deleted file mode 100644 index e3f3cc6..0000000 --- a/shell/ev-sidebar-bookmarks.h +++ /dev/null @@ -1,63 +0,0 @@ -/* ev-sidebar-bookmarks.h - * this file is part of evince, a gnome document viewer - * - * Copyright (C) 2004 Red Hat, Inc. - * - * Author: - * Jonathan Blandford - * - * Evince is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * Evince is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifndef __EV_SIDEBAR_BOOKMARKS_H__ -#define __EV_SIDEBAR_BOOKMARKS_H__ - -#include -#include "ev-document.h" - -G_BEGIN_DECLS - -typedef struct _EvSidebarBookmarks EvSidebarBookmarks; -typedef struct _EvSidebarBookmarksClass EvSidebarBookmarksClass; -typedef struct _EvSidebarBookmarksPrivate EvSidebarBookmarksPrivate; - -#define EV_TYPE_SIDEBAR_BOOKMARKS (ev_sidebar_bookmarks_get_type()) -#define EV_SIDEBAR_BOOKMARKS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_SIDEBAR_BOOKMARKS, EvSidebarBookmarks)) -#define EV_SIDEBAR_BOOKMARKS_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_SIDEBAR_BOOKMARKS, EvSidebarBookmarksClass)) -#define EV_IS_SIDEBAR_BOOKMARKS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_SIDEBAR_BOOKMARKS)) -#define EV_IS_SIDEBAR_BOOKMARKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_SIDEBAR_BOOKMARKS)) -#define EV_SIDEBAR_BOOKMARKS_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_SIDEBAR_BOOKMARKS, EvSidebarBookmarksClass)) - -struct _EvSidebarBookmarks { - GtkVBox base_instance; - - EvSidebarBookmarksPrivate *priv; -}; - -struct _EvSidebarBookmarksClass { - GtkVBoxClass base_class; -}; - -GType ev_sidebar_bookmarks_get_type (void); -GtkWidget *ev_sidebar_bookmarks_new (void); -void ev_sidebar_bookmarks_set_document (EvSidebarBookmarks *ev_sidebar_bookmarks, - EvDocument *document); -void ev_sidebar_bookmarks_clear_document (EvSidebarBookmarks *sidebar_bookmarks); - -G_END_DECLS - -#endif /* __EV_SIDEBAR_BOOKMARKS_H__ */ - - diff --git a/shell/ev-sidebar-bookmarks.c b/shell/ev-sidebar-links.c index 5c463b4..4db11b6 100644 --- a/shell/ev-sidebar-bookmarks.c +++ b/shell/ev-sidebar-links.c @@ -27,19 +27,19 @@ #include #include -#include "ev-sidebar-bookmarks.h" -#include "ev-document-bookmarks.h" +#include "ev-sidebar-links.h" +#include "ev-document-links.h" #include "ev-application.h" /* Amount of time we devote to each iteration of the idle, in microseconds */ #define IDLE_WORK_LENGTH 5000 typedef struct { - EvDocumentBookmarksIter *bookmarks_iter; + EvDocumentLinksIter *links_iter; GtkTreeIter *tree_iter; } IdleStackData; -struct _EvSidebarBookmarksPrivate { +struct _EvSidebarLinksPrivate { GtkWidget *tree_view; GtkTreeModel *model; EvDocument *current_document; @@ -48,94 +48,94 @@ struct _EvSidebarBookmarksPrivate { }; enum { - BOOKMARKS_COLUMN_MARKUP, - BOOKMARKS_COLUMN_PAGE_NUM, - BOOKMARKS_COLUMN_PAGE_VALID, - BOOKMARKS_COLUMN_BOOKMARK, - BOOKMARKS_COLUMN_NUM_COLUMNS + LINKS_COLUMN_MARKUP, + LINKS_COLUMN_PAGE_NUM, + LINKS_COLUMN_PAGE_VALID, + LINKS_COLUMN_LINK, + LINKS_COLUMN_NUM_COLUMNS }; -static void bookmarks_page_num_func (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data); +static void links_page_num_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gpointer data); -G_DEFINE_TYPE (EvSidebarBookmarks, ev_sidebar_bookmarks, GTK_TYPE_VBOX) +G_DEFINE_TYPE (EvSidebarLinks, ev_sidebar_links, GTK_TYPE_VBOX) -#define EV_SIDEBAR_BOOKMARKS_GET_PRIVATE(object) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((object), EV_TYPE_SIDEBAR_BOOKMARKS, EvSidebarBookmarksPrivate)) +#define EV_SIDEBAR_LINKS_GET_PRIVATE(object) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((object), EV_TYPE_SIDEBAR_LINKS, EvSidebarLinksPrivate)) static void -ev_sidebar_bookmarks_destroy (GtkObject *object) +ev_sidebar_links_destroy (GtkObject *object) { - EvSidebarBookmarks *ev_sidebar_bookmarks = (EvSidebarBookmarks *) object; + EvSidebarLinks *ev_sidebar_links = (EvSidebarLinks *) object; - g_print ("ev_sidebar_bookmarks_destroy!\n"); - ev_sidebar_bookmarks_clear_document (ev_sidebar_bookmarks); + g_print ("ev_sidebar_links_destroy!\n"); + ev_sidebar_links_clear_document (ev_sidebar_links); } static void -ev_sidebar_bookmarks_class_init (EvSidebarBookmarksClass *ev_sidebar_bookmarks_class) +ev_sidebar_links_class_init (EvSidebarLinksClass *ev_sidebar_links_class) { GObjectClass *g_object_class; GtkObjectClass *gtk_object_class; - g_object_class = G_OBJECT_CLASS (ev_sidebar_bookmarks_class); - gtk_object_class = GTK_OBJECT_CLASS (ev_sidebar_bookmarks_class); + g_object_class = G_OBJECT_CLASS (ev_sidebar_links_class); + gtk_object_class = GTK_OBJECT_CLASS (ev_sidebar_links_class); - gtk_object_class->destroy = ev_sidebar_bookmarks_destroy; + gtk_object_class->destroy = ev_sidebar_links_destroy; - g_type_class_add_private (g_object_class, sizeof (EvSidebarBookmarksPrivate)); + g_type_class_add_private (g_object_class, sizeof (EvSidebarLinksPrivate)); } static void selection_changed_cb (GtkTreeSelection *selection, - EvSidebarBookmarks *ev_sidebar_bookmarks) + EvSidebarLinks *ev_sidebar_links) { EvDocument *document; GtkTreeModel *model; GtkTreeIter iter; - g_return_if_fail (EV_IS_SIDEBAR_BOOKMARKS (ev_sidebar_bookmarks)); + g_return_if_fail (EV_IS_SIDEBAR_LINKS (ev_sidebar_links)); - document = EV_DOCUMENT (ev_sidebar_bookmarks->priv->current_document); - g_return_if_fail (ev_sidebar_bookmarks->priv->current_document != NULL); + document = EV_DOCUMENT (ev_sidebar_links->priv->current_document); + g_return_if_fail (ev_sidebar_links->priv->current_document != NULL); if (gtk_tree_selection_get_selected (selection, &model, &iter)) { - EvBookmark *bookmark; + EvLink *link; EvApplication *app; GtkWidget *window; GValue value = {0, }; gtk_tree_model_get_value (model, &iter, - BOOKMARKS_COLUMN_BOOKMARK, &value); + LINKS_COLUMN_LINK, &value); - bookmark = EV_BOOKMARK (g_value_get_object (&value)); - g_return_if_fail (bookmark != NULL); + link = EV_LINK (g_value_get_object (&value)); + g_return_if_fail (link != NULL); - window = gtk_widget_get_ancestor (GTK_WIDGET (ev_sidebar_bookmarks), + window = gtk_widget_get_ancestor (GTK_WIDGET (ev_sidebar_links), EV_TYPE_WINDOW); if (window) { app = ev_application_get_instance (); - ev_application_open_bookmark (app, EV_WINDOW (window), - bookmark, NULL); + ev_application_open_link (app, EV_WINDOW (window), + link, NULL); } } } static void -ev_sidebar_bookmarks_construct (EvSidebarBookmarks *ev_sidebar_bookmarks) +ev_sidebar_links_construct (EvSidebarLinks *ev_sidebar_links) { - EvSidebarBookmarksPrivate *priv; + EvSidebarLinksPrivate *priv; GtkWidget *swindow; GtkTreeViewColumn *column; GtkCellRenderer *renderer; GtkTreeSelection *selection; - priv = ev_sidebar_bookmarks->priv; - priv->model = (GtkTreeModel *) gtk_tree_store_new (BOOKMARKS_COLUMN_NUM_COLUMNS, + priv = ev_sidebar_links->priv; + priv->model = (GtkTreeModel *) gtk_tree_store_new (LINKS_COLUMN_NUM_COLUMNS, G_TYPE_STRING, G_TYPE_INT, G_TYPE_BOOLEAN, @@ -155,8 +155,8 @@ ev_sidebar_bookmarks_construct (EvSidebarBookmarks *ev_sidebar_bookmarks) gtk_container_add (GTK_CONTAINER (swindow), priv->tree_view); gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->tree_view), TRUE); - gtk_box_pack_start (GTK_BOX (ev_sidebar_bookmarks), swindow, TRUE, TRUE, 0); - gtk_widget_show_all (GTK_WIDGET (ev_sidebar_bookmarks)); + gtk_box_pack_start (GTK_BOX (ev_sidebar_links), swindow, TRUE, TRUE, 0); + gtk_widget_show_all (GTK_WIDGET (ev_sidebar_links)); column = gtk_tree_view_column_new (); gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE); @@ -168,43 +168,43 @@ ev_sidebar_bookmarks_construct (EvSidebarBookmarks *ev_sidebar_bookmarks) NULL); gtk_tree_view_column_pack_start (GTK_TREE_VIEW_COLUMN (column), renderer, TRUE); gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), renderer, - "markup", BOOKMARKS_COLUMN_MARKUP, + "markup", LINKS_COLUMN_MARKUP, NULL); renderer = gtk_cell_renderer_text_new (); gtk_tree_view_column_pack_end (GTK_TREE_VIEW_COLUMN (column), renderer, FALSE); gtk_tree_view_column_set_cell_data_func (GTK_TREE_VIEW_COLUMN (column), renderer, - (GtkTreeCellDataFunc) bookmarks_page_num_func, + (GtkTreeCellDataFunc) links_page_num_func, NULL, NULL); selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->tree_view)); g_signal_connect (selection, "changed", G_CALLBACK (selection_changed_cb), - ev_sidebar_bookmarks); + ev_sidebar_links); } static void -ev_sidebar_bookmarks_init (EvSidebarBookmarks *ev_sidebar_bookmarks) +ev_sidebar_links_init (EvSidebarLinks *ev_sidebar_links) { - ev_sidebar_bookmarks->priv = EV_SIDEBAR_BOOKMARKS_GET_PRIVATE (ev_sidebar_bookmarks); + ev_sidebar_links->priv = EV_SIDEBAR_LINKS_GET_PRIVATE (ev_sidebar_links); - ev_sidebar_bookmarks_construct (ev_sidebar_bookmarks); + ev_sidebar_links_construct (ev_sidebar_links); } static void -bookmarks_page_num_func (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data) +links_page_num_func (GtkTreeViewColumn *tree_column, + GtkCellRenderer *cell, + GtkTreeModel *tree_model, + GtkTreeIter *iter, + gpointer data) { int page_num; gboolean page_valid; gtk_tree_model_get (tree_model, iter, - BOOKMARKS_COLUMN_PAGE_NUM, &page_num, - BOOKMARKS_COLUMN_PAGE_VALID, &page_valid, + LINKS_COLUMN_PAGE_NUM, &page_num, + LINKS_COLUMN_PAGE_VALID, &page_valid, -1); if (page_valid) { @@ -224,69 +224,69 @@ bookmarks_page_num_func (GtkTreeViewColumn *tree_column, /* Public Functions */ GtkWidget * -ev_sidebar_bookmarks_new (void) +ev_sidebar_links_new (void) { - GtkWidget *ev_sidebar_bookmarks; + GtkWidget *ev_sidebar_links; - ev_sidebar_bookmarks = g_object_new (EV_TYPE_SIDEBAR_BOOKMARKS, NULL); + ev_sidebar_links = g_object_new (EV_TYPE_SIDEBAR_LINKS, NULL); - return ev_sidebar_bookmarks; + return ev_sidebar_links; } static void stack_data_free (IdleStackData *stack_data, - EvDocumentBookmarks *document_bookmarks) + EvDocumentLinks *document_links) { g_assert (stack_data); if (stack_data->tree_iter) gtk_tree_iter_free (stack_data->tree_iter); - if (stack_data->bookmarks_iter) - ev_document_bookmarks_free_iter (document_bookmarks, stack_data->bookmarks_iter); + if (stack_data->links_iter) + ev_document_links_free_iter (document_links, stack_data->links_iter); g_free (stack_data); } static gboolean -do_one_iteration (EvSidebarBookmarks *ev_sidebar_bookmarks) +do_one_iteration (EvSidebarLinks *ev_sidebar_links) { - EvSidebarBookmarksPrivate *priv = ev_sidebar_bookmarks->priv; - EvBookmark *bookmark; + EvSidebarLinksPrivate *priv = ev_sidebar_links->priv; + EvLink *link; IdleStackData *stack_data; GtkTreeIter tree_iter; - EvDocumentBookmarksIter *child_iter; + EvDocumentLinksIter *child_iter; gint page; g_assert (priv->idle_stack); stack_data = (IdleStackData *) priv->idle_stack->data; - bookmark = ev_document_bookmarks_get_bookmark - (EV_DOCUMENT_BOOKMARKS (priv->current_document), - stack_data->bookmarks_iter); - if (bookmark == NULL) { + link = ev_document_links_get_link + (EV_DOCUMENT_LINKS (priv->current_document), + stack_data->links_iter); + if (link == NULL) { g_warning ("mismatch in model. No values available at current level.\n"); return FALSE; } - page = ev_bookmark_get_page (bookmark); + page = ev_link_get_page (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, - BOOKMARKS_COLUMN_MARKUP, ev_bookmark_get_title (bookmark), - BOOKMARKS_COLUMN_PAGE_NUM, page, + LINKS_COLUMN_MARKUP, ev_link_get_title (link), + LINKS_COLUMN_PAGE_NUM, page, /* FIXME: Handle links for real. */ - BOOKMARKS_COLUMN_PAGE_VALID, (page >= 0), - BOOKMARKS_COLUMN_BOOKMARK, bookmark, + LINKS_COLUMN_PAGE_VALID, (page >= 0), + LINKS_COLUMN_LINK, link, -1); - g_object_unref (bookmark); + g_object_unref (link); - child_iter = ev_document_bookmarks_get_child (EV_DOCUMENT_BOOKMARKS (priv->current_document), - stack_data->bookmarks_iter); + child_iter = ev_document_links_get_child (EV_DOCUMENT_LINKS (priv->current_document), + stack_data->links_iter); if (child_iter) { IdleStackData *child_stack_data; child_stack_data = g_new0 (IdleStackData, 1); child_stack_data->tree_iter = gtk_tree_iter_copy (&tree_iter); - child_stack_data->bookmarks_iter = child_iter; + child_stack_data->links_iter = child_iter; priv->idle_stack = g_list_prepend (priv->idle_stack, child_stack_data); return TRUE; @@ -294,13 +294,13 @@ do_one_iteration (EvSidebarBookmarks *ev_sidebar_bookmarks) /* We don't have children, so we need to walk to the next node */ while (TRUE) { - if (ev_document_bookmarks_next (EV_DOCUMENT_BOOKMARKS (priv->current_document), - stack_data->bookmarks_iter)) + if (ev_document_links_next (EV_DOCUMENT_LINKS (priv->current_document), + stack_data->links_iter)) return TRUE; /* We're done with this level. Pop it off the idle stack and go * to the next level */ - stack_data_free (stack_data, EV_DOCUMENT_BOOKMARKS (priv->current_document)); + stack_data_free (stack_data, EV_DOCUMENT_LINKS (priv->current_document)); priv->idle_stack = g_list_delete_link (priv->idle_stack, priv->idle_stack); if (priv->idle_stack == NULL) return FALSE; @@ -309,14 +309,14 @@ do_one_iteration (EvSidebarBookmarks *ev_sidebar_bookmarks) } static gboolean -populate_bookmarks_idle (gpointer data) +populate_links_idle (gpointer data) { GTimer *timer; gint i; gulong microseconds = 0; - EvSidebarBookmarks *ev_sidebar_bookmarks = (EvSidebarBookmarks *)data; - EvSidebarBookmarksPrivate *priv = ev_sidebar_bookmarks->priv; + EvSidebarLinks *ev_sidebar_links = (EvSidebarLinks *)data; + EvSidebarLinksPrivate *priv = ev_sidebar_links->priv; if (priv->idle_stack == NULL) { priv->idle_id = 0; @@ -329,7 +329,7 @@ populate_bookmarks_idle (gpointer data) timer = g_timer_new (); i = 0; g_timer_start (timer); - while (do_one_iteration (ev_sidebar_bookmarks)) { + while (do_one_iteration (ev_sidebar_links)) { i++; g_timer_elapsed (timer, µseconds); if (microseconds > IDLE_WORK_LENGTH) @@ -343,13 +343,13 @@ populate_bookmarks_idle (gpointer data) } void -ev_sidebar_bookmarks_clear_document (EvSidebarBookmarks *sidebar_bookmarks) +ev_sidebar_links_clear_document (EvSidebarLinks *sidebar_links) { - EvSidebarBookmarksPrivate *priv; + EvSidebarLinksPrivate *priv; - g_return_if_fail (EV_IS_SIDEBAR_BOOKMARKS (sidebar_bookmarks)); + g_return_if_fail (EV_IS_SIDEBAR_LINKS (sidebar_links)); - priv = sidebar_bookmarks->priv; + priv = sidebar_links->priv; if (priv->current_document) { g_object_unref (priv->current_document); priv->current_document = NULL; @@ -368,31 +368,31 @@ ev_sidebar_bookmarks_clear_document (EvSidebarBookmarks *sidebar_bookmarks) } void -ev_sidebar_bookmarks_set_document (EvSidebarBookmarks *sidebar_bookmarks, - EvDocument *document) +ev_sidebar_links_set_document (EvSidebarLinks *sidebar_links, + EvDocument *document) { - EvSidebarBookmarksPrivate *priv; - EvDocumentBookmarksIter *bookmarks_iter; + EvSidebarLinksPrivate *priv; + EvDocumentLinksIter *links_iter; - g_return_if_fail (EV_IS_SIDEBAR_BOOKMARKS (sidebar_bookmarks)); + g_return_if_fail (EV_IS_SIDEBAR_LINKS (sidebar_links)); g_return_if_fail (EV_IS_DOCUMENT (document)); - priv = sidebar_bookmarks->priv; + priv = sidebar_links->priv; g_object_ref (document); - ev_sidebar_bookmarks_clear_document (sidebar_bookmarks); + ev_sidebar_links_clear_document (sidebar_links); priv->current_document = document; - bookmarks_iter = ev_document_bookmarks_begin_read (EV_DOCUMENT_BOOKMARKS (document)); - if (bookmarks_iter) { + links_iter = ev_document_links_begin_read (EV_DOCUMENT_LINKS (document)); + if (links_iter) { IdleStackData *stack_data; stack_data = g_new0 (IdleStackData, 1); - stack_data->bookmarks_iter = bookmarks_iter; + stack_data->links_iter = links_iter; stack_data->tree_iter = NULL; priv->idle_stack = g_list_prepend (priv->idle_stack, stack_data); - priv->idle_id = g_idle_add (populate_bookmarks_idle, sidebar_bookmarks); + priv->idle_id = g_idle_add (populate_links_idle, sidebar_links); } } diff --git a/shell/ev-sidebar-links.h b/shell/ev-sidebar-links.h new file mode 100644 index 0000000..59af8bb --- /dev/null +++ b/shell/ev-sidebar-links.h @@ -0,0 +1,63 @@ +/* ev-sidebar-links.h + * this file is part of evince, a gnome document viewer + * + * Copyright (C) 2004 Red Hat, Inc. + * + * Author: + * Jonathan Blandford + * + * Evince is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Evince is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __EV_SIDEBAR_LINKS_H__ +#define __EV_SIDEBAR_LINKS_H__ + +#include +#include "ev-document.h" + +G_BEGIN_DECLS + +typedef struct _EvSidebarLinks EvSidebarLinks; +typedef struct _EvSidebarLinksClass EvSidebarLinksClass; +typedef struct _EvSidebarLinksPrivate EvSidebarLinksPrivate; + +#define EV_TYPE_SIDEBAR_LINKS (ev_sidebar_links_get_type()) +#define EV_SIDEBAR_LINKS(object) (G_TYPE_CHECK_INSTANCE_CAST((object), EV_TYPE_SIDEBAR_LINKS, EvSidebarLinks)) +#define EV_SIDEBAR_LINKS_CLASS(klass) (G_TYPE_CHACK_CLASS_CAST((klass), EV_TYPE_SIDEBAR_LINKS, EvSidebarLinksClass)) +#define EV_IS_SIDEBAR_LINKS(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), EV_TYPE_SIDEBAR_LINKS)) +#define EV_IS_SIDEBAR_LINKS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), EV_TYPE_SIDEBAR_LINKS)) +#define EV_SIDEBAR_LINKS_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), EV_TYPE_SIDEBAR_LINKS, EvSidebarLinksClass)) + +struct _EvSidebarLinks { + GtkVBox base_instance; + + EvSidebarLinksPrivate *priv; +}; + +struct _EvSidebarLinksClass { + GtkVBoxClass base_class; +}; + +GType ev_sidebar_links_get_type (void); +GtkWidget *ev_sidebar_links_new (void); +void ev_sidebar_links_set_document (EvSidebarLinks *ev_sidebar_links, + EvDocument *document); +void ev_sidebar_links_clear_document (EvSidebarLinks *sidebar_links); + +G_END_DECLS + +#endif /* __EV_SIDEBAR_LINKS_H__ */ + + diff --git a/shell/ev-sidebar.c b/shell/ev-sidebar.c index f042f0c..d21a13a 100644 --- a/shell/ev-sidebar.c +++ b/shell/ev-sidebar.c @@ -29,8 +29,8 @@ #include "ev-sidebar.h" #include "ev-document-thumbnails.h" -#include "ev-document-bookmarks.h" -#include "ev-sidebar-bookmarks.h" +#include "ev-document-links.h" +#include "ev-sidebar-links.h" #include "ev-sidebar-thumbnails.h" typedef struct @@ -207,18 +207,15 @@ ev_sidebar_set_document (EvSidebar *sidebar, PAGE_COLUMN_MAIN_WIDGET, &widget, -1); - if (EV_IS_SIDEBAR_BOOKMARKS (widget) - && EV_IS_DOCUMENT_BOOKMARKS (document) - && ev_document_bookmarks_has_document_bookmarks (EV_DOCUMENT_BOOKMARKS (document))) - ev_sidebar_bookmarks_set_document (EV_SIDEBAR_BOOKMARKS (widget), - document); + if (EV_IS_SIDEBAR_LINKS (widget) + && EV_IS_DOCUMENT_LINKS (document) + && ev_document_links_has_document_links (EV_DOCUMENT_LINKS (document))) + ev_sidebar_links_set_document (EV_SIDEBAR_LINKS (widget), + document); else if (EV_IS_SIDEBAR_THUMBNAILS (widget) && EV_IS_DOCUMENT_THUMBNAILS (document)) ev_sidebar_thumbnails_set_document (EV_SIDEBAR_THUMBNAILS (widget), document); - - - } diff --git a/shell/ev-view.c b/shell/ev-view.c index 678770b..2b04c87 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -930,35 +930,35 @@ set_document_page (EvView *view, int page) } static void -go_to_bookmark (EvView *view, EvBookmark *bookmark) +go_to_link (EvView *view, EvLink *link) { - EvBookmarkType type; + EvLinkType type; int page; - type = ev_bookmark_get_bookmark_type (bookmark); + type = ev_link_get_link_type (link); - if (type == EV_BOOKMARK_TYPE_LINK) { - page = ev_bookmark_get_page (bookmark); + if (type == EV_LINK_TYPE_PAGE) { + page = ev_link_get_page (link); set_document_page (view, page); } } void -ev_view_go_to_bookmark (EvView *view, EvBookmark *bookmark) +ev_view_go_to_link (EvView *view, EvLink *link) { - go_to_bookmark (view, bookmark); - ev_history_add_link (view->history, bookmark); + go_to_link (view, link); + ev_history_add_link (view->history, link); } static void go_to_index (EvView *view, int index) { - EvBookmark *bookmark; + EvLink *link; - bookmark = ev_history_get_link_nth (view->history, index); - g_return_if_fail (bookmark != NULL); + link = ev_history_get_link_nth (view->history, index); + g_return_if_fail (link != NULL); - go_to_bookmark (view, bookmark); + go_to_link (view, link); } void diff --git a/shell/ev-view.h b/shell/ev-view.h index 067873b..9390263 100644 --- a/shell/ev-view.h +++ b/shell/ev-view.h @@ -23,7 +23,7 @@ #include #include "ev-document.h" -#include "ev-bookmark.h" +#include "ev-link.h" G_BEGIN_DECLS @@ -47,8 +47,8 @@ void ev_view_select_all (EvView *view); /* Navigation */ void ev_view_go_back (EvView *view); void ev_view_go_forward (EvView *view); -void ev_view_go_to_bookmark (EvView *view, - EvBookmark *bookmark); +void ev_view_go_to_link (EvView *view, + EvLink *link); void ev_view_set_page (EvView *view, int page); int ev_view_get_page (EvView *view); diff --git a/shell/ev-window.c b/shell/ev-window.c index 0f26863..f4a9288 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -32,7 +32,7 @@ #include "ev-navigation-action.h" #include "ev-page-action.h" #include "ev-sidebar.h" -#include "ev-sidebar-bookmarks.h" +#include "ev-sidebar-links.h" #include "ev-sidebar-thumbnails.h" #include "ev-view.h" #include "ev-print-job.h" @@ -191,9 +191,9 @@ update_action_sensitivity (EvWindow *ev_window) } void -ev_window_open_bookmark (EvWindow *ev_window, EvBookmark *bookmark) +ev_window_open_link (EvWindow *ev_window, EvLink *link) { - ev_view_go_to_bookmark (EV_VIEW (ev_window->priv->view), bookmark); + ev_view_go_to_link (EV_VIEW (ev_window->priv->view), link); } gboolean @@ -1452,11 +1452,11 @@ ev_window_init (EvWindow *ev_window) ev_window->priv->sidebar); /* Stub sidebar, for now */ - sidebar_widget = ev_sidebar_bookmarks_new (); + sidebar_widget = ev_sidebar_links_new (); gtk_widget_show (sidebar_widget); ev_sidebar_add_page (EV_SIDEBAR (ev_window->priv->sidebar), - "bookmarks", - _("Bookmarks"), + "index", + _("Index"), sidebar_widget); sidebar_widget = ev_sidebar_thumbnails_new (); diff --git a/shell/ev-window.h b/shell/ev-window.h index ebd1fc4..97e0e02 100644 --- a/shell/ev-window.h +++ b/shell/ev-window.h @@ -26,7 +26,7 @@ #include #include -#include "ev-bookmark.h" +#include "ev-link.h" G_BEGIN_DECLS @@ -54,11 +54,12 @@ struct _EvWindowClass { const char *string); }; -GType ev_window_get_type (void); -void ev_window_open (EvWindow *ev_window, const char *uri); -void ev_window_open_bookmark (EvWindow *ev_window, - EvBookmark *bookmark); -gboolean ev_window_is_empty (const EvWindow *ev_window); +GType ev_window_get_type (void); +void ev_window_open (EvWindow *ev_window, + const char *uri); +void ev_window_open_link (EvWindow *ev_window, + EvLink *link); +gboolean ev_window_is_empty (const EvWindow *ev_window); G_END_DECLS -- cgit v0.9.1