From 4a051f2ac405a5472b8eff32f3dde97818b71856 Mon Sep 17 00:00:00 2001 From: Ivan Ilin Date: Fri, 27 Jan 2012 17:00:43 +0200 Subject: [PATCH] linux hotfix 6bbecff SANKORE-329 Visibility of palette based on children elements --- src/board/UBBoardPaletteManager.cpp | 6 +++--- src/desktop/UBDesktopAnnotationController.cpp | 19 ++++++++++++++++++- src/gui/UBDockPaletteWidget.h | 2 +- src/gui/UBTeacherBarWidget.h | 2 +- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/board/UBBoardPaletteManager.cpp b/src/board/UBBoardPaletteManager.cpp index f1f1d00b..4c79f726 100644 --- a/src/board/UBBoardPaletteManager.cpp +++ b/src/board/UBBoardPaletteManager.cpp @@ -692,7 +692,7 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is { case eUBDockPaletteWidget_BOARD: { - mLeftPalette->setParent(UBApplication::boardController->controlContainer()); + mLeftPalette->assignParent(UBApplication::boardController->controlContainer()); mRightPalette->assignParent(UBApplication::boardController->controlContainer()); if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL) { @@ -721,7 +721,7 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is case eUBDockPaletteWidget_DESKTOP: { - mLeftPalette->setParent((QWidget*)UBApplication::applicationController->uninotesController()->drawingView()); + mLeftPalette->assignParent((QWidget*)UBApplication::applicationController->uninotesController()->drawingView()); mRightPalette->assignParent((QWidget*)UBApplication::applicationController->uninotesController()->drawingView()); if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL) { @@ -775,7 +775,7 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool is { mLeftPalette->setVisible(leftPaletteVisible); mRightPalette->setVisible(rightPaletteVisible); - mLeftPalette->setParent(0); + mLeftPalette->assignParent(0); mRightPalette->assignParent(0); if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL) { diff --git a/src/desktop/UBDesktopAnnotationController.cpp b/src/desktop/UBDesktopAnnotationController.cpp index 09cd7ed8..a2a4eac0 100644 --- a/src/desktop/UBDesktopAnnotationController.cpp +++ b/src/desktop/UBDesktopAnnotationController.cpp @@ -888,12 +888,16 @@ void UBDesktopAnnotationController::TransparentWidgetResized() void UBDesktopAnnotationController::onTransparentWidgetResized() { int rW = UBApplication::boardController->paletteManager()->rightPalette()->width(); - int rH_ = UBApplication::boardController->paletteManager()->rightPalette()->height(); + int lW = UBApplication::boardController->paletteManager()->leftPalette()->width(); + int rH = mTransparentDrawingView->height(); UBApplication::boardController->paletteManager()->rightPalette()->resize(rW+1, rH); UBApplication::boardController->paletteManager()->rightPalette()->resize(rW, rH); + UBApplication::boardController->paletteManager()->leftPalette()->resize(lW+1, rH); + UBApplication::boardController->paletteManager()->leftPalette()->resize(lW, rH); + // mRightPalette->resize(mRightPalette->width(), mTransparentDrawingView->height()); } @@ -923,6 +927,19 @@ void UBDesktopAnnotationController::updateMask(bool bTransparent) UBApplication::boardController->paletteManager()->mKeyboardPalette->width(), UBApplication::boardController->paletteManager()->mKeyboardPalette->height()); } + if(UBApplication::boardController->paletteManager()->leftPalette()->isVisible()) + { + QRect leftPalette(UBApplication::boardController->paletteManager()->leftPalette()->geometry().x(), + UBApplication::boardController->paletteManager()->leftPalette()->geometry().y(), + UBApplication::boardController->paletteManager()->leftPalette()->width(), + UBApplication::boardController->paletteManager()->leftPalette()->height()); + + QRect tabsPalette(UBApplication::boardController->paletteManager()->leftPalette()->getTabPaletteRect()); + + p.drawRect(leftPalette); + p.drawRect(tabsPalette); + } + if(UBApplication::boardController->paletteManager()->rightPalette()->isVisible()) { QRect rightPalette(UBApplication::boardController->paletteManager()->rightPalette()->geometry().x(), diff --git a/src/gui/UBDockPaletteWidget.h b/src/gui/UBDockPaletteWidget.h index 195e6013..163ca0cd 100644 --- a/src/gui/UBDockPaletteWidget.h +++ b/src/gui/UBDockPaletteWidget.h @@ -25,7 +25,7 @@ public: QPixmap iconToLeft(); QString name(); - virtual bool visibleInMode(eUBDockPaletteWidgetMode mode) = NULL; + virtual bool visibleInMode(eUBDockPaletteWidgetMode mode) = 0; bool visibleState(){return mVisibleState;} void setVisibleState(bool state){mVisibleState = state;} diff --git a/src/gui/UBTeacherBarWidget.h b/src/gui/UBTeacherBarWidget.h index cd402a13..e3fb2bce 100644 --- a/src/gui/UBTeacherBarWidget.h +++ b/src/gui/UBTeacherBarWidget.h @@ -48,7 +48,7 @@ public: bool visibleInMode(eUBDockPaletteWidgetMode mode) { - return mode == eUBDockPaletteWidget_BOARD; + return (mode == eUBDockPaletteWidget_BOARD) || (mode == eUBDockPaletteWidget_DESKTOP); } public slots: