Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark McLoughlin <mark@skynet.ie>2004-12-22 13:28:08 (GMT)
committer Mark McLoughlin <markmc@src.gnome.org>2004-12-22 13:28:08 (GMT)
commite90ec741051727680a653837fb7b401192c507f7 (patch)
treef4bb4a9381f9ef713a47a20492a4ca4c62ddfa7a
parentc2822868b202e30f2bcf8d4141824594f6be0d99 (diff)
fit-width stock icon from gpdf.
2004-12-22 Mark McLoughlin <mark@skynet.ie> * 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.
-rw-r--r--ChangeLog13
-rw-r--r--data/Makefile.am5
-rw-r--r--data/ev-stock-zoom-fit-width.pngbin0 -> 1108 bytes
-rw-r--r--data/evince-ui.xml5
-rw-r--r--shell/Makefile.am3
-rw-r--r--shell/ev-stock-icons.c62
-rw-r--r--shell/ev-stock-icons.h38
-rw-r--r--shell/ev-window.c3
-rw-r--r--shell/main.c4
9 files changed, 132 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c3a3f4..6147a4d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2004-12-22 Mark McLoughlin <mark@skynet.ie>
+ * 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 <mark@skynet.ie>
+
* 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 @@
<toolitem action="GoPreviousPage"/>
<toolitem action="GoNextPage"/>
<toolitem action="GoLastPage"/>
+ <separator/>
+ <toolitem action="ViewZoomIn"/>
+ <toolitem action="ViewZoomOut"/>
+ <toolitem action="ViewBestFit"/>
+ <toolitem action="ViewPageWidth"/>
</toolbar>
</ui>
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 <Martin.Kretzschmar@inf.tu-dresden.de>
+ *
+ * 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 <config.h>
+
+#include "ev-stock-icons.h"
+
+#include <gtk/gtkiconfactory.h>
+#include <gtk/gtkstock.h>
+#include <gdk/gdkpixbuf.h>
+
+/* 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 <Martin.Kretzschmar@inf.tu-dresden.de>
+ *
+ * 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 <glib/gmacros.h>
+
+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 <string.h>
#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 <libgnomeui/gnome-ui-init.h>
#include <libgnomevfs/gnome-vfs-utils.h>
+#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));