[oe] [PATCH] epdfview: add page scrolling patch
Angus Ainslie
nytowl at openmoko.org
Thu Apr 9 16:42:56 UTC 2009
>From a3c28e2ab81cf7fd1ff49c6be0380075230722d2 Mon Sep 17 00:00:00 2001
From: Previdi Roberto <previdi.roberto at gmail.com>
Date: Thu, 9 Apr 2009 10:26:51 -0600
Subject: [PATCH] epdfview: add page scrolling patch
Signed-off-by: Angus Ainslie <nytowl at openmoko.org>
---
recipes/epdfview/epdfview_0.1.6.bb | 3 +-
recipes/epdfview/files/page-scroll.patch | 82 ++++++++++++++++++++++++++++++
2 files changed, 84 insertions(+), 1 deletions(-)
create mode 100644 recipes/epdfview/files/page-scroll.patch
diff --git a/recipes/epdfview/epdfview_0.1.6.bb b/recipes/epdfview/epdfview_0.1.6.bb
index 3cf2e5f..f4ec351 100644
--- a/recipes/epdfview/epdfview_0.1.6.bb
+++ b/recipes/epdfview/epdfview_0.1.6.bb
@@ -3,10 +3,11 @@ HOMEPAGE = "http://www.emma-soft.com/projects/epdfview/"
LICENSE = "GPLv2"
SECTION = "x11/applications"
DEPENDS = "poppler gtk+ cups"
-PR = "r3"
+PR = "r4"
SRC_URI = "http://www.emma-soft.com/projects/epdfview/chrome/site/releases/epdfview-${PV}.tar.bz2 \
file://poppler8.diff;patch=1 \
+ file://page-scroll.patch;patch=1 \
"
inherit autotools
diff --git a/recipes/epdfview/files/page-scroll.patch b/recipes/epdfview/files/page-scroll.patch
new file mode 100644
index 0000000..20fbfea
--- /dev/null
+++ b/recipes/epdfview/files/page-scroll.patch
@@ -0,0 +1,82 @@
+diff -c -r -x '*.[ao]' -x '*~' -x '*anjuta*' patcher_original/epdfview-0.1.6/data/epdfview.desktop epdfview-0.1.6/data/epdfview.desktop
+*** patcher_original/epdfview-0.1.6/data/epdfview.desktop 2006-10-17 16:23:23.000000000 +0200
+--- epdfview-0.1.6/data/epdfview.desktop 2009-04-07 16:39:43.000000000 +0200
+***************
+*** 8,14 ****
+ GenericName=PDF Viewer
+ GenericName[ca]=Visor PDF
+ GenericName[es]=Visor PDF
+! Icon=postscript-viewer.png
+ Name=ePDFViewer
+ Name[ca]=ePDFViewer
+ Name[es]=ePDFViewer
+--- 8,14 ----
+ GenericName=PDF Viewer
+ GenericName[ca]=Visor PDF
+ GenericName[es]=Visor PDF
+! Icon=/usr/share/epdfview/pixmaps/icon_epdfview-48.png
+ Name=ePDFViewer
+ Name[ca]=ePDFViewer
+ Name[es]=ePDFViewer
+diff -c -r -x '*.[ao]' -x '*~' -x '*anjuta*' patcher_original/epdfview-0.1.6/src/gtk/PageView.cxx epdfview-0.1.6/src/gtk/PageView.cxx
+*** patcher_original/epdfview-0.1.6/src/gtk/PageView.cxx 2006-10-17 16:23:18.000000000 +0200
+--- epdfview-0.1.6/src/gtk/PageView.cxx 2009-04-07 16:38:48.000000000 +0200
+***************
+*** 26,31 ****
+--- 26,32 ----
+
+ // Constants
+ static gint PAGE_VIEW_PADDING = 12;
++ static gint SCROLL_PAGE_DRAG_LENGTH = 50;
+
+ // Forwards declarations.
+ static gboolean page_view_button_press_cb (GtkWidget *, GdkEventButton *,
+***************
+*** 236,242 ****
+ void
+ PageView::scrollPage (gdouble scrollX, gdouble scrollY, gint dx, gint dy)
+ {
+! GtkAdjustment *hAdjustment = gtk_scrolled_window_get_hadjustment (
+ GTK_SCROLLED_WINDOW (m_PageScroll));
+ gdouble hAdjValue = hAdjustment->page_size *
+ (gdouble)dx / m_PageImage->allocation.width;
+--- 237,245 ----
+ void
+ PageView::scrollPage (gdouble scrollX, gdouble scrollY, gint dx, gint dy)
+ {
+! /* if the page cannot scroll and i'm dragging bottom to up, or left to right,
+! i will go to the next page. viceversa previous page */
+! GtkAdjustment *hAdjustment = gtk_scrolled_window_get_hadjustment (
+ GTK_SCROLLED_WINDOW (m_PageScroll));
+ gdouble hAdjValue = hAdjustment->page_size *
+ (gdouble)dx / m_PageImage->allocation.width;
+***************
+*** 253,258 ****
+--- 256,282 ----
+ CLAMP (scrollY - vAdjValue,
+ vAdjustment->lower,
+ vAdjustment->upper - vAdjustment->page_size));
++
++ /* if the page cannot scroll and i'm dragging bottom to up, or left to right,
++
++ i will go to the next page. viceversa previous page */
++ if ((scrollY==vAdjustment->upper - vAdjustment->page_size && dy<(0-SCROLL_PAGE_DRAG_LENGTH))
++ ||
++ (scrollX==hAdjustment->upper - hAdjustment->page_size && dx<(0-SCROLL_PAGE_DRAG_LENGTH))
++ )
++ {
++ m_Pter->scrollToNextPage();
++ m_Pter->mouseButtonReleased(1);
++ }
++ else
++ if((scrollY==vAdjustment->lower && dy>SCROLL_PAGE_DRAG_LENGTH)
++ ||
++ (scrollX==hAdjustment->lower && dx>SCROLL_PAGE_DRAG_LENGTH)
++ )
++ {
++ m_Pter->scrollToPreviousPage();
++ m_Pter->mouseButtonReleased(1);
++ }
+ }
+
+ void
--
1.5.6.3
More information about the Openembedded-devel
mailing list