From 1f7e7d119790ad5446842dad2e1ada05842f6d0e Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Tue, 12 Jun 2012 10:47:13 +0300 Subject: [PATCH] Applyed Commit:56e49c1f5262ce9a87474b7944e825c56c1b6325 * Fixed screens initialization order and logic. --- src/core/UBApplication.cpp | 3 +-- src/core/UBApplicationController.cpp | 9 +++++---- src/core/UBApplicationController.h | 2 +- src/core/UBDisplayManager.cpp | 11 ----------- src/core/UBDisplayManager.h | 10 +++++----- src/core/UBPreferencesController.cpp | 2 +- 6 files changed, 13 insertions(+), 24 deletions(-) diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp index 94d447cc..11945435 100644 --- a/src/core/UBApplication.cpp +++ b/src/core/UBApplication.cpp @@ -298,7 +298,6 @@ int UBApplication::exec(const QString& pFileToImport) bool bUseMultiScreen = UBSettings::settings()->appUseMultiscreen->get().toBool(); mainWindow->actionMultiScreen->setChecked(bUseMultiScreen); - applicationController->useMultiScreen(bUseMultiScreen); connect(mainWindow->actionMultiScreen, SIGNAL(triggered(bool)), applicationController, SLOT(useMultiScreen(bool))); connect(mainWindow->actionWidePageSize, SIGNAL(triggered(bool)), boardController, SLOT(setWidePageSize(bool))); connect(mainWindow->actionRegularPageSize, SIGNAL(triggered(bool)), boardController, SLOT(setRegularPageSize(bool))); @@ -308,7 +307,7 @@ int UBApplication::exec(const QString& pFileToImport) connect(mainWindow->actionCopy, SIGNAL(triggered()), applicationController, SLOT(actionCopy())); connect(mainWindow->actionPaste, SIGNAL(triggered()), applicationController, SLOT(actionPaste())); - applicationController->initScreenLayout(); + applicationController->initScreenLayout(bUseMultiScreen); boardController->setupLayout(); if (pFileToImport.length() > 0) diff --git a/src/core/UBApplicationController.cpp b/src/core/UBApplicationController.cpp index 7489485a..d0a65b31 100644 --- a/src/core/UBApplicationController.cpp +++ b/src/core/UBApplicationController.cpp @@ -132,14 +132,15 @@ void UBApplicationController::initViewState(int horizontalPosition, int vertical } -void UBApplicationController::initScreenLayout() +void UBApplicationController::initScreenLayout(bool useMultiscreen) { - mDisplayManager->setAsControl(mMainWindow, true); + mDisplayManager->setAsControl(mMainWindow); mDisplayManager->setAsDisplay(mDisplayView); mDisplayManager->setAsPreviousDisplays(mPreviousViews); mDisplayManager->setAsDesktop(mUninoteController->drawingView()); + mDisplayManager->setUseMultiScreen(bMultiScreen); mDisplayManager->adjustScreens(-1); } @@ -341,7 +342,6 @@ void UBApplicationController::showBoard() mirroringEnabled(false); mMainWindow->switchToBoardWidget(); - mDisplayManager->setAsDisplay(mDisplayView); if (UBApplication::boardController) UBApplication::boardController->show(); @@ -351,7 +351,7 @@ void UBApplicationController::showBoard() mUninoteController->hideWindow(); - mDisplayManager->adjustScreens(0); + mMainWindow->show(); emit mainModeChanged(Board); @@ -725,6 +725,7 @@ void UBApplicationController::importFile(const QString& pFilePath) void UBApplicationController::useMultiScreen(bool use) { mDisplayManager->setUseMultiScreen(use); + mDisplayManager->adjustScreens(0); UBSettings::settings()->appUseMultiscreen->set(use); } diff --git a/src/core/UBApplicationController.h b/src/core/UBApplicationController.h index 2bdf6890..4d578b42 100644 --- a/src/core/UBApplicationController.h +++ b/src/core/UBApplicationController.h @@ -51,7 +51,7 @@ class UBApplicationController : public QObject void blackout(); - void initScreenLayout(); + void initScreenLayout(bool useMultiscreen); void closing(); diff --git a/src/core/UBDisplayManager.cpp b/src/core/UBDisplayManager.cpp index 339fd3cb..b22746df 100644 --- a/src/core/UBDisplayManager.cpp +++ b/src/core/UBDisplayManager.cpp @@ -123,11 +123,6 @@ void UBDisplayManager::setAsControl(QWidget* pControlWidget, bool init) if(hasControl() && pControlWidget && (pControlWidget != mControlWidget)) { mControlWidget = pControlWidget; - mControlWidget->hide(); - mControlWidget->setGeometry(mDesktop->screenGeometry(mControlScreenIndex)); - - if (!init) - mControlWidget->showFullScreen(); // !!!! Should be included into Windows after QT recompilation #ifdef Q_WS_MAC // mControlWidget->setAttribute(Qt::WA_MacNoShadow); @@ -140,8 +135,6 @@ void UBDisplayManager::setAsDesktop(QWidget* pControlWidget ) if(pControlWidget && (pControlWidget != mControlWidget)) { mDesktopWidget = pControlWidget; - mDesktopWidget->hide(); - mDesktopWidget->setGeometry(mDesktop->screenGeometry(mControlScreenIndex)); // !!!! Should be included into Windows after QT recompilation #ifdef Q_WS_MAC // mControlWidget->setAttribute(Qt::WA_MacNoShadow); @@ -154,9 +147,6 @@ void UBDisplayManager::setAsDisplay(QWidget* pDisplayWidget) if(pDisplayWidget && (pDisplayWidget != mDisplayWidget)) { mDisplayWidget = pDisplayWidget; - mDisplayWidget->hide(); - mDisplayWidget->setGeometry(mDesktop->screenGeometry(mDisplayScreenIndex)); - mDisplayWidget->showFullScreen(); // !!!! Should be included into Windows after QT recompilation #ifdef Q_WS_MAC // mDisplayWidget->setAttribute(Qt::WA_MacNoShadow); @@ -309,6 +299,5 @@ void UBDisplayManager::setRoleToScreen(DisplayRole role, int screenIndex) void UBDisplayManager::setUseMultiScreen(bool pUse) { mUseMultiScreen = pUse; - adjustScreens(0); } diff --git a/src/core/UBDisplayManager.h b/src/core/UBDisplayManager.h index 33ee9244..f6ca289d 100644 --- a/src/core/UBDisplayManager.h +++ b/src/core/UBDisplayManager.h @@ -33,13 +33,13 @@ class UBDisplayManager : public QObject int numPreviousViews(); - void setAsControl(QWidget* pControlWidget, bool init = false); + void setControlWidget(QWidget* pControlWidget); - void setAsDisplay(QWidget* pDisplayWidget); + void setDisplayWidget(QWidget* pDisplayWidget); - void setAsDesktop(QWidget* pControlWidget); + void setDesktopWidget(QWidget* pControlWidget); - void setAsPreviousDisplays(QList pPreviousViews); + void setPreviousDisplaysWidgets(QList pPreviousViews); bool hasControl() { @@ -77,7 +77,7 @@ class UBDisplayManager : public QObject public slots: - void swapScreens(bool bswap); + void reinitScreens(bool bswap); void adjustScreens(int screen); diff --git a/src/core/UBPreferencesController.cpp b/src/core/UBPreferencesController.cpp index 87ff7d04..4c17f37d 100644 --- a/src/core/UBPreferencesController.cpp +++ b/src/core/UBPreferencesController.cpp @@ -118,7 +118,7 @@ void UBPreferencesController::wire() connect(mPreferencesUI->useExternalBrowserCheckBox, SIGNAL(clicked(bool)), settings->webUseExternalBrowser, SLOT(setBool(bool))); connect(mPreferencesUI->displayBrowserPageCheckBox, SIGNAL(clicked(bool)), settings->webShowPageImmediatelyOnMirroredScreen, SLOT(setBool(bool))); connect(mPreferencesUI->swapControlAndDisplayScreensCheckBox, SIGNAL(clicked(bool)), settings->swapControlAndDisplayScreens, SLOT(setBool(bool))); - connect(mPreferencesUI->swapControlAndDisplayScreensCheckBox, SIGNAL(clicked(bool)), UBApplication::applicationController->displayManager(), SLOT(swapScreens(bool))); + connect(mPreferencesUI->swapControlAndDisplayScreensCheckBox, SIGNAL(clicked(bool)), UBApplication::applicationController->displayManager(), SLOT(reinitScreens(bool))); connect(mPreferencesUI->toolbarAtTopRadioButton, SIGNAL(clicked(bool)), this, SLOT(toolbarPositionChanged(bool))); connect(mPreferencesUI->toolbarAtBottomRadioButton, SIGNAL(clicked(bool)), this, SLOT(toolbarPositionChanged(bool)));