Commit 468965d4 authored by Ilia's avatar Ilia

Sankore-1351. Refresh mask only when needed.

parent 4dc61cc4
......@@ -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();
......
......@@ -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);
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment