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;
}
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;
const PageSize& ps = d->m_pageSizes.at( newsize );
// tell the pages to change size
QVector< Okular::Page * >::const_iterator pIt = d->m_pagesVector.begin();
QVector< Okular::Page * >::const_iterator pEnd = d->m_pagesVector.end();
for ( ; pIt != pEnd; ++pIt )
(*pIt)->changeSize( ps );
(*pIt)->changeSize( size );
// clear 'memory allocation' descriptors
QLinkedList< AllocatedPixmap * >::const_iterator aIt = d->m_allocatedPixmapsFifo.begin();
QLinkedList< AllocatedPixmap * >::const_iterator aEnd = d->m_allocatedPixmapsFifo.end();
@ -2308,13 +2308,13 @@ void Document::slotPageSizes( int newsize )
d->m_allocatedPixmapsFifo.clear();
d->m_allocatedPixmapsTotalMemory = 0;
// 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
d->m_pageSize = ps;
d->m_pageSize = size;
foreachObserver( notifySetup( d->m_pagesVector, true ) );
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
* of the document.
*/
void slotPageSizes( int size );
void setPageSize( const PageSize &size );
Q_SIGNALS:
/**

@ -344,7 +344,7 @@ void PageView::setupActions( KActionCollection * ac )
ac->addAction("view_pagesizes", d->aPageSizes);
connect( d->aPageSizes , SIGNAL( triggered( int ) ),
d->document , SLOT( slotPageSizes( int ) ) );
this, SLOT( slotPageSizes( int ) ) );
bool pageSizes = d->document->supportsPageSizes();
d->aPageSizes->setEnabled( pageSizes );
@ -2948,6 +2948,14 @@ void PageView::slotRotateOriginal()
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()
{
toggleFormWidgets( !d->m_formsVisible );

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

Loading…
Cancel
Save