summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/prerex/patches
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/latex/prerex/patches')
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/README62
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.10.patch291
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.8.patch292
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.9.patch291
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.3.patch332
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.4.patch332
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.0.patch341
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.1.patch341
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.2.patch326
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.3.patch323
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.4.patch323
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.2.0.patch318
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.3.0.patch334
-rw-r--r--Master/texmf-dist/doc/latex/prerex/patches/okular-4.4.0.patch329
14 files changed, 0 insertions, 4235 deletions
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/README b/Master/texmf-dist/doc/latex/prerex/patches/README
deleted file mode 100644
index 8547e49a3eb..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/README
+++ /dev/null
@@ -1,62 +0,0 @@
-These are patches for kpdf (for qt-3) or okular (for qt-4) that enable
-the following additional feature:
-
- If the PDF being viewed is a prerex-formatted chart (with the
- coordinate grid enabled), clicking in a course box/mini or arrow will
- put the coordinates of the box/mini centre or of the arrow source
- and target boxes into the X clipboard; the coordinates can then
- be "pasted" into a command being composed at the prerex prompt by
- middle-clicking the mouse. Similarly, clicking on any point in the
- background coordinate grid will put the coordinates of that point
- into the X clipboard. The "hand" or "arrow" cursor changes to a
- "crosshair" cursor to signal successful capture of coordinate values
- (until the mouse moves).
-
-Note that this approach is now deprecated; the previewer is a lightweight
-application which doesn't have to be re-patched every time the KDE version
-changes.
-
-Installation
-
-kpdf/okular is distributed as part of the kdegraphics package. Install
-kdegraphics-x.y.z (and the KDE libraries it depends on), where x.y.z
-is the version number in the name of the patch file. Also obtain the
-sources for the relevant version of kdegraphics, either directly from
-
-ftp://ftp.kde.org/pub/kde/stable/
-
-or using the source package for a distribution. Unpack the source and
-apply any distributor-supplied patches.
-
-Move to the kdegraphics-x.y.z directory and do
-
- cp -r kpdf kpdf.orig
-
-or
-
- cp -r okular okular.orig
-
-Copy the patch file to the kdegraphics directory and do
-
- patch -p0 < patch-file
-
-If the patch is successful, do
-
- ./configure --prefix=/usr
-
-for kde-3 or
-
- cmake -D CMAKE_INSTALL_PREFIX:PATH=/usr .
-
-for kde-4.
-
-If the configuration step is successful, move to the (patched)
-kpdf/okular directory and do
-
- make
- make install (as root)
-
-You do not have to build and re-install all parts of kdegraphics;
-the "make" and "make install" will build and over-write just the
-kpdf/okular-related portions.
-
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.10.patch b/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.10.patch
deleted file mode 100644
index aa2eff80e73..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.10.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-diff -cr kpdf.orig/core/document.cpp kpdf/core/document.cpp
-*** kpdf.orig/core/document.cpp 2007-10-08 05:48:37.000000000 -0400
---- kpdf/core/document.cpp 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 26,31 ****
---- 26,32 ----
- #include <kuserprofile.h>
- #include <krun.h>
- #include <kstandarddirs.h>
-+ #include <qclipboard.h>
-
- // local includes
- #include "document.h"
-***************
-*** 1066,1071 ****
---- 1067,1082 ----
-
- case KPDFLink::Browse: {
- const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith( "anchor:", false ) ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", false ) )
- kapp->invokeMailer( browse->url() );
-diff -cr kpdf.orig/core/page.cpp kpdf/core/page.cpp
-*** kpdf.orig/core/page.cpp 2005-09-10 04:18:42.000000000 -0400
---- kpdf/core/page.cpp 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 13,24 ****
---- 13,27 ----
- #include <qmap.h>
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "page.h"
- #include "pagetransition.h"
- #include "link.h"
- #include "conf/settings.h"
- #include "xpdf/TextOutputDev.h"
-+ #include <stdlib.h>
-
-
- /** class KPDFPage **/
-***************
-*** 172,177 ****
---- 175,269 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint KPDFPage::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which kpdf has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by kpdf
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint();
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QValueList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Link)
-+ {
-+ const KPDFLink * link = static_cast< const KPDFLink * >( (*it)->pointer() );
-+ if (link)
-+ {
-+ const KPDFLinkBrowse * browse = dynamic_cast< const KPDFLinkBrowse * >( link );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:", false) )
-+ {
-+ int comma;
-+ QString xs;
-+ NormalizedRect * r = (*it);
-+ QRect unnormalized;
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.find(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ unnormalized = r->geometry(widthPage, heightPage);
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(QCOORD_MIN, QCOORD_MIN);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
- const KPDFPageTransition * KPDFPage::getTransition() const
- {
- return m_transition;
-diff -cr kpdf.orig/core/page.h kpdf/core/page.h
-*** kpdf.orig/core/page.h 2005-09-10 04:18:42.000000000 -0400
---- kpdf/core/page.h 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 120,125 ****
---- 120,128 ----
- void deletePixmapsAndRects();
- void deleteHighlights( int s_id = -1 );
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates:
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
- private:
- friend class PagePainter;
- int m_number, m_rotation;
-diff -cr kpdf.orig/shell/main.cpp kpdf/shell/main.cpp
-*** kpdf.orig/shell/main.cpp 2008-08-19 14:12:37.000000000 -0400
---- kpdf/shell/main.cpp 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 19,25 ****
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("kpdf, a kde pdf viewer based on xpdf");
-
- static const char version[] = "0.5.10";
-
---- 19,25 ----
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("prerex-enabled kpdf, a kde pdf viewer based on xpdf for use with the prerex editor");
-
- static const char version[] = "0.5.10";
-
-Only in kpdf/shell: main.cpp.orig
-diff -cr kpdf.orig/shell/shell.cpp kpdf/shell/shell.cpp
-*** kpdf.orig/shell/shell.cpp 2007-05-14 03:39:31.000000000 -0400
---- kpdf/shell/shell.cpp 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 34,39 ****
---- 34,40 ----
- #include <kparts/componentfactory.h>
- #include <kio/netaccess.h>
- #include <kmainwindowiface.h>
-+ #include <kstatusbar.h>
-
- // local includes
- #include "shell.h"
-***************
-*** 75,81 ****
---- 76,86 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
-+ setupGUI(ToolBar | Keys | Save | StatusBar );
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->message("This is prerex-enabled kpdf.", 8000);
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- }
- }
-diff -cr kpdf.orig/shell/shell.h kpdf/shell/shell.h
-*** kpdf.orig/shell/shell.h 2006-10-01 13:25:15.000000000 -0400
---- kpdf/shell/shell.h 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 103,108 ****
---- 103,109 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KURL m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- }
-diff -cr kpdf.orig/ui/pageview.cpp kpdf/ui/pageview.cpp
-*** kpdf.orig/ui/pageview.cpp 2007-10-08 05:48:37.000000000 -0400
---- kpdf/ui/pageview.cpp 2009-09-29 16:56:48.000000000 -0400
-***************
-*** 930,936 ****
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! setCursor( KCursor::sizeAllCursor() );
- }
- break;
-
---- 930,965 ----
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->geometry().left(),
-! click.y() - pageItem->geometry().top(),
-! pageItem->width(),
-! pageItem->height()
-! );
-! if (clickChart.x() == QCOORD_MIN && clickChart.y() == QCOORD_MIN)
-! { // no anchors
-! setCursor( KCursor::sizeAllCursor() );
-! break;
-! }
-! setCursor( KCursor::crossCursor() );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- break;
-
-***************
-*** 1005,1010 ****
---- 1034,1045 ----
- // handle click over a link
- const KPDFLink * link = static_cast< const KPDFLink * >( linkRect->pointer() );
- d->document->processLink( link );
-+ if ( link->linkType() == KPDFLink::Browse )
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ setCursor( KCursor::crossCursor() );
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.8.patch b/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.8.patch
deleted file mode 100644
index c7938219a46..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.8.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-diff -cr kpdf.orig/core/document.cpp kpdf/core/document.cpp
-*** kpdf.orig/core/document.cpp 2007-11-13 09:43:02.000000000 -0500
---- kpdf/core/document.cpp 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 26,31 ****
---- 26,32 ----
- #include <kuserprofile.h>
- #include <krun.h>
- #include <kstandarddirs.h>
-+ #include <qclipboard.h>
-
- // local includes
- #include "document.h"
-***************
-*** 1066,1071 ****
---- 1067,1082 ----
-
- case KPDFLink::Browse: {
- const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith( "anchor:", false ) ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", false ) )
- kapp->invokeMailer( browse->url() );
-diff -cr kpdf.orig/core/page.cpp kpdf/core/page.cpp
-*** kpdf.orig/core/page.cpp 2007-11-13 09:43:02.000000000 -0500
---- kpdf/core/page.cpp 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 13,24 ****
---- 13,27 ----
- #include <qmap.h>
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "page.h"
- #include "pagetransition.h"
- #include "link.h"
- #include "conf/settings.h"
- #include "xpdf/TextOutputDev.h"
-+ #include <stdlib.h>
-
-
- /** class KPDFPage **/
-***************
-*** 172,177 ****
---- 175,269 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint KPDFPage::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which kpdf has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by kpdf
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint();
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QValueList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Link)
-+ {
-+ const KPDFLink * link = static_cast< const KPDFLink * >( (*it)->pointer() );
-+ if (link)
-+ {
-+ const KPDFLinkBrowse * browse = dynamic_cast< const KPDFLinkBrowse * >( link );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:", false) )
-+ {
-+ int comma;
-+ QString xs;
-+ NormalizedRect * r = (*it);
-+ QRect unnormalized;
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.find(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ unnormalized = r->geometry(widthPage, heightPage);
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(QCOORD_MIN, QCOORD_MIN);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
- const KPDFPageTransition * KPDFPage::getTransition() const
- {
- return m_transition;
-diff -cr kpdf.orig/core/page.h kpdf/core/page.h
-*** kpdf.orig/core/page.h 2007-11-13 09:43:02.000000000 -0500
---- kpdf/core/page.h 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 120,125 ****
---- 120,128 ----
- void deletePixmapsAndRects();
- void deleteHighlights( int s_id = -1 );
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates:
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
- private:
- friend class PagePainter;
- int m_number, m_rotation;
-diff -cr kpdf.orig/shell/main.cpp kpdf/shell/main.cpp
-*** kpdf.orig/shell/main.cpp 2007-11-13 09:43:02.000000000 -0500
---- kpdf/shell/main.cpp 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 19,25 ****
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("kpdf, a kde pdf viewer based on xpdf");
-
- static const char version[] = "0.5.8";
-
---- 19,25 ----
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("prerex-enabled kpdf, a kde pdf viewer based on xpdf for use with the prerex editor");
-
- static const char version[] = "0.5.8";
-
-Only in kpdf/shell: main.cpp.orig
-diff -cr kpdf.orig/shell/shell.cpp kpdf/shell/shell.cpp
-*** kpdf.orig/shell/shell.cpp 2007-11-13 09:43:02.000000000 -0500
---- kpdf/shell/shell.cpp 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 34,39 ****
---- 34,40 ----
- #include <kparts/componentfactory.h>
- #include <kio/netaccess.h>
- #include <kmainwindowiface.h>
-+ #include <kstatusbar.h>
-
- // local includes
- #include "shell.h"
-***************
-*** 75,81 ****
---- 76,86 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
-+ setupGUI(ToolBar | Keys | Save | StatusBar );
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->message("This is prerex-enabled kpdf.", 8000);
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- }
- }
-diff -cr kpdf.orig/shell/shell.h kpdf/shell/shell.h
-*** kpdf.orig/shell/shell.h 2007-11-13 09:43:02.000000000 -0500
---- kpdf/shell/shell.h 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 103,108 ****
---- 103,109 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KURL m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- }
-diff -cr kpdf.orig/ui/pageview.cpp kpdf/ui/pageview.cpp
-*** kpdf.orig/ui/pageview.cpp 2007-11-13 09:43:02.000000000 -0500
---- kpdf/ui/pageview.cpp 2007-11-13 10:26:15.000000000 -0500
-***************
-*** 930,936 ****
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! setCursor( KCursor::sizeAllCursor() );
- }
- break;
-
---- 930,965 ----
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->geometry().left(),
-! click.y() - pageItem->geometry().top(),
-! pageItem->width(),
-! pageItem->height()
-! );
-! if (clickChart.x() == QCOORD_MIN && clickChart.y() == QCOORD_MIN)
-! { // no anchors
-! setCursor( KCursor::sizeAllCursor() );
-! break;
-! }
-! setCursor( KCursor::crossCursor() );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- break;
-
-***************
-*** 1005,1010 ****
---- 1034,1045 ----
- // handle click over a link
- const KPDFLink * link = static_cast< const KPDFLink * >( linkRect->pointer() );
- d->document->processLink( link );
-+ if ( link->linkType() == KPDFLink::Browse )
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ setCursor( KCursor::crossCursor() );
-+ }
- }
- else
- {
-Only in kpdf/ui: pageview.cpp.orig
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.9.patch b/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.9.patch
deleted file mode 100644
index ab20eaafa22..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/kpdf-3.5.9.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-diff -cr kpdf.orig/core/document.cpp kpdf/core/document.cpp
-*** kpdf.orig/core/document.cpp 2008-03-03 23:36:42.000000000 -0500
---- kpdf/core/document.cpp 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 26,31 ****
---- 26,32 ----
- #include <kuserprofile.h>
- #include <krun.h>
- #include <kstandarddirs.h>
-+ #include <qclipboard.h>
-
- // local includes
- #include "document.h"
-***************
-*** 1066,1071 ****
---- 1067,1082 ----
-
- case KPDFLink::Browse: {
- const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith( "anchor:", false ) ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", false ) )
- kapp->invokeMailer( browse->url() );
-diff -cr kpdf.orig/core/page.cpp kpdf/core/page.cpp
-*** kpdf.orig/core/page.cpp 2008-03-03 23:36:42.000000000 -0500
---- kpdf/core/page.cpp 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 13,24 ****
---- 13,27 ----
- #include <qmap.h>
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "page.h"
- #include "pagetransition.h"
- #include "link.h"
- #include "conf/settings.h"
- #include "xpdf/TextOutputDev.h"
-+ #include <stdlib.h>
-
-
- /** class KPDFPage **/
-***************
-*** 172,177 ****
---- 175,269 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint KPDFPage::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which kpdf has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by kpdf
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint();
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QValueList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Link)
-+ {
-+ const KPDFLink * link = static_cast< const KPDFLink * >( (*it)->pointer() );
-+ if (link)
-+ {
-+ const KPDFLinkBrowse * browse = dynamic_cast< const KPDFLinkBrowse * >( link );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:", false) )
-+ {
-+ int comma;
-+ QString xs;
-+ NormalizedRect * r = (*it);
-+ QRect unnormalized;
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.find(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ unnormalized = r->geometry(widthPage, heightPage);
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(QCOORD_MIN, QCOORD_MIN);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
- const KPDFPageTransition * KPDFPage::getTransition() const
- {
- return m_transition;
-diff -cr kpdf.orig/core/page.h kpdf/core/page.h
-*** kpdf.orig/core/page.h 2008-03-03 23:36:42.000000000 -0500
---- kpdf/core/page.h 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 120,125 ****
---- 120,128 ----
- void deletePixmapsAndRects();
- void deleteHighlights( int s_id = -1 );
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates:
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
- private:
- friend class PagePainter;
- int m_number, m_rotation;
-diff -cr kpdf.orig/shell/main.cpp kpdf/shell/main.cpp
-*** kpdf.orig/shell/main.cpp 2008-03-03 23:36:42.000000000 -0500
---- kpdf/shell/main.cpp 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 19,25 ****
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("kpdf, a kde pdf viewer based on xpdf");
-
- static const char version[] = "0.5.9";
-
---- 19,25 ----
- #include <klocale.h>
-
- static const char description[] =
-! I18N_NOOP("prerex-enabled kpdf, a kde pdf viewer based on xpdf for use with the prerex editor");
-
- static const char version[] = "0.5.9";
-
-Only in kpdf/shell: main.cpp.orig
-diff -cr kpdf.orig/shell/shell.cpp kpdf/shell/shell.cpp
-*** kpdf.orig/shell/shell.cpp 2008-03-03 23:36:42.000000000 -0500
---- kpdf/shell/shell.cpp 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 34,39 ****
---- 34,40 ----
- #include <kparts/componentfactory.h>
- #include <kio/netaccess.h>
- #include <kmainwindowiface.h>
-+ #include <kstatusbar.h>
-
- // local includes
- #include "shell.h"
-***************
-*** 75,81 ****
---- 76,86 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
-+ setupGUI(ToolBar | Keys | Save | StatusBar );
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->message("This is prerex-enabled kpdf.", 8000);
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- }
- }
-diff -cr kpdf.orig/shell/shell.h kpdf/shell/shell.h
-*** kpdf.orig/shell/shell.h 2008-03-03 23:36:42.000000000 -0500
---- kpdf/shell/shell.h 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 103,108 ****
---- 103,109 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KURL m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- }
-diff -cr kpdf.orig/ui/pageview.cpp kpdf/ui/pageview.cpp
-*** kpdf.orig/ui/pageview.cpp 2008-03-03 23:36:42.000000000 -0500
---- kpdf/ui/pageview.cpp 2008-03-03 23:36:59.000000000 -0500
-***************
-*** 930,936 ****
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! setCursor( KCursor::sizeAllCursor() );
- }
- break;
-
---- 930,965 ----
- {
- d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
- if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->geometry().left(),
-! click.y() - pageItem->geometry().top(),
-! pageItem->width(),
-! pageItem->height()
-! );
-! if (clickChart.x() == QCOORD_MIN && clickChart.y() == QCOORD_MIN)
-! { // no anchors
-! setCursor( KCursor::sizeAllCursor() );
-! break;
-! }
-! setCursor( KCursor::crossCursor() );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- break;
-
-***************
-*** 1005,1010 ****
---- 1034,1045 ----
- // handle click over a link
- const KPDFLink * link = static_cast< const KPDFLink * >( linkRect->pointer() );
- d->document->processLink( link );
-+ if ( link->linkType() == KPDFLink::Browse )
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ const KPDFLinkBrowse * browse = static_cast< const KPDFLinkBrowse * >( link );
-+ if ( browse->url().startsWith( "coord:", false ) )
-+ setCursor( KCursor::crossCursor() );
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.3.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.3.patch
deleted file mode 100644
index f76ebcfae83..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.3.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-05-19 11:32:40.000000000 -0400
---- okular/aboutdata.h 2008-05-19 16:26:06.000000000 -0400
-***************
-*** 21,31 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Albert Astals Cid, Enrico Ros\n"
-! "(C) 2005 Piotr Szymanski"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,32 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Albert Astals Cid, Enrico Ros\n"
-! "(C) 2005 Piotr Szymanski\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 35,40 ****
---- 36,42 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-05-19 11:32:40.000000000 -0400
---- okular/core/document.cpp 2008-05-19 11:33:05.000000000 -0400
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2398,2405 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2400,2417 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-05-19 11:32:40.000000000 -0400
---- okular/core/page.cpp 2008-05-19 11:33:05.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 336,341 ****
---- 339,432 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-05-19 11:32:40.000000000 -0400
---- okular/core/page.h 2008-05-19 11:33:05.000000000 -0400
-***************
-*** 298,303 ****
---- 298,308 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-05-19 11:32:40.000000000 -0400
---- okular/shell/shell.cpp 2008-05-19 16:12:28.000000000 -0400
-***************
-*** 42,47 ****
---- 42,49 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-***************
-*** 77,83 ****
---- 79,88 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-05-19 11:32:40.000000000 -0400
---- okular/shell/shell.h 2008-05-19 15:40:58.000000000 -0400
-***************
-*** 101,106 ****
---- 101,107 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-05-19 11:32:40.000000000 -0400
---- okular/ui/pageview.cpp 2008-05-19 11:33:05.000000000 -0400
-***************
-*** 1489,1497 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1489,1526 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->geometry().left(),
-! click.y() - pageItem->geometry().top(),
-! pageItem->width(),
-! pageItem->height()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1613,1618 ****
---- 1642,1657 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.4.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.4.patch
deleted file mode 100644
index 76e432be262..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.0.4.patch
+++ /dev/null
@@ -1,332 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-05-21 07:46:19.000000000 -0400
---- okular/aboutdata.h 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 21,31 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Albert Astals Cid, Enrico Ros\n"
-! "(C) 2005 Piotr Szymanski"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,32 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Albert Astals Cid, Enrico Ros\n"
-! "(C) 2005 Piotr Szymanski\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 35,40 ****
---- 36,42 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-05-21 07:46:19.000000000 -0400
---- okular/core/document.cpp 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2405,2412 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2407,2424 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-05-21 07:46:19.000000000 -0400
---- okular/core/page.cpp 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 336,341 ****
---- 339,432 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-05-21 07:46:19.000000000 -0400
---- okular/core/page.h 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 298,303 ****
---- 298,308 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-05-21 07:46:19.000000000 -0400
---- okular/shell/shell.cpp 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 42,47 ****
---- 42,49 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-***************
-*** 77,83 ****
---- 79,88 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-05-21 07:46:19.000000000 -0400
---- okular/shell/shell.h 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 101,106 ****
---- 101,107 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-05-21 07:46:19.000000000 -0400
---- okular/ui/pageview.cpp 2008-05-21 07:46:42.000000000 -0400
-***************
-*** 1489,1497 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1489,1526 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->geometry().left(),
-! click.y() - pageItem->geometry().top(),
-! pageItem->width(),
-! pageItem->height()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1613,1618 ****
---- 1642,1657 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.0.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.0.patch
deleted file mode 100644
index ac0e3593408..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.0.patch
+++ /dev/null
@@ -1,341 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-09-10 11:05:45.000000000 -0400
---- okular/aboutdata.h 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-Only in okular: aboutdata.h.orig
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-09-10 11:05:45.000000000 -0400
---- okular/core/document.cpp 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2735,2742 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2737,2754 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-Only in okular/core: document.cpp.orig
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-09-10 11:05:45.000000000 -0400
---- okular/core/page.cpp 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-Only in okular/core: page.cpp.orig
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-09-10 11:05:45.000000000 -0400
---- okular/core/page.h 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-Only in okular/core: page.h.orig
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-09-10 11:05:45.000000000 -0400
---- okular/shell/shell.cpp 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 42,47 ****
---- 42,49 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-***************
-*** 77,83 ****
---- 79,88 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-09-10 11:05:45.000000000 -0400
---- okular/shell/shell.h 2008-09-10 11:19:49.000000000 -0400
-***************
-*** 101,106 ****
---- 101,107 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-09-10 11:05:45.000000000 -0400
---- okular/ui/pageview.cpp 2008-09-10 12:19:02.000000000 -0400
-***************
-*** 1634,1642 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1634,1671 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1758,1763 ****
---- 1787,1802 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
-Only in okular/ui: pageview.cpp.orig
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.1.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.1.patch
deleted file mode 100644
index 8e74f338a59..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.1.patch
+++ /dev/null
@@ -1,341 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-09-25 09:41:04.000000000 -0400
---- okular/aboutdata.h 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-09-25 09:41:04.000000000 -0400
---- okular/core/document.cpp 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2739,2746 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2741,2758 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-Only in okular/core: document.cpp.orig
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-09-25 09:41:04.000000000 -0400
---- okular/core/page.cpp 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-09-25 09:41:04.000000000 -0400
---- okular/core/page.h 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-Only in okular: okular-4.1.1.patch
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-09-25 09:41:04.000000000 -0400
---- okular/shell/shell.cpp 2008-09-25 09:53:00.000000000 -0400
-***************
-*** 42,47 ****
---- 42,49 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-***************
-*** 77,83 ****
---- 79,88 ----
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
- setupGUI(Keys | Save);
-+ createStandardStatusBarAction();
- m_showToolBarAction = static_cast<KToggleAction*>(toolBarMenuAction());
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-Only in okular/shell: shell.cpp.orig
-Only in okular/shell: shell.cpp.rej
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-09-25 09:41:04.000000000 -0400
---- okular/shell/shell.h 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 101,106 ****
---- 101,107 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-09-25 09:41:04.000000000 -0400
---- okular/ui/pageview.cpp 2008-09-25 09:42:30.000000000 -0400
-***************
-*** 1643,1651 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1643,1680 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1767,1772 ****
---- 1796,1811 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
-Only in okular/ui: pageview.cpp.orig
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.2.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.2.patch
deleted file mode 100644
index 49eb1cfc102..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.2.patch
+++ /dev/null
@@ -1,326 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-10-21 13:53:48.000000000 -0400
---- okular/aboutdata.h 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-10-21 13:53:48.000000000 -0400
---- okular/core/document.cpp 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2740,2747 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2742,2759 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-Only in okular/core: document.cpp.orig
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-10-21 13:53:48.000000000 -0400
---- okular/core/page.cpp 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-10-21 13:53:48.000000000 -0400
---- okular/core/page.h 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-10-21 13:53:48.000000000 -0400
---- okular/shell/shell.cpp 2008-10-21 13:57:38.000000000 -0400
-***************
-*** 42,47 ****
---- 42,49 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-Only in okular/shell: shell.cpp.orig
-Only in okular/shell: shell.cpp.rej
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-10-21 13:53:48.000000000 -0400
---- okular/shell/shell.h 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 101,106 ****
---- 101,107 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-10-21 13:53:48.000000000 -0400
---- okular/ui/pageview.cpp 2008-10-21 13:55:13.000000000 -0400
-***************
-*** 1643,1651 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1643,1680 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1767,1772 ****
---- 1796,1811 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.3.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.3.patch
deleted file mode 100644
index 46a2dd2d060..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.3.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-11-30 15:27:36.000000000 -0500
---- okular/aboutdata.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/core/document.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2740,2747 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2742,2759 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/core/page.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-11-30 15:27:36.000000000 -0500
---- okular/core/page.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/shell/shell.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 41,46 ****
---- 41,48 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-11-30 15:27:36.000000000 -0500
---- okular/shell/shell.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 99,104 ****
---- 99,105 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/ui/pageview.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 1653,1661 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1653,1690 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1777,1782 ****
---- 1806,1821 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.4.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.4.patch
deleted file mode 100644
index 46a2dd2d060..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.1.4.patch
+++ /dev/null
@@ -1,323 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2008-11-30 15:27:36.000000000 -0500
---- okular/aboutdata.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/core/document.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 44,49 ****
---- 44,51 ----
- #include <ktemporaryfile.h>
- #include <ktoolinvocation.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2740,2747 ****
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
---- 2742,2759 ----
-
- case Action::Browse: {
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
-! if ( browse->url().startsWith( QString("mailto:"), Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
- else
- {
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/core/page.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2008-11-30 15:27:36.000000000 -0500
---- okular/core/page.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/shell/shell.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 41,46 ****
---- 41,48 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2008-11-30 15:27:36.000000000 -0500
---- okular/shell/shell.h 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 99,104 ****
---- 99,105 ----
- KToggleAction* m_showToolBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2008-11-30 15:27:36.000000000 -0500
---- okular/ui/pageview.cpp 2008-11-30 15:28:25.000000000 -0500
-***************
-*** 1653,1661 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1653,1690 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1777,1782 ****
---- 1806,1821 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.2.0.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.2.0.patch
deleted file mode 100644
index 386d9d20355..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.2.0.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2009-02-13 17:51:29.000000000 -0500
---- okular/aboutdata.h 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 21,33 ****
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 21,34 ----
- "okular",
- ki18n(iname), //I18N_NOOP("okular"),
- OKULAR_VERSION_STRING,
-! ki18n("Okular, a universal document viewer (prerex-enabled version)"),
- KAboutData::License_GPL,
- ki18n("(C) 2002 Wilco Greven, Christophe Devriese\n"
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2008 Albert Astals Cid\n"
-! "(C) 2006-2008 Pino Toscano\n"
-! "(C) 2006-2008 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
-
- return about;
- }
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2009-02-13 17:51:29.000000000 -0500
---- okular/core/document.cpp 2009-02-13 19:18:27.000000000 -0500
-***************
-*** 47,52 ****
---- 47,54 ----
- #include <ktoolinvocation.h>
- #include <kzip.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2871,2876 ****
---- 2873,2888 ----
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- QString lilySource;
- int lilyRow = 0, lilyCol = 0;
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
-Only in okular/core: document.cpp.orig
-Only in okular/core: document.cpp.rej
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2009-02-13 17:51:29.000000000 -0500
---- okular/core/page.cpp 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #ifdef PAGE_PROFILE
- #include <QtCore/QTime>
-***************
-*** 360,365 ****
---- 363,456 ----
- return 0;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2009-02-13 17:51:29.000000000 -0500
---- okular/core/page.h 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 326,331 ****
---- 326,336 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2009-02-13 17:51:29.000000000 -0500
---- okular/shell/shell.cpp 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 43,48 ****
---- 43,50 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-Only in okular/shell: shell.cpp.orig
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2009-02-13 17:51:29.000000000 -0500
---- okular/shell/shell.h 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 102,107 ****
---- 102,108 ----
- KToggleAction* m_showMenuBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-Only in okular/shell: shell.h.orig
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2009-02-13 17:51:29.000000000 -0500
---- okular/ui/pageview.cpp 2009-02-13 17:51:55.000000000 -0500
-***************
-*** 1691,1699 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1691,1728 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1815,1820 ****
---- 1844,1859 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else
- {
-Only in okular/ui: pageview.cpp.orig
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.3.0.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.3.0.patch
deleted file mode 100644
index a7cfab47926..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.3.0.patch
+++ /dev/null
@@ -1,334 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2009-09-06 15:53:13.000000000 -0400
---- okular/aboutdata.h 2009-09-06 15:58:31.000000000 -0400
-***************
-*** 27,33 ****
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2009 Albert Astals Cid\n"
-! "(C) 2006-2009 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 27,34 ----
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2009 Albert Astals Cid\n"
-! "(C) 2006-2009 Pino Toscano\n"
-! "(C) 2006-2009 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
- about.addCredit(ki18n("Eugene Trounev"), ki18n("Annotations artwork"), "eugene.trounev@gmail.com");
-
- return about;
-Only in okular: aboutdata.h.orig
-Only in okular: aboutdata.h.rej
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2009-09-06 15:53:13.000000000 -0400
---- okular/core/document.cpp 2009-09-06 16:01:33.000000000 -0400
-***************
-*** 47,52 ****
---- 47,54 ----
- #include <ktoolinvocation.h>
- #include <kzip.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2902,2907 ****
---- 2904,2920 ----
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- QString lilySource;
- int lilyRow = 0, lilyCol = 0;
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
-+
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
-Only in okular/core: document.cpp.orig
-Only in okular/core: document.cpp.rej
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2009-09-06 15:53:13.000000000 -0400
---- okular/core/page.cpp 2009-09-06 15:53:43.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #include <limits>
-
-***************
-*** 386,391 ****
---- 389,482 ----
- return res;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-Only in okular/core: page.cpp.orig
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2009-09-06 15:53:13.000000000 -0400
---- okular/core/page.h 2009-09-06 15:53:43.000000000 -0400
-***************
-*** 333,338 ****
---- 333,343 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-Only in okular/core: page.h.orig
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2009-09-06 15:53:13.000000000 -0400
---- okular/shell/shell.cpp 2009-09-06 16:05:09.000000000 -0400
-***************
-*** 43,48 ****
---- 43,50 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
-
-***************
-*** 110,117 ****
- // tell the KParts::MainWindow that this is indeed the main widget
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
-- setupGUI(Keys | ToolBar | Save);
- createGUI(m_part);
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-
---- 112,122 ----
- // tell the KParts::MainWindow that this is indeed the main widget
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
-+ setupGUI(Keys | ToolBar | Save);
-+ createStandardStatusBarAction();
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-
-Only in okular/shell: shell.cpp.orig
-Only in okular/shell: shell.cpp.rej
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2009-09-06 15:53:13.000000000 -0400
---- okular/shell/shell.h 2009-09-06 15:53:43.000000000 -0400
-***************
-*** 102,107 ****
---- 102,108 ----
- KToggleAction* m_showMenuBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-Only in okular/shell: shell.h.orig
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2009-09-06 15:53:13.000000000 -0400
---- okular/ui/pageview.cpp 2009-09-06 15:53:43.000000000 -0400
-***************
-*** 1696,1704 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1696,1733 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1820,1825 ****
---- 1849,1864 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else if ( e->modifiers() == Qt::ShiftModifier )
- {
-Only in okular/ui: pageview.cpp.orig
diff --git a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.4.0.patch b/Master/texmf-dist/doc/latex/prerex/patches/okular-4.4.0.patch
deleted file mode 100644
index 94865529e95..00000000000
--- a/Master/texmf-dist/doc/latex/prerex/patches/okular-4.4.0.patch
+++ /dev/null
@@ -1,329 +0,0 @@
-diff -rc okular.orig/aboutdata.h okular/aboutdata.h
-*** okular.orig/aboutdata.h 2010-03-16 14:25:07.000000000 -0400
---- okular/aboutdata.h 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 27,33 ****
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2009 Albert Astals Cid\n"
-! "(C) 2006-2009 Pino Toscano"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
---- 27,34 ----
- "(C) 2004-2005 Enrico Ros\n"
- "(C) 2005 Piotr Szymanski\n"
- "(C) 2004-2009 Albert Astals Cid\n"
-! "(C) 2006-2009 Pino Toscano\n"
-! "(C) 2006-2009 Bob Tennent"),
- KLocalizedString(),
- "http://okular.kde.org"
- );
-***************
-*** 37,42 ****
---- 38,44 ----
- about.addAuthor(ki18n("Albert Astals Cid"), ki18n("Former maintainer"), "aacid@kde.org");
- about.addAuthor(ki18n("Piotr Szymanski"), ki18n("Created Okular from KPDF codebase"), "djurban@pld-dc.org");
- about.addAuthor(ki18n("Enrico Ros"), ki18n("KPDF developer"), "eros.kde@email.it");
-+ about.addAuthor(ki18n("Bob Tennent"), ki18n("prerex developer"), "rdtennent@gmail.com");
- about.addCredit(ki18n("Eugene Trounev"), ki18n("Annotations artwork"), "eugene.trounev@gmail.com");
-
- return about;
-diff -rc okular.orig/core/document.cpp okular/core/document.cpp
-*** okular.orig/core/document.cpp 2010-03-16 14:25:07.000000000 -0400
---- okular/core/document.cpp 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 47,52 ****
---- 47,54 ----
- #include <ktoolinvocation.h>
- #include <kzip.h>
-
-+ #include <qclipboard.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 2955,2960 ****
---- 2957,2973 ----
- const BrowseAction * browse = static_cast< const BrowseAction * >( action );
- QString lilySource;
- int lilyRow = 0, lilyCol = 0;
-+ if ( browse->url().startsWith( "coord:") )
-+ { // for prerex: load coordinates of clicked box into the clipboard
-+ QString message = browse->url();
-+ QClipboard *cb = QApplication::clipboard();
-+ message.remove("coord: ");
-+ cb->setText(message, QClipboard::Selection );
-+ }
-+ else if ( browse->url().startsWith("anchor:") ) // ignore it
-+ { }
-+ else
-+
- // if the url is a mailto one, invoke mailer
- if ( browse->url().startsWith( "mailto:", Qt::CaseInsensitive ) )
- KToolInvocation::invokeMailer( browse->url() );
-Only in okular/core: document.cpp.orig
-diff -rc okular.orig/core/page.cpp okular/core/page.cpp
-*** okular.orig/core/page.cpp 2010-03-16 14:25:07.000000000 -0400
---- okular/core/page.cpp 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 20,25 ****
---- 20,27 ----
-
- #include <kdebug.h>
-
-+ #include <kmessagebox.h>
-+
- // local includes
- #include "action.h"
- #include "annotations.h"
-***************
-*** 34,39 ****
---- 36,42 ----
- #include "rotationjob_p.h"
- #include "textpage.h"
- #include "textpage_p.h"
-+ #include <stdlib.h>
-
- #include <limits>
-
-***************
-*** 391,396 ****
---- 394,487 ----
- return res;
- }
-
-+ // computes the factor that scales from pixel coordinates to chart coordinates
-+ const QPoint Page::scaleToChart (int xclick, int yclick, int widthPage, int heightPage) const
-+ {
-+ // Copyright (c) 2006 R. D. Tennent
-+ // School of Computing, Queen's University, rdt@cs.queensu.ca
-+ //
-+ // There are *three* coordinate systems involved here:
-+ //
-+ // + chart coordinates, to which okular has no direct access
-+ //
-+ // + pixel coordinates, for example, as registered by a mouse click
-+ //
-+ // + normalized page coordinates in [0,1] range used internally
-+ // by okular
-+ //
-+ // Implementation:
-+ //
-+ // Find the two "anchor: xci,yci" links, determine their
-+ // "normalized" locations on the page, unnormalize to get the pixel
-+ // coordinates (x1, y1) and (x2, y2) of their centre points, and
-+ // then scale the mouse-click coordinates accordingly to get the
-+ // corresponding chart coordinates (xc, yc).
-+ //
-+ QPoint clickChart = QPoint(); // what we're trying to determine
-+ bool first = false, second = false;
-+ int x1=0, y1=0, x2=0, y2=0; // pixel coordinates of centre points of two anchor links
-+ int xc1=0, yc1=0, xc2=0, yc2=0; // chart coordinates of anchors, as determined by their URIs
-+ int xc=0, yc=0; // rounded chart coordinates of mouse-click location
-+
-+ QLinkedList< ObjectRect * >::const_iterator it = m_rects.begin(), end = m_rects.end();
-+ for ( ; it != end; ++it )
-+ if ((*it)->objectType() == ObjectRect::Action)
-+ {
-+ const BrowseAction * action = static_cast< const BrowseAction * >( (*it)->object() );
-+ if (action)
-+ {
-+ const BrowseAction * browse = dynamic_cast< const BrowseAction * >( action );
-+ if (browse)
-+ {
-+ QString thisURL = browse->url();
-+ if (thisURL.startsWith( "anchor:" ) )
-+ {
-+ int comma;
-+ QString xs;
-+ QRect unnormalized = (*it)->boundingRect(widthPage, heightPage);
-+ thisURL.remove(0,7); // remove "anchor:"
-+ comma = thisURL.indexOf(',');
-+ xs = thisURL.left(comma); // x coordinate as a string
-+ thisURL.remove(0, comma+1); // y coordinate as a string
-+ if (!first)
-+ {
-+ QPoint p1; // centre of first anchor
-+ xc1 = xs.toInt();
-+ yc1 = thisURL.toInt();
-+ p1 = unnormalized.center();
-+ x1 = p1.x(); y1 = p1.y();
-+ first = true;
-+ }
-+ else
-+ {
-+ QPoint p2; // centre of second anchor
-+ xc2 = xs.toInt();
-+ yc2 = thisURL.toInt();
-+ p2 = unnormalized.center();
-+ x2 = p2.x(); y2 = p2.y();
-+ second = true;
-+ break;
-+ }
-+ }
-+ }
-+ }
-+ }
-+ if (!second) return QPoint(-1, -1);
-+ // KMessageBox::information(0, QString()
-+ // + " x1= " + QString::number(x1)
-+ // + " y1= " + QString::number(y1)
-+ // + " x2= " + QString::number(x2)
-+ // + " y2= " + QString::number(y1)
-+ // + " xclick= " + QString::number(xclick)
-+ // + " yclick= " + QString::number(yclick)
-+ // );
-+ xc = (int)( 0.25L + (xc1 + xc2)/2.0L - ((x1 + x2)/2.0L - xclick) * (xc2 - xc1) / (x2 - x1) ) ;
-+ yc = (int)( 0.75L + (yc1 + yc2)/2.0L - ((y1 + y2)/2.0L - yclick) * (yc2 - yc1) / (y2 - y1) );
-+ clickChart = QPoint(xc, yc);
-+ return clickChart;
-+ }
-+
-+
- const PageTransition * Page::transition() const
- {
- return d->m_transition;
-Only in okular/core: page.cpp.orig
-diff -rc okular.orig/core/page.h okular/core/page.h
-*** okular.orig/core/page.h 2010-03-16 14:25:07.000000000 -0400
---- okular/core/page.h 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 340,345 ****
---- 340,350 ----
- */
- void deleteAnnotations();
-
-+ /** computes the factor that scales from pixel coordinates to chart coordinates:
-+ */
-+ const QPoint scaleToChart(int xclick, int yclick, int widthPage, int heightPage) const;
-+
-+
- private:
- PagePrivate* const d;
- /// @cond PRIVATE
-Only in okular/core: page.h.orig
-diff -rc okular.orig/shell/shell.cpp okular/shell/shell.cpp
-*** okular.orig/shell/shell.cpp 2010-03-16 14:25:07.000000000 -0400
---- okular/shell/shell.cpp 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 43,48 ****
---- 43,50 ----
- #include <ktogglefullscreenaction.h>
- #include <kactioncollection.h>
-
-+ #include <kstatusbar.h>
-+
- // local includes
- #include "kdocumentviewer.h"
- #include "shellutils.h"
-***************
-*** 89,96 ****
- // tell the KParts::MainWindow that this is indeed the main widget
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
-- setupGUI(Keys | ToolBar | Save);
- createGUI(m_part);
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-
---- 91,101 ----
- // tell the KParts::MainWindow that this is indeed the main widget
- setCentralWidget(m_part->widget());
- // and integrate the part's GUI with the shell's
- createGUI(m_part);
-+ m_statusBar = statusBar();
-+ m_statusBar->showMessage("This is prerex-enabled okular.");
-+ setupGUI(Keys | ToolBar | Save);
-+ createStandardStatusBarAction();
- m_doc = qobject_cast<KDocumentViewer*>(m_part);
- }
-
-Only in okular/shell: shell.cpp.orig
-diff -rc okular.orig/shell/shell.h okular/shell/shell.h
-*** okular.orig/shell/shell.h 2010-03-16 14:25:07.000000000 -0400
---- okular/shell/shell.h 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 102,107 ****
---- 102,108 ----
- KToggleAction* m_showMenuBarAction;
- bool m_menuBarWasShown, m_toolBarWasShown;
- KUrl m_openUrl;
-+ KStatusBar *m_statusBar;
- };
-
- #endif
-diff -rc okular.orig/ui/pageview.cpp okular/ui/pageview.cpp
-*** okular.orig/ui/pageview.cpp 2010-03-16 14:25:07.000000000 -0400
---- okular/ui/pageview.cpp 2010-03-16 14:25:50.000000000 -0400
-***************
-*** 1648,1656 ****
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! setCursor( Qt::SizeAllCursor );
- }
- }
- else if ( rightButton )
---- 1648,1685 ----
- }
- if ( !d->mouseAnn )
- {
-! d->mouseGrabPos = d->mouseOnRect ? QPoint() : d->mousePressPos;
-! if ( !d->mouseOnRect )
-! {
-! QPoint click = QPoint(e->x(), e->y());
-! // need to compute chart coordinates from pixel coordinates
-! // first, find the relevant page:
-! PageViewItem * pageItem = pickItemOnPoint( click.x(), click.y() );
-! if ( pageItem )
-! { // load chart coordinates of clicked point into clipboard
-! QString message;
-! QClipboard *cb = QApplication::clipboard();
-! QPoint clickChart = pageItem->page()->
-! scaleToChart(
-! click.x() - pageItem->croppedGeometry().left(),
-! click.y() - pageItem->croppedGeometry().top(),
-! pageItem->croppedWidth(),
-! pageItem->croppedHeight()
-! );
-! if (clickChart.x() == -1 && clickChart.y() == -1)
-! { // no anchors
-! setCursor( Qt::SizeAllCursor );
-! break;
-! }
-! setCursor( Qt::CrossCursor );
-! message = "";
-! message.append(QString::number(clickChart.x()));
-! message.append(',');
-! message.append(QString::number(clickChart.y()));
-! // message = QString::number(pageItem->width());
-! cb->setText(message, QClipboard::Selection );
-! }
-! }
- }
- }
- else if ( rightButton )
-***************
-*** 1774,1779 ****
---- 1803,1818 ----
- // handle click over a link
- const Okular::Action * action = static_cast< const Okular::Action * >( rect->object() );
- d->document->processAction( action );
-+ if (action)
-+ {
-+ const Okular::BrowseAction * browse = static_cast< const Okular::BrowseAction * >( action );
-+ if (browse)
-+ { // for coord URIs with prerex, change cursor to cross to signal click success
-+ QString thisURL = browse->url();
-+ if ( thisURL.startsWith( "coord:" ) )
-+ setCursor( Qt::CrossCursor );
-+ }
-+ }
- }
- else if ( e->modifiers() == Qt::ShiftModifier )
- {
-Only in okular/ui: pageview.cpp.orig