diff options
Diffstat (limited to 'Master')
19 files changed, 6 insertions, 4249 deletions
diff --git a/Master/texmf-dist/doc/latex/prerex/README b/Master/texmf-dist/doc/latex/prerex/README index bdb22603452..9a5407e9cb1 100644 --- a/Master/texmf-dist/doc/latex/prerex/README +++ b/Master/texmf-dist/doc/latex/prerex/README @@ -1,4 +1,4 @@ -prerex, version 6.1.0: Macros for prerequisite charts, with associated +prerex, version 6.1.1: Macros for prerequisite charts, with associated editor and viewer applications. This package consists of @@ -11,8 +11,7 @@ This package consists of an interactive program for creating and editing chart descriptions, and - vprerex ("visual prerex", formerly called "previewer") - a GUI and previewer for prerex. + vprerex ("visual prerex") a GUI and previewer for prerex. The implementation of prerex.sty is built on pgf, so that it may be used equally happily with latex or pdflatex; prerex is written in C @@ -71,8 +70,8 @@ of the whole diagram or selected sets of course boxes. When a course box is moved, the arrows into and out of it automatically follow. To install: - tar zxvf prerex-6.1.0.tar.gz - cd prerex-6.1.0 + tar zxvf prerex-6.1.1.tar.gz + cd prerex-6.1.1 ./configure --help ./configure [options] make @@ -88,18 +87,11 @@ editor command-line using the clipboard. See the INSTALL in the tarball for installation instructions. -An alternative is to use a version of kpdf/okular (PDF viewers in KDE) -that has been patched to provide the same access to chart coordinates. -The "patches" sub-directory provides patches for several recent -versions of kpdf (KDE-3) and okular (KDE-4). See patches/README for -instructions. - See the file doc/intro.pdf for an overview of the prerex system. prerex.sty, README.prerex, prerex.1, prerex.5, prerex.sty.7, prerex.tex and chart.tex may be modified and distributed according to the terms of the LaTeX Project Public License. -The source files for prerex, vprerex, and the kpdf/okular patches may -be modified and distributed according to the terms of the GNU General -Public Licence (version 2). +The source files for prerex and vprerex may be modified and distributed +according to the terms of the GNU General Public Licence (version 2). 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 diff --git a/Master/texmf-dist/doc/latex/prerex/prerex-6.1.0.tar.gz b/Master/texmf-dist/doc/latex/prerex/prerex-6.1.0.tar.gz Binary files differdeleted file mode 100644 index a1980963fd4..00000000000 --- a/Master/texmf-dist/doc/latex/prerex/prerex-6.1.0.tar.gz +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prerex/prerex-6.1.1.tar.gz b/Master/texmf-dist/doc/latex/prerex/prerex-6.1.1.tar.gz Binary files differnew file mode 100644 index 00000000000..a45f43b6d3d --- /dev/null +++ b/Master/texmf-dist/doc/latex/prerex/prerex-6.1.1.tar.gz diff --git a/Master/texmf-dist/doc/latex/prerex/vprerex-6.0.1.tar.gz b/Master/texmf-dist/doc/latex/prerex/vprerex-6.0.1.tar.gz Binary files differdeleted file mode 100644 index 97b6c09d43c..00000000000 --- a/Master/texmf-dist/doc/latex/prerex/vprerex-6.0.1.tar.gz +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/prerex/vprerex-6.1.1.tar.gz b/Master/texmf-dist/doc/latex/prerex/vprerex-6.1.1.tar.gz Binary files differnew file mode 100644 index 00000000000..5f2ba8ba6ec --- /dev/null +++ b/Master/texmf-dist/doc/latex/prerex/vprerex-6.1.1.tar.gz |