~ubuntu-branches/ubuntu/intrepid/kdegraphics/intrepid-proposed

« back to all changes in this revision

Viewing changes to okular/ui/pageview.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Roderick B. Greening
  • Date: 2008-10-31 02:29:31 UTC
  • mfrom: (1.1.19 upstream)
  • Revision ID: james.westby@ubuntu.com-20081031022931-mklfmmc4ir99tujz
Tags: 4:4.1.3-0ubuntu1~intrepid1
New upstream release (LP: #268058)

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
#include <qclipboard.h>
32
32
 
33
33
#include <kaction.h>
 
34
#include <kactionmenu.h>
34
35
#include <kstandardaction.h>
35
36
#include <kactioncollection.h>
36
37
#include <kmenu.h>
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;
459
460
*/
460
461
 
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" ) );
466
 
 
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 ) \
 
466
do { \
 
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 ); \
 
473
} while( 0 )
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
472
482
 
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 );
2001
2011
                    {
2002
2012
                        KMimeType::Ptr mime = KMimeType::findByUrl( fileName );
2003
2013
                        QString type;
2004
 
                        if ( !mime )
 
2014
                        if ( !mime || mime == KMimeType::defaultMimeTypePtr() )
2005
2015
                            type = "PNG";
2006
2016
                        else
2007
2017
                            type = mime->name().section( '/', -1 ).toUpper();
3178
3188
    if ( on ) updateZoom( ZoomFitText );
3179
3189
}
3180
3190
 
3181
 
void PageView::slotViewMode( int nr )
 
3191
void PageView::slotViewMode( QAction *action )
3182
3192
{
 
3193
    const int nr = action->data().toInt();
3183
3194
    if ( (int)Okular::Settings::viewMode() != nr )
3184
3195
    {
3185
3196
        Okular::Settings::setViewMode( nr );