Sankore-1351. Refresh mask only when needed.

preferencesAboutTextFull
Ilia 12 years ago
parent 4dc61cc498
commit 468965d442
  1. 1
      src/board/UBBoardPaletteManager.h
  2. 13
      src/desktop/UBDesktopAnnotationController.cpp

@ -65,6 +65,7 @@ class UBBoardPaletteManager : public QObject
UBLeftPalette* leftPalette(){return mLeftPalette;} UBLeftPalette* leftPalette(){return mLeftPalette;}
UBRightPalette* rightPalette(){return mRightPalette;} UBRightPalette* rightPalette(){return mRightPalette;}
UBStylusPalette* stylusPalette(){return mStylusPalette;} UBStylusPalette* stylusPalette(){return mStylusPalette;}
UBActionPalette *addItemPalette() {return mAddItemPalette;}
void showVirtualKeyboard(bool show = true); void showVirtualKeyboard(bool show = true);
void initPalettesPosAtStartup(); void initPalettesPosAtStartup();
void connectToDocumentController(); void connectToDocumentController();

@ -157,6 +157,7 @@ UBDesktopAnnotationController::UBDesktopAnnotationController(QObject *parent, UB
#ifdef Q_WS_X11 #ifdef Q_WS_X11
connect(mDesktopPalette, SIGNAL(moving()), this, SLOT(refreshMask())); connect(mDesktopPalette, SIGNAL(moving()), this, SLOT(refreshMask()));
connect(UBApplication::boardController->paletteManager()->rightPalette(), SIGNAL(resized()), this, SLOT(refreshMask())); connect(UBApplication::boardController->paletteManager()->rightPalette(), SIGNAL(resized()), this, SLOT(refreshMask()));
connect(UBApplication::boardController->paletteManager()->addItemPalette(), SIGNAL(closed()), this, SLOT(refreshMask()));
#endif #endif
onDesktopPaletteMaximized(); onDesktopPaletteMaximized();
@ -865,6 +866,16 @@ void UBDesktopAnnotationController::updateMask(bool bTransparent)
p.drawRect(tabsPalette); 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(); p.end();
// Then we add the annotations. We create another painter because we need to // Then we add the annotations. We create another painter because we need to
@ -909,6 +920,7 @@ void UBDesktopAnnotationController::updateMask(bool bTransparent)
void UBDesktopAnnotationController::refreshMask() void UBDesktopAnnotationController::refreshMask()
{ {
if (mTransparentDrawingScene && mTransparentDrawingView->isVisible()) {
if(mIsFullyTransparent if(mIsFullyTransparent
|| UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Selector || UBDrawingController::drawingController()->stylusTool() == UBStylusTool::Selector
//Needed to work correctly when another actions on stylus are checked //Needed to work correctly when another actions on stylus are checked
@ -919,6 +931,7 @@ void UBDesktopAnnotationController::refreshMask()
{ {
updateMask(true); updateMask(true);
} }
}
} }
void UBDesktopAnnotationController::onToolClicked() void UBDesktopAnnotationController::onToolClicked()

Loading…
Cancel
Save