diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index ddee19ab..d813b05e 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -1539,10 +1539,10 @@ void UBBoardController::setActiveDocumentScene(UBDocumentProxy* pDocumentProxy, mActiveScene = targetScene; mActiveSceneIndex = index; - persistCurrentScene(); - setDocument(pDocumentProxy, forceReload); + persistCurrentScene(); + updateSystemScaleFactor(); mControlView->setScene(mActiveScene); diff --git a/src/gui/UBBoardThumbnailsView.cpp b/src/gui/UBBoardThumbnailsView.cpp index 651fe29f..358529da 100644 --- a/src/gui/UBBoardThumbnailsView.cpp +++ b/src/gui/UBBoardThumbnailsView.cpp @@ -183,14 +183,17 @@ void UBBoardThumbnailsView::resizeEvent(QResizeEvent *event) } void UBBoardThumbnailsView::mousePressEvent(QMouseEvent *event) -{ +{ mLongPressTimer.start(); mLastPressedMousePos = event->pos(); UBDraggableThumbnailView* item = dynamic_cast(itemAt(event->pos())); if (item) + { + UBApplication::boardController->persistCurrentScene(); UBApplication::boardController->setActiveDocumentScene(item->sceneIndex()); + } QGraphicsView::mousePressEvent(event); } @@ -202,7 +205,9 @@ void UBBoardThumbnailsView::mouseMoveEvent(QMouseEvent *event) void UBBoardThumbnailsView::longPressTimeout() { - emit mousePressAndHoldEventRequired(mLastPressedMousePos); + if (QApplication::mouseButtons() != Qt::NoButton) + emit mousePressAndHoldEventRequired(mLastPressedMousePos); + mLongPressTimer.stop(); }