From e90ec741051727680a653837fb7b401192c507f7 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 22 Dec 2004 13:28:08 +0000 Subject: fit-width stock icon from gpdf. 2004-12-22 Mark McLoughlin * data/ev-stock-zoom-fit-width.png: fit-width stock icon from gpdf. * shell/ev-stock-icons.[ch]: copied from gpdf. * shell/main.c: (main): init stock icons. * shell/ev-window.c: use the fit-width icon. * data/evince-ui.xml: add zooming toolbar items. --- diff --git a/ChangeLog b/ChangeLog index 7c3a3f4..6147a4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2004-12-22 Mark McLoughlin + * data/ev-stock-zoom-fit-width.png: fit-width + stock icon from gpdf. + + * shell/ev-stock-icons.[ch]: copied from gpdf. + + * shell/main.c: (main): init stock icons. + + * shell/ev-window.c: use the fit-width icon. + + * data/evince-ui.xml: add zooming toolbar items. + +2004-12-22 Mark McLoughlin + * shell/ev-view.c: (ev_view_best_fit), (ev_view_fit_width): because get_page_size() returns the scaled page size, we diff --git a/data/Makefile.am b/data/Makefile.am index 7d6cac6..757e88f 100644 --- a/data/Makefile.am +++ b/data/Makefile.am @@ -5,6 +5,11 @@ ui_DATA = \ evince-ui.xml \ $(NULL) +stockdir = $(datadir)/pixmaps/evince +stock_DATA = \ + ev-stock-zoom-fit-width.png \ + $(NULL) + EXTRA_DIST = \ $(ui_DATA) \ $(NULL) diff --git a/data/ev-stock-zoom-fit-width.png b/data/ev-stock-zoom-fit-width.png new file mode 100644 index 0000000..92e6dd1 --- /dev/null +++ b/data/ev-stock-zoom-fit-width.png Binary files differ diff --git a/data/evince-ui.xml b/data/evince-ui.xml index 035e770..098e3be 100644 --- a/data/evince-ui.xml +++ b/data/evince-ui.xml @@ -51,5 +51,10 @@ + + + + + diff --git a/shell/Makefile.am b/shell/Makefile.am index 67ec0b0..a360a94 100644 --- a/shell/Makefile.am +++ b/shell/Makefile.am @@ -6,6 +6,7 @@ INCLUDES= \ -I$(top_srcdir)/backend \ -I$(top_srcdir)/pdf/xpdf \ -DGNOMELOCALEDIR=\"$(datadir)/locale\" \ + -DGNOMEICONDIR=\""$(datadir)/pixmaps"\" \ $(SHELL_CFLAGS) \ $(EVINCE_DISABLE_DEPRECATED) \ $(NULL) @@ -30,6 +31,8 @@ evince_SOURCES= \ ev-sidebar-bookmarks.h \ ev-sidebar-thumbnails.c \ ev-sidebar-thumbnails.h \ + ev-stock-icons.c \ + ev-stock-icons.h \ main.c \ $(NULL) diff --git a/shell/ev-stock-icons.c b/shell/ev-stock-icons.c new file mode 100644 index 0000000..17793f3 --- /dev/null +++ b/shell/ev-stock-icons.c @@ -0,0 +1,62 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* Stock icons for Evince + * + * Copyright (C) 2003 Martin Kretzschmar + * + * Author: + * Martin Kretzschmar + * + * GPdf 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. + * + * GPdf 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. + */ + +#include + +#include "ev-stock-icons.h" + +#include +#include +#include + +/* Toolbar icons files */ +#define STOCK_ZOOM_FIT_WIDTH_FILE "ev-stock-zoom-fit-width.png" + +#define EV_ADD_STOCK_ICON(id, file, def_id) \ +{ \ + GdkPixbuf *pixbuf; \ + GtkIconSet *icon_set = NULL; \ + pixbuf = gdk_pixbuf_new_from_file (GNOMEICONDIR "/evince/" file, NULL); \ + if (pixbuf) { \ + icon_set = gtk_icon_set_new_from_pixbuf (pixbuf); \ + } else if (def_id) { \ + icon_set = gtk_icon_factory_lookup_default (def_id); \ + gtk_icon_set_ref (icon_set); \ + } \ + gtk_icon_factory_add (factory, id, icon_set); \ + gtk_icon_set_unref (icon_set); \ +} + +void +ev_stock_icons_init (void) +{ + GtkIconFactory *factory; + + factory = gtk_icon_factory_new (); + gtk_icon_factory_add_default (factory); + + /* fitwidth stock icon */ + EV_ADD_STOCK_ICON (EV_STOCK_ZOOM_FIT_WIDTH, STOCK_ZOOM_FIT_WIDTH_FILE, GTK_STOCK_ZOOM_FIT); + + g_object_unref (G_OBJECT (factory)); +} diff --git a/shell/ev-stock-icons.h b/shell/ev-stock-icons.h new file mode 100644 index 0000000..b29ddbc --- /dev/null +++ b/shell/ev-stock-icons.h @@ -0,0 +1,38 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* Stock icons for Evince + * + * Copyright (C) 2003 Martin Kretzschmar + * + * Author: + * Martin Kretzschmar + * + * GPdf 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. + * + * GPdf 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_STOCK_ICONS_H__ +#define __EV_STOCK_ICONS_H__ + +#include + +G_BEGIN_DECLS + +/* Toolbar icons */ +#define EV_STOCK_ZOOM_FIT_WIDTH "ev-zoom-fit-width" + +void ev_stock_icons_init (void); + +G_END_DECLS + +#endif /* __EV_STOCK_ICONS_H__ */ diff --git a/shell/ev-window.c b/shell/ev-window.c index a1521fc..0352230 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -42,6 +42,7 @@ #include #include "ev-application.h" +#include "ev-stock-icons.h" enum { PROP_0, @@ -697,7 +698,7 @@ static GtkActionEntry entries[] = { { "ViewBestFit", GTK_STOCK_ZOOM_FIT, N_("_Best Fit"), NULL, N_("Zoom to fit the document to the current window"), G_CALLBACK (ev_window_cmd_view_best_fit) }, - { "ViewPageWidth", NULL, N_("Fit Page _Width"), NULL, + { "ViewPageWidth", EV_STOCK_ZOOM_FIT_WIDTH, N_("Fit Page _Width"), NULL, N_("Zoom to fit the width of the current window "), G_CALLBACK (ev_window_cmd_view_page_width) }, diff --git a/shell/main.c b/shell/main.c index 4b0c842..3deac7a 100644 --- a/shell/main.c +++ b/shell/main.c @@ -28,6 +28,8 @@ #include #include +#include "ev-stock-icons.h" + static struct poptOption popt_options[] = { { NULL, 0, 0, NULL, 0, NULL, NULL } @@ -87,6 +89,8 @@ main (int argc, char *argv[]) g_set_application_name (_("Evince Document Viewer")); + ev_stock_icons_init (); + g_object_get_property (G_OBJECT (program), GNOME_PARAM_POPT_CONTEXT, g_value_init (&context_as_value, G_TYPE_POINTER)); -- cgit v0.9.1