diff --git a/core/document.cpp b/core/document.cpp index 2d5863408..c2a3b44d8 100644 --- a/core/document.cpp +++ b/core/document.cpp @@ -269,7 +269,7 @@ bool Document::openDocument( const QString & docFile, const KUrl& url, const KMi // 4. set initial page (restoring the page saved in xml if loaded) DocumentViewport loadedViewport = (*d->viewportIterator); - if ( loadedViewport.pageNumber != -1 ) + if ( loadedViewport.isValid() ) { (*d->viewportIterator) = DocumentViewport(); if ( loadedViewport.pageNumber >= (int)pages_vector.size() ) @@ -295,7 +295,7 @@ bool Document::openDocument( const QString & docFile, const KUrl& url, const KMi } d->memCheckTimer->start( 2000 ); - if (d->nextDocumentViewport.pageNumber != -1) + if (d->nextDocumentViewport.isValid()) { setViewport(d->nextDocumentViewport); d->nextDocumentViewport = DocumentViewport(); @@ -865,7 +865,7 @@ void Document::setViewport( const DocumentViewport & viewport, int excludeId, bo // kDebug() << "setViewport with the same viewport." << endl; // set internal viewport taking care of history - if ( oldViewport.pageNumber == viewport.pageNumber || oldViewport.pageNumber == -1 ) + if ( oldViewport.pageNumber == viewport.pageNumber || !oldViewport.isValid() ) { // if page is unchanged save the viewport at current position in queue oldViewport = viewport; @@ -1279,7 +1279,7 @@ void Document::processLink( const Link * link ) else { // skip local links that point to nowhere (broken ones) - if (d->nextDocumentViewport.pageNumber == -1) + if (!d->nextDocumentViewport.isValid()) return; setViewport( d->nextDocumentViewport, -1, true ); @@ -2054,6 +2054,11 @@ QString DocumentViewport::toString() const return s; } +bool DocumentViewport::isValid() const +{ + return pageNumber != -1; +} + bool DocumentViewport::operator==( const DocumentViewport & vp ) const { bool equal = ( pageNumber == vp.pageNumber ) && diff --git a/core/document.h b/core/document.h index 19fcbc80a..2c6ff1692 100644 --- a/core/document.h +++ b/core/document.h @@ -235,6 +235,7 @@ class OKULAR_EXPORT DocumentViewport DocumentViewport( int pageNumber = -1 ); DocumentViewport( const QString & xmlDesc ); QString toString() const; + bool isValid() const; bool operator==( const DocumentViewport & vp ) const; }; diff --git a/core/link.cpp b/core/link.cpp index 1a8f0ca06..80a160f83 100644 --- a/core/link.cpp +++ b/core/link.cpp @@ -37,7 +37,7 @@ Link::LinkType LinkGoto::linkType() const QString LinkGoto::linkTip() const { - return m_extFileName.isEmpty() ? ( m_vp.pageNumber != -1 ? i18n( "Go to page %1", m_vp.pageNumber + 1 ) : "" ) : + return m_extFileName.isEmpty() ? ( m_vp.isValid() ? i18n( "Go to page %1", m_vp.pageNumber + 1 ) : "" ) : i18n("Open external file"); } diff --git a/generators/poppler/generator_pdf.cpp b/generators/poppler/generator_pdf.cpp index 1b8e194ba..8fd8a56ae 100644 --- a/generators/poppler/generator_pdf.cpp +++ b/generators/poppler/generator_pdf.cpp @@ -74,7 +74,7 @@ static void fillViewportFromLinkDestination( Okular::DocumentViewport &viewport, { viewport.pageNumber = destination.pageNumber() - 1; - if (viewport.pageNumber == -1) return; + if (!viewport.isValid()) return; // get destination position // TODO add other attributes to the viewport (taken from link) diff --git a/ui/toc.cpp b/ui/toc.cpp index 417f87f81..2603a1549 100644 --- a/ui/toc.cpp +++ b/ui/toc.cpp @@ -57,7 +57,7 @@ class TOCItem : public QTreeWidgetItem } QString text = e.tagName(); - if ( m_viewport.pageNumber != -1 ) + if ( m_viewport.isValid() ) text.prepend( QString::number( m_viewport.pageNumber + 1 ) + PAGEITEMDELEGATE_SEPARATOR ); setText( 0, text ); }