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