From 468965d44242beffea0baddec488aa3b412e7075 Mon Sep 17 00:00:00 2001 From: Ilia Date: Fri, 16 Nov 2012 13:47:56 +0300 Subject: [PATCH] Sankore-1351. Refresh mask only when needed. --- src/board/UBBoardPaletteManager.h | 1 + src/desktop/UBDesktopAnnotationController.cpp | 31 +++++++++++++------ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/src/board/UBBoardPaletteManager.h b/src/board/UBBoardPaletteManager.h index 67dce360..dc88e99c 100644 --- a/src/board/UBBoardPaletteManager.h +++ b/src/board/UBBoardPaletteManager.h @@ -65,6 +65,7 @@ class UBBoardPaletteManager : public QObject UBLeftPalette* leftPalette(){return mLeftPalette;} UBRightPalette* rightPalette(){return mRightPalette;} UBStylusPalette* stylusPalette(){return mStylusPalette;} + UBActionPalette *addItemPalette() {return mAddItemPalette;} void showVirtualKeyboard(bool show = true); void initPalettesPosAtStartup(); void connectToDocumentController(); diff --git a/src/desktop/UBDesktopAnnotationController.cpp b/src/desktop/UBDesktopAnnotationController.cpp index 01f14f23..39c474ec 100644 --- a/src/desktop/UBDesktopAnnotationController.cpp +++ b/src/desktop/UBDesktopAnnotationController.cpp @@ -157,6 +157,7 @@ UBDesktopAnnotationController::UBDesktopAnnotationController(QObject *parent, UB #ifdef Q_WS_X11 connect(mDesktopPalette, SIGNAL(moving()), this, SLOT(refreshMask())); connect(UBApplication::boardController->paletteManager()->rightPalette(), SIGNAL(resized()), this, SLOT(refreshMask())); + connect(UBApplication::boardController->paletteManager()->addItemPalette(), SIGNAL(closed()), this, SLOT(refreshMask())); #endif onDesktopPaletteMaximized(); @@ -865,6 +866,16 @@ void UBDesktopAnnotationController::updateMask(bool bTransparent) p.drawRect(tabsPalette); } +#ifdef Q_WS_X11 + //Rquiered only for compiz wm + //TODO. Window manager detection screen + + if (UBApplication::boardController->paletteManager()->addItemPalette()->isVisible()) { + p.drawRect(UBApplication::boardController->paletteManager()->addItemPalette()->geometry()); + } + +#endif + p.end(); // Then we add the annotations. We create another painter because we need to @@ -909,15 +920,17 @@ void UBDesktopAnnotationController::updateMask(bool bTransparent) void UBDesktopAnnotationController::refreshMask() { - if(mIsFullyTransparent - || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Selector - //Needed to work correctly when another actions on stylus are checked - || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Eraser - || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pointer - || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pen - || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Marker) - { - updateMask(true); + if (mTransparentDrawingScene && mTransparentDrawingView->isVisible()) { + if(mIsFullyTransparent + || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Selector + //Needed to work correctly when another actions on stylus are checked + || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Eraser + || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pointer + || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Pen + || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Marker) + { + updateMask(true); + } } }