add an handy DocumentViewport::isValid() and use it where possible instead of doing checks manually

svn path=/trunk/playground/graphics/okular/; revision=616667
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent 349dfb7eb1
commit b7328d7234
  1. 13
      core/document.cpp
  2. 1
      core/document.h
  3. 2
      core/link.cpp
  4. 2
      generators/poppler/generator_pdf.cpp
  5. 2
      ui/toc.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 ) &&

@ -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;
};

@ -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");
}

@ -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)

@ -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 );
}

Loading…
Cancel
Save