Fix #322: include pdf-view
authorColin Clark <colin.clark@cclark.uk>
Tue, 23 Jul 2019 09:22:52 +0000 (10:22 +0100)
committerColin Clark <colin.clark@cclark.uk>
Tue, 23 Jul 2019 09:22:52 +0000 (10:22 +0100)
https://github.com/BestImageViewer/geeqie/issues/322

Page Back/Page Forward icons on toolbar
Mouse buttons 8 and 9 can be defined to Page Back/Page Forward
Background always set to white

src/icons/Makefile.am
src/icons/icon_next_page.png [new file with mode: 0644]
src/icons/icon_previous_page.png [new file with mode: 0644]
src/image_load_pdf.c
src/layout_util.c
src/pixbuf_util.c
src/pixbuf_util.h
src/preferences.c
src/toolbar.c

index 2ecc437..df90eea 100644 (file)
@@ -50,7 +50,9 @@ ICONS_INLINE = \
        icon_trash.png \
        icon_heic.png \
        icon_grayscale.png \
-       icon_exposure.png
+       icon_exposure.png \
+       icon_next_page.png \
+       icon_previous_page.png
 
 ICONS_INLINE_PAIRS = \
        folder_closed           $(srcdir)/folder_closed.png     \
@@ -99,7 +101,9 @@ ICONS_INLINE_PAIRS = \
        icon_trash      $(srcdir)/icon_trash.png \
        icon_heic       $(srcdir)/icon_heic.png \
        icon_grayscale  $(srcdir)/icon_grayscale.png \
-       icon_exposure   $(srcdir)/icon_exposure.png
+       icon_exposure   $(srcdir)/icon_exposure.png \
+       icon_next_page  $(srcdir)/icon_next_page.png \
+       icon_previous_page      $(srcdir)/icon_previous_page.png
 
 icons_inline.h: $(ICONS_INLINE) Makefile.in
        @sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
diff --git a/src/icons/icon_next_page.png b/src/icons/icon_next_page.png
new file mode 100644 (file)
index 0000000..e3b023b
Binary files /dev/null and b/src/icons/icon_next_page.png differ
diff --git a/src/icons/icon_previous_page.png b/src/icons/icon_previous_page.png
new file mode 100644 (file)
index 0000000..f3fcdf9
Binary files /dev/null and b/src/icons/icon_previous_page.png differ
index f08510b..edd60b6 100644 (file)
@@ -74,6 +74,10 @@ static gboolean image_loader_pdf_load(gpointer loader, const guchar *buf, gsize
                cr = cairo_create(surface);
                poppler_page_render(page, cr);
 
+               cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OVER);
+               cairo_set_source_rgb(cr, 1.0, 1.0, 1.0);
+               cairo_paint(cr);
+
                ld->pixbuf = gdk_pixbuf_get_from_surface(surface, 0, 0, width, height);
                ld->area_updated_cb(loader, 0, 0, width, height, ld->data);
 
index bd0e093..5c3aa73 100644 (file)
@@ -1906,8 +1906,8 @@ static GtkActionEntry menu_entries[] = {
   { "NextImage",       GTK_STOCK_GO_DOWN,      N_("_Next Image"),                      "space",                N_("Next Image"),                       CB(layout_menu_image_next_cb) },
   { "NextImageAlt1",   GTK_STOCK_GO_DOWN,      N_("_Next Image"),                      "Page_Down",            N_("Next Image"),                       CB(layout_menu_image_next_cb) },
 
-  { "NextPage",        NULL,   N_("_Next Page"),                       "<control>Page_Down",           N_("Next Page"),                        CB(layout_menu_page_next_cb) },
-  { "PrevPage",        NULL,   N_("_Previous Page"),                   "<control>Page_Up",             N_("Previous Page"),                    CB(layout_menu_page_previous_cb) },
+  { "NextPage",        PIXBUF_INLINE_ICON_NEXT_PAGE,   N_("_Next Page"),                       "<control>Page_Down",   N_("Next Page"),        CB(layout_menu_page_next_cb) },
+  { "PrevPage",        PIXBUF_INLINE_ICON_PREVIOUS_PAGE,       N_("_Previous Page"),   "<control>Page_Up",             N_("Previous Page"),    CB(layout_menu_page_previous_cb) },
 
 
   { "NextImageAlt2",   GTK_STOCK_GO_DOWN,      N_("_Next Image"),                      "KP_Page_Down",         N_("Next Image"),                       CB(layout_menu_image_next_cb) },
index 1a16759..e1c9184 100644 (file)
@@ -148,7 +148,8 @@ static PixbufInline inline_pixbuf_data[] = {
        { PIXBUF_INLINE_ICON_TRASH,     icon_trash },
        { PIXBUF_INLINE_ICON_HEIF,      icon_heic },
        { PIXBUF_INLINE_ICON_GRAYSCALE, icon_grayscale },
-       { PIXBUF_INLINE_ICON_EXPOSURE,  icon_exposure },
+       { PIXBUF_INLINE_ICON_NEXT_PAGE, icon_next_page },
+       { PIXBUF_INLINE_ICON_PREVIOUS_PAGE,     icon_previous_page },
        { NULL, NULL }
 };
 
index bcec3ae..5bd748e 100644 (file)
@@ -77,6 +77,8 @@ gboolean pixbuf_scale_aspect(gint req_w, gint req_h, gint old_w, gint old_h, gin
 #define PIXBUF_INLINE_ICON_HEIF        "icon_heic"
 #define PIXBUF_INLINE_ICON_GRAYSCALE   "icon_grayscale"
 #define PIXBUF_INLINE_ICON_EXPOSURE            "icon_exposure"
+#define PIXBUF_INLINE_ICON_NEXT_PAGE   "icon_next_page"
+#define PIXBUF_INLINE_ICON_PREVIOUS_PAGE       "icon_previous_page"
 
 #define PIXBUF_INLINE_ICON_CW  "icon_rotate_clockwise"
 #define PIXBUF_INLINE_ICON_CCW "icon_rotate_counter_clockwise"
index 4779eb9..9f14ac4 100644 (file)
@@ -653,6 +653,8 @@ static const UseableMouseItems useable_mouse_items[] = {
        {"Forward",     N_("Forward"), GTK_STOCK_GO_FORWARD},
        {"Home",        N_("Home"), GTK_STOCK_HOME},
        {"Up",  N_("Up"), GTK_STOCK_GO_UP},
+       {"NextPage",    N_("Next Page"), PIXBUF_INLINE_ICON_NEXT_PAGE},
+       {"PrevPage",    N_("Previous Page"), PIXBUF_INLINE_ICON_PREVIOUS_PAGE},
        {"NewWindow",   N_("New _window"), GTK_STOCK_NEW},
        {"NewCollection",       N_("New collection"), GTK_STOCK_INDEX},
        {"OpenCollection",      N_("Open collection"), GTK_STOCK_OPEN},
index 1c49a2a..71ac3e2 100644 (file)
@@ -79,6 +79,8 @@ static const UseableToolbarItems useable_toolbar_items[] = {
        {"Forward",     N_("Forward"), GTK_STOCK_GO_FORWARD},
        {"Home",        N_("Home"), GTK_STOCK_HOME},
        {"Up",  N_("Up"), GTK_STOCK_GO_UP},
+       {"NextPage",    N_("Next page"), PIXBUF_INLINE_ICON_NEXT_PAGE},
+       {"PrevPage",    N_("Previous Page"), PIXBUF_INLINE_ICON_PREVIOUS_PAGE},
        {"NewWindow",   N_("New _window"), GTK_STOCK_NEW},
        {"NewCollection",       N_("New collection"), GTK_STOCK_INDEX},
        {"OpenCollection",      N_("Open collection"), GTK_STOCK_OPEN},