149
150
KToggleAction * aZoomFitWidth;
150
151
KToggleAction * aZoomFitPage;
151
152
KToggleAction * aZoomFitText;
152
KSelectAction * aViewMode;
153
KActionMenu * aViewMode;
153
154
KToggleAction * aViewContinuous;
154
155
QAction * aPrevAction;
155
156
KAction * aToggleForms;
461
462
// View-Layout actions
462
QStringList viewModes;
463
viewModes.append( i18n( "Single Page" ) );
464
viewModes.append( i18n( "Facing Pages" ) );
465
viewModes.append( i18n( "Overview" ) );
467
d->aViewMode = new KSelectAction(KIcon( "view-split-left-right" ), i18n("&View Mode"), this);
463
d->aViewMode = new KActionMenu( KIcon( "view-split-left-right" ), i18n( "&View Mode" ), this );
464
d->aViewMode->setDelayed( false );
465
#define ADD_VIEWMODE_ACTION( text, name, id ) \
467
KAction *vm = new KAction( text, d->aViewMode->menu() ); \
468
vm->setCheckable( true ); \
469
vm->setData( qVariantFromValue( id ) ); \
470
d->aViewMode->addAction( vm ); \
471
ac->addAction( name, vm ); \
472
vmGroup->addAction( vm ); \
468
474
ac->addAction("view_render_mode", d->aViewMode );
469
connect( d->aViewMode, SIGNAL( triggered( int ) ), SLOT( slotViewMode( int ) ) );
470
d->aViewMode->setItems( viewModes );
471
d->aViewMode->setCurrentItem( Okular::Settings::viewMode() );
475
QActionGroup *vmGroup = new QActionGroup( d->aViewMode->menu() );
476
ADD_VIEWMODE_ACTION( i18n( "Single Page" ), "view_render_mode_single", 0 );
477
ADD_VIEWMODE_ACTION( i18n( "Facing Pages" ), "view_render_mode_facing", 1 );
478
ADD_VIEWMODE_ACTION( i18n( "Overview" ), "view_render_mode_overview", 2 );
479
d->aViewMode->menu()->actions().at( Okular::Settings::viewMode() )->setChecked( true );
480
connect( vmGroup, SIGNAL( triggered( QAction* ) ), this, SLOT( slotViewMode( QAction* ) ) );
481
#undef ADD_VIEWMODE_ACTION
473
483
d->aViewContinuous = new KToggleAction(KIcon( "view-list-text" ), i18n("&Continuous"), this);
474
484
ac->addAction("view_continuous", d->aViewContinuous );
571
581
d->aZoomFitWidth->setChecked( true );
572
582
d->aZoomFitPage->setChecked( false );
573
583
// d->aZoomFitText->setChecked( false );
574
d->aViewMode->setCurrentItem( 0 );
584
d->aViewMode->menu()->actions().at( 0 )->setChecked( true );
575
585
viewport()->setUpdatesEnabled( false );
576
586
slotRelayoutPages();
577
587
viewport()->setUpdatesEnabled( true );
3178
3188
if ( on ) updateZoom( ZoomFitText );
3181
void PageView::slotViewMode( int nr )
3191
void PageView::slotViewMode( QAction *action )
3193
const int nr = action->data().toInt();
3183
3194
if ( (int)Okular::Settings::viewMode() != nr )
3185
3196
Okular::Settings::setViewMode( nr );