diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -312,7 +312,7 @@ void setupViewMainPage(QWidget* parent) { - mViewMainPage = new ViewMainPage(parent, mSlideShow, q->actionCollection(), mGvCore); + mViewMainPage = new ViewMainPage(parent, q, mSlideShow, q->actionCollection(), mGvCore); connect(mViewMainPage, SIGNAL(captionUpdateRequested(QString)), q, SLOT(slotUpdateCaption(QString))); connect(mViewMainPage, SIGNAL(completed()), diff --git a/app/viewmainpage.h b/app/viewmainpage.h --- a/app/viewmainpage.h +++ b/app/viewmainpage.h @@ -40,6 +40,7 @@ class DocumentView; class GvCore; class RasterImageView; +class MainWindow; class SlideShow; class ThumbnailBarView; @@ -54,7 +55,7 @@ public: static const int MaxViewCount; - ViewMainPage(QWidget* parent, SlideShow*, KActionCollection*, GvCore*); + ViewMainPage(QWidget* parent, MainWindow* mainWindow, SlideShow*, KActionCollection*, GvCore*); ~ViewMainPage(); ThumbnailBarView* thumbnailBar() const; diff --git a/app/viewmainpage.cpp b/app/viewmainpage.cpp --- a/app/viewmainpage.cpp +++ b/app/viewmainpage.cpp @@ -41,6 +41,7 @@ #include "fileoperations.h" #include #include "splitter.h" +#include "mainwindow.h" #include #include #include @@ -107,6 +108,7 @@ struct ViewMainPagePrivate { ViewMainPage* q; + MainWindow* mMainWindow; SlideShow* mSlideShow; KActionCollection* mActionCollection; GvCore* mGvCore; @@ -224,6 +226,7 @@ mDocumentViewController->setZoomWidget(mZoomWidget); mDocumentViewController->setToolContainer(mToolContainer); mSynchronizer = new DocumentViewSynchronizer(&mDocumentViews, q); + QObject::connect(mMainWindow, &MainWindow::viewModeChanged, mDocumentViewController, &DocumentViewController::slotViewModeChanged); } DocumentView* createDocumentView() @@ -376,12 +379,13 @@ } }; -ViewMainPage::ViewMainPage(QWidget* parent, SlideShow* slideShow, KActionCollection* actionCollection, GvCore* gvCore) +ViewMainPage::ViewMainPage(QWidget* parent, MainWindow* mainWindow, SlideShow* slideShow, KActionCollection* actionCollection, GvCore* gvCore) : QWidget(parent) , d(new ViewMainPagePrivate) { d->q = this; d->mDirModelToBarModelProxyMapper = 0; // Initialized later + d->mMainWindow = mainWindow; d->mSlideShow = slideShow; d->mActionCollection = actionCollection; d->mGvCore = gvCore; diff --git a/lib/documentview/documentviewcontroller.h b/lib/documentview/documentviewcontroller.h --- a/lib/documentview/documentviewcontroller.h +++ b/lib/documentview/documentviewcontroller.h @@ -60,6 +60,9 @@ void setToolContainer(SlideContainer* container); +public Q_SLOTS: + void slotViewModeChanged(); + private Q_SLOTS: void slotAdapterChanged(); void updateZoomToFitActionFromView(); diff --git a/lib/documentview/documentviewcontroller.cpp b/lib/documentview/documentviewcontroller.cpp --- a/lib/documentview/documentviewcontroller.cpp +++ b/lib/documentview/documentviewcontroller.cpp @@ -273,6 +273,11 @@ } } +void DocumentViewController::slotViewModeChanged() +{ + d->updateActions(); +} + void DocumentViewController::setToolContainer(SlideContainer* container) { d->mToolContainer = container;