From e90ec741051727680a653837fb7b401192c507f7 Mon Sep 17 00:00:00 2001 From: Mark McLoughlin Date: Wed, 22 Dec 2004 13:28:08 +0000 Subject: [PATCH] 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. --- ChangeLog | 13 +++++++ data/Makefile.am | 5 +++ data/ev-stock-zoom-fit-width.png | Bin 0 -> 1108 bytes data/evince-ui.xml | 5 +++ shell/Makefile.am | 3 ++ shell/ev-stock-icons.c | 62 +++++++++++++++++++++++++++++++ shell/ev-stock-icons.h | 38 +++++++++++++++++++ shell/ev-window.c | 3 +- shell/main.c | 4 ++ 9 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 data/ev-stock-zoom-fit-width.png create mode 100644 shell/ev-stock-icons.c create mode 100644 shell/ev-stock-icons.h diff --git a/ChangeLog b/ChangeLog index 7c3a3f46..6147a4d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +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: diff --git a/data/Makefile.am b/data/Makefile.am index 7d6cac63..757e88fe 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 0000000000000000000000000000000000000000..92e6dd19ce9e88daa77539f093047651627ac0e6 GIT binary patch literal 1108 zcmV-a1grarP)Jx{G?~#Z-frjGzHUSqURzO-?FO4|{13xp~Ub zgOI;L4i zR#t`(0x2c7ZIjF8c>Ve{)6>(euC6+fNTh#nZ?B{qU;d`IxA(@*&dx7=eSQAn;bCI2 z7~yc3%F0S&u^3fVRYapvR8>V)RT>)`F$_a_@#4k6wQJXYK0Q4>{v^P%tQk$y>PAOL zQB{>lBtlhH6{@Nd3D5|B9REOSd2g*fY0YcQ4|zKDL@oOAruNxS64?WmBRD9_R7jiy(A!=P7mn1 z&ef||357yjx^xL41j%HQ?(S}c5QXR4w{QOq+SJrUGMU6MjDeB>(=@f#)>Z<60O4>L zAp|`=Jpe2&E*664=jZeLRTvXO(An9E>$+MofFHnh-P)R(8iK(fLI`yIgWImIu441J zbLS3IQ&V`JM?*scKy66}uInO%!0-2S-cX+<+qQ8W2ivysJg;a>-ofF)!9iVhbv3qa zGdnxW-Me=In45cl#68bLN=aW|9{`h+lNg49Wm#-(ZQ;7^VMzy`=dCO*E|SaTuq+GH zG?|&10YKMvOw+_P&5x4j#}^hBkW#J`0|)?BRdp%lj}IR{q@ke!zu#XtqC&iHb|D0g z;}l9_Sr&$2@bcwLMn*=EQuYELb+iw_vaFmCqIrLRKhe?Afs_)JNegJkp1wcv}5JD_%ZEX!afBsylsi~p7yu6S+U++vN!{+8DH}p{f4>0000 + + + + + diff --git a/shell/Makefile.am b/shell/Makefile.am index 67ec0b07..a360a946 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 00000000..17793f37 --- /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 00000000..b29ddbc2 --- /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 a1521fca..03522300 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 4b0c8427..3deac7a9 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)); -- 2.43.5