From 3b0bb2f0914dbe82b03061bb58f3155eba33dd62 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Tue, 16 Jul 2013 17:01:52 +0200 Subject: [PATCH] copy/paste issue fixed. Issues: 4, 41, 53 --- src/board/UBBoardController.cpp | 13 +++++-------- src/board/UBBoardController.h | 4 ++-- src/core/UBMimeData.cpp | 5 +---- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 0d3da7e9..ac5e2398 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -543,7 +543,7 @@ void UBBoardController::duplicateScene() duplicateScene(mActiveSceneIndex); } -UBGraphicsItem *UBBoardController::duplicateItem(UBItem *item, bool bAsync) +UBGraphicsItem *UBBoardController::duplicateItem(UBItem *item) { if (!item) return NULL; @@ -602,11 +602,8 @@ UBGraphicsItem *UBBoardController::duplicateItem(UBItem *item, bool bAsync) if (mitem) { sourceUrl = mitem->mediaFileUrl(); - if (bAsync) - { - downloadURL(sourceUrl, srcFile, itemPos, QSize(itemSize.width(), itemSize.height()), false, false); - return NULL; // async operation - } + downloadURL(sourceUrl, srcFile, itemPos, QSize(itemSize.width(), itemSize.height()), false, false); + return NULL; // async operation } }break; @@ -643,8 +640,8 @@ UBGraphicsItem *UBBoardController::duplicateItem(UBItem *item, bool bAsync) mActiveScene->setURStackEnable(false); foreach(QGraphicsItem* pIt, children){ UBItem* pItem = dynamic_cast(pIt); - if(pItem){ // we diong sync duplication of all childs. - QGraphicsItem * itemToGroup = dynamic_cast(duplicateItem(pItem, false)); + if(pItem){ + QGraphicsItem * itemToGroup = dynamic_cast(duplicateItem(pItem)); if (itemToGroup) duplicatedItems.append(itemToGroup); } diff --git a/src/board/UBBoardController.h b/src/board/UBBoardController.h index ce4fb7d2..8ab9b27e 100644 --- a/src/board/UBBoardController.h +++ b/src/board/UBBoardController.h @@ -149,7 +149,7 @@ class UBBoardController : public UBDocumentContainer void setBoxing(QRect displayRect); void setToolbarTexts(); static QUrl expandWidgetToTempDir(const QByteArray& pZipedData, const QString& pExtension = QString("wgt")); - + void setPageSize(QSize newSize); UBBoardPaletteManager *paletteManager() { @@ -168,7 +168,7 @@ class UBBoardController : public UBDocumentContainer void moveSceneToIndex(int source, int target); void duplicateScene(int index); - UBGraphicsItem *duplicateItem(UBItem *item, bool bAsync = true); + UBGraphicsItem *duplicateItem(UBItem *item); void deleteScene(int index); bool cacheIsVisible() {return mCacheWidgetIsEnabled;} diff --git a/src/core/UBMimeData.cpp b/src/core/UBMimeData.cpp index c5c5dab5..b62ffa84 100644 --- a/src/core/UBMimeData.cpp +++ b/src/core/UBMimeData.cpp @@ -61,8 +61,5 @@ UBMimeDataGraphicsItem::UBMimeDataGraphicsItem(QList pItems) UBMimeDataGraphicsItem::~UBMimeDataGraphicsItem() { - foreach(UBItem* item, mItems){ - delete item; - item = 0; - } +// Explanation: selected items are owned by the scene and handled by this class }