From bb561c3869982a44c59facae340ce23fd6ee9728 Mon Sep 17 00:00:00 2001 From: shibakaneki Date: Wed, 25 Jul 2012 15:05:17 +0200 Subject: [PATCH] Fixed issue 769 --- src/board/UBDrawingController.cpp | 4 ++-- src/board/UBDrawingController.h | 5 +++++ src/core/UBApplicationController.cpp | 2 +- src/desktop/UBDesktopAnnotationController.cpp | 2 ++ src/domain/UBGraphicsScene.cpp | 6 +++--- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/board/UBDrawingController.cpp b/src/board/UBDrawingController.cpp index 678d55f3..7398ca41 100644 --- a/src/board/UBDrawingController.cpp +++ b/src/board/UBDrawingController.cpp @@ -46,7 +46,7 @@ UBDrawingController::UBDrawingController(QObject * parent) , mStylusTool((UBStylusTool::Enum)-1) , mLatestDrawingTool((UBStylusTool::Enum)-1) , mDrawingMode(DRAWING_MODE) - + , mIsDesktopMode(false) { connect(UBSettings::settings(), SIGNAL(colorContextChanged()), this, SIGNAL(colorPaletteChanged())); @@ -107,7 +107,7 @@ void UBDrawingController::setStylusTool(int tool) mStylusTool = (UBStylusTool::Enum)tool; - if(eDrawingMode_Vector == DRAWING_MODE){ + if(eDrawingMode_Vector == DRAWING_MODE && !mIsDesktopMode){ mDrawingMode = eDrawingMode_Vector; } diff --git a/src/board/UBDrawingController.h b/src/board/UBDrawingController.h index ae7b4242..0ce1527b 100644 --- a/src/board/UBDrawingController.h +++ b/src/board/UBDrawingController.h @@ -61,6 +61,10 @@ class UBDrawingController : public QObject UBAbstractDrawRuler* mActiveRuler; + void setInDestopMode(bool mode){ + mIsDesktopMode = mode; + } + public slots: void setStylusTool(int tool); @@ -79,6 +83,7 @@ class UBDrawingController : public QObject UBStylusTool::Enum mStylusTool; UBStylusTool::Enum mLatestDrawingTool; eDrawingMode mDrawingMode; + bool mIsDesktopMode; static UBDrawingController* sDrawingController; diff --git a/src/core/UBApplicationController.cpp b/src/core/UBApplicationController.cpp index ad2a19ae..48b80f02 100644 --- a/src/core/UBApplicationController.cpp +++ b/src/core/UBApplicationController.cpp @@ -69,7 +69,6 @@ UBApplicationController::UBApplicationController(UBBoardView *pControlView, UBBo , mCheckingForUpdates(false) , mIsShowingDesktop(false) , mHttp(0) - { mDisplayManager = new UBDisplayManager(this); @@ -457,6 +456,7 @@ void UBApplicationController::showDesktop(bool dontSwitchFrontProcess) UBPlatformUtils::bringPreviousProcessToFront(); } + UBDrawingController::drawingController()->setInDestopMode(true); UBDrawingController::drawingController()->setDrawingMode(eDrawingMode_Artistic); UBDrawingController::drawingController()->setStylusTool(UBStylusTool::Selector); } diff --git a/src/desktop/UBDesktopAnnotationController.cpp b/src/desktop/UBDesktopAnnotationController.cpp index 336c0ce0..7c951c99 100644 --- a/src/desktop/UBDesktopAnnotationController.cpp +++ b/src/desktop/UBDesktopAnnotationController.cpp @@ -385,6 +385,8 @@ void UBDesktopAnnotationController::goToUniboard() hideWindow(); UBPlatformUtils::setDesktopMode(false); + UBDrawingController::drawingController()->setInDestopMode(false); + UBDrawingController::drawingController()->setDrawingMode(eDrawingMode_Vector); emit restoreUniboard(); } diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index 07ea3d97..7651fc96 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -558,7 +558,7 @@ bool UBGraphicsScene::inputDeviceRelease() } }else if (mCurrentStroke) { - if(eDrawingMode_Vector == DRAWING_MODE){ + if(eDrawingMode_Vector == UBDrawingController::drawingController()->drawingMode()){ UBGraphicsStrokesGroup* pStrokes = new UBGraphicsStrokesGroup(); // Remove the strokes that were just drawn here and replace them by a stroke item @@ -902,7 +902,7 @@ void UBGraphicsScene::eraseLineTo(const QPointF &pEndPoint, const qreal &pWidth) } } - if(eDrawingMode_Vector == DRAWING_MODE){ + if(eDrawingMode_Vector == UBDrawingController::drawingController()->drawingMode()){ foreach(QGraphicsItem* item, toBeRemovedItems){ UBGraphicsPolygonItem* poly = dynamic_cast(item); if(NULL != poly){ @@ -920,7 +920,7 @@ void UBGraphicsScene::eraseLineTo(const QPointF &pEndPoint, const qreal &pWidth) mRemovedItems += toBeRemovedItems; } - if(eDrawingMode_Vector == DRAWING_MODE){ + if(eDrawingMode_Vector == UBDrawingController::drawingController()->drawingMode()){ foreach(QGraphicsItem* item, toBeAddedItems){ UBGraphicsPolygonItem* poly = dynamic_cast(item); if(NULL != poly && NULL != poly->strokesGroup()){