improve a bit the Document::setPageSize API -- better pass the size, and not an index

svn path=/trunk/KDE/kdegraphics/okular/; revision=660208
remotes/origin/KDE/4.0
Pino Toscano 19 years ago
parent 0f4cd40e26
commit 7cfa67ecf4
  1. 14
      core/document.cpp
  2. 2
      core/document.h
  3. 10
      ui/pageview.cpp
  4. 1
      ui/pageview.h

@ -2289,17 +2289,17 @@ void Document::setRotation( int r )
kDebug(OkularDebug) << "Rotated: " << r << endl; kDebug(OkularDebug) << "Rotated: " << r << endl;
} }
void Document::slotPageSizes( int newsize ) void Document::setPageSize( const PageSize &size )
{ {
if ( !d->m_generator->hasFeature( Generator::PageSizes ) || newsize < 0 || newsize >= d->m_pageSizes.count() ) int sizeid = d->m_pageSizes.indexOf( size );
if ( !d->m_generator->hasFeature( Generator::PageSizes ) || sizeid == -1 )
return; return;
const PageSize& ps = d->m_pageSizes.at( newsize );
// tell the pages to change size // tell the pages to change size
QVector< Okular::Page * >::const_iterator pIt = d->m_pagesVector.begin(); QVector< Okular::Page * >::const_iterator pIt = d->m_pagesVector.begin();
QVector< Okular::Page * >::const_iterator pEnd = d->m_pagesVector.end(); QVector< Okular::Page * >::const_iterator pEnd = d->m_pagesVector.end();
for ( ; pIt != pEnd; ++pIt ) for ( ; pIt != pEnd; ++pIt )
(*pIt)->changeSize( ps ); (*pIt)->changeSize( size );
// clear 'memory allocation' descriptors // clear 'memory allocation' descriptors
QLinkedList< AllocatedPixmap * >::const_iterator aIt = d->m_allocatedPixmapsFifo.begin(); QLinkedList< AllocatedPixmap * >::const_iterator aIt = d->m_allocatedPixmapsFifo.begin();
QLinkedList< AllocatedPixmap * >::const_iterator aEnd = d->m_allocatedPixmapsFifo.end(); QLinkedList< AllocatedPixmap * >::const_iterator aEnd = d->m_allocatedPixmapsFifo.end();
@ -2308,13 +2308,13 @@ void Document::slotPageSizes( int newsize )
d->m_allocatedPixmapsFifo.clear(); d->m_allocatedPixmapsFifo.clear();
d->m_allocatedPixmapsTotalMemory = 0; d->m_allocatedPixmapsTotalMemory = 0;
// notify the generator that the current page size has changed // notify the generator that the current page size has changed
d->m_generator->pageSizeChanged( ps, d->m_pageSize ); d->m_generator->pageSizeChanged( size, d->m_pageSize );
// set the new page size // set the new page size
d->m_pageSize = ps; d->m_pageSize = size;
foreachObserver( notifySetup( d->m_pagesVector, true ) ); foreachObserver( notifySetup( d->m_pagesVector, true ) );
foreachObserver( notifyContentsCleared( DocumentObserver::Pixmap | DocumentObserver::Highlights ) ); foreachObserver( notifyContentsCleared( DocumentObserver::Pixmap | DocumentObserver::Highlights ) );
kDebug(OkularDebug) << "PageSize no: " << newsize << endl; kDebug(OkularDebug) << "New PageSize id: " << sizeid << endl;
} }

@ -478,7 +478,7 @@ class OKULAR_EXPORT Document : public QObject
* This slot is called whenever the user changes the page @p size * This slot is called whenever the user changes the page @p size
* of the document. * of the document.
*/ */
void slotPageSizes( int size ); void setPageSize( const PageSize &size );
Q_SIGNALS: Q_SIGNALS:
/** /**

@ -344,7 +344,7 @@ void PageView::setupActions( KActionCollection * ac )
ac->addAction("view_pagesizes", d->aPageSizes); ac->addAction("view_pagesizes", d->aPageSizes);
connect( d->aPageSizes , SIGNAL( triggered( int ) ), connect( d->aPageSizes , SIGNAL( triggered( int ) ),
d->document , SLOT( slotPageSizes( int ) ) ); this, SLOT( slotPageSizes( int ) ) );
bool pageSizes = d->document->supportsPageSizes(); bool pageSizes = d->document->supportsPageSizes();
d->aPageSizes->setEnabled( pageSizes ); d->aPageSizes->setEnabled( pageSizes );
@ -2948,6 +2948,14 @@ void PageView::slotRotateOriginal()
d->document->setRotation( 0 ); d->document->setRotation( 0 );
} }
void PageView::slotPageSizes( int newsize )
{
if ( newsize < 0 || newsize >= d->document->pageSizes().count() )
return;
d->document->setPageSize( d->document->pageSizes().at( newsize ) );
}
void PageView::slotToggleForms() void PageView::slotToggleForms()
{ {
toggleFormWidgets( !d->m_formsVisible ); toggleFormWidgets( !d->m_formsVisible );

@ -187,6 +187,7 @@ Q_OBJECT
void slotRotateClockwise(); void slotRotateClockwise();
void slotRotateCounterClockwise(); void slotRotateCounterClockwise();
void slotRotateOriginal(); void slotRotateOriginal();
void slotPageSizes( int );
void slotToggleForms(); void slotToggleForms();
}; };

Loading…
Cancel
Save