]> www.fi.muni.cz Git - evince.git/commitdiff
fit-width stock icon from gpdf.
authorMark McLoughlin <mark@skynet.ie>
Wed, 22 Dec 2004 13:28:08 +0000 (13:28 +0000)
committerMark McLoughlin <markmc@src.gnome.org>
Wed, 22 Dec 2004 13:28:08 +0000 (13:28 +0000)
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.

ChangeLog
data/Makefile.am
data/ev-stock-zoom-fit-width.png [new file with mode: 0644]
data/evince-ui.xml
shell/Makefile.am
shell/ev-stock-icons.c [new file with mode: 0644]
shell/ev-stock-icons.h [new file with mode: 0644]
shell/ev-window.c
shell/main.c

index 7c3a3f467bb0fe3cd79fe65686fa6ca9dcb32b52..6147a4d4d6476ec030829c44c11ab1dd6039456d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+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: 
index 7d6cac63f1d2b632f5682474e259946e3ad1f443..757e88fe1b499b350755ff455e69caf39af8b345 100644 (file)
@@ -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 (file)
index 0000000..92e6dd1
Binary files /dev/null and b/data/ev-stock-zoom-fit-width.png differ
index 035e7707f54dd94bdb91c461a254b4145f5f6cee..098e3be817c599a7c569b384c6b018b0a32909d3 100644 (file)
     <toolitem action="GoPreviousPage"/>
     <toolitem action="GoNextPage"/>
     <toolitem action="GoLastPage"/>
+    <separator/>
+    <toolitem action="ViewZoomIn"/>
+    <toolitem action="ViewZoomOut"/>
+    <toolitem action="ViewBestFit"/>
+    <toolitem action="ViewPageWidth"/>
   </toolbar>
 </ui>
index 67ec0b075889affa7a120687c3350465cccf9b6d..a360a946bf746a1fd5c5ac3aac9e37ad093aca81 100644 (file)
@@ -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 (file)
index 0000000..17793f3
--- /dev/null
@@ -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 (file)
index 0000000..b29ddbc
--- /dev/null
@@ -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__ */
index a1521fcac1f749ecd80f3b13b94e98fb575fdea4..0352230049cb2d2b33436fbba4c75ba1a5050103 100644 (file)
@@ -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) },
 
index 4b0c8427b342b30198142cd68241710023ccae5a..3deac7a946f8e0fb25ec642491a473416360747d 100644 (file)
@@ -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));