Fixed screens initialization order and logic.

preferencesAboutTextFull
Aleksei Kanash 13 years ago
parent b36627aeaa
commit 56e49c1f52
  1. 3
      src/core/UBApplication.cpp
  2. 9
      src/core/UBApplicationController.cpp
  3. 2
      src/core/UBApplicationController.h
  4. 12
      src/core/UBDisplayManager.cpp
  5. 10
      src/core/UBDisplayManager.h
  6. 2
      src/core/UBPreferencesController.cpp

@ -289,7 +289,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)));
@ -299,7 +298,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)

@ -135,14 +135,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);
}
@ -343,7 +344,6 @@ void UBApplicationController::showBoard()
mirroringEnabled(false);
mMainWindow->switchToBoardWidget();
mDisplayManager->setAsDisplay(mDisplayView);
if (UBApplication::boardController)
UBApplication::boardController->show();
@ -353,7 +353,7 @@ void UBApplicationController::showBoard()
mUninoteController->hideWindow();
mDisplayManager->adjustScreens(0);
mMainWindow->show();
emit mainModeChanged(Board);
@ -727,6 +727,7 @@ void UBApplicationController::importFile(const QString& pFilePath)
void UBApplicationController::useMultiScreen(bool use)
{
mDisplayManager->setUseMultiScreen(use);
mDisplayManager->adjustScreens(0);
UBSettings::settings()->appUseMultiscreen->set(use);
}

@ -51,7 +51,7 @@ class UBApplicationController : public QObject
void blackout();
void initScreenLayout();
void initScreenLayout(bool useMultiscreen);
void closing();

@ -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,9 +135,6 @@ void UBDisplayManager::setAsDesktop(QWidget* pControlWidget )
if(pControlWidget && (pControlWidget != mControlWidget))
{
mDesktopWidget = pControlWidget;
mDesktopWidget->hide();
mDesktopWidget->setGeometry(mDesktop->screenGeometry(mControlScreenIndex));
// mDisplayWidget->showFullScreen();
// !!!! Should be included into Windows after QT recompilation
#ifdef Q_WS_MAC
// mControlWidget->setAttribute(Qt::WA_MacNoShadow);
@ -155,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);
@ -310,6 +299,5 @@ void UBDisplayManager::setRoleToScreen(DisplayRole role, int screenIndex)
void UBDisplayManager::setUseMultiScreen(bool pUse)
{
mUseMultiScreen = pUse;
adjustScreens(0);
}

@ -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<UBBoardView*> pPreviousViews);
void setPreviousDisplaysWidgets(QList<UBBoardView*> 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);

@ -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)));

Loading…
Cancel
Save