From 998e074ea7f4fcae6ca9ece47d8fd7720942ad8b Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Wed, 16 Apr 2014 10:20:00 +0200 Subject: [PATCH] duplicated images on page duplication --- src/core/UBPersistenceManager.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/core/UBPersistenceManager.cpp b/src/core/UBPersistenceManager.cpp index c8ca813f..e021ffde 100644 --- a/src/core/UBPersistenceManager.cpp +++ b/src/core/UBPersistenceManager.cpp @@ -596,13 +596,25 @@ void UBPersistenceManager::duplicateDocumentScene(UBDocumentProxy* proxy, int in UBGraphicsPixmapItem* pixmapItem = qgraphicsitem_cast(item); if(pixmapItem){ - pixmapItem->setUuid(QUuid::createUuid()); + QString source = proxy->persistencePath() + "/" + UBPersistenceManager::imageDirectory + "/" + pixmapItem->uuid() + ".png"; + QString destination = source; + QUuid newUuid = QUuid::createUuid(); + QString fileName = QFileInfo(source).completeBaseName(); + destination = destination.replace(fileName,newUuid.toString()); + Q_ASSERT(QFile::copy(source,destination)); + pixmapItem->setUuid(newUuid); continue; } UBGraphicsSvgItem* svgItem = qgraphicsitem_cast(item); if(svgItem){ - svgItem->setUuid(QUuid::createUuid()); + QString source = proxy->persistencePath() + "/" + UBPersistenceManager::imageDirectory + "/" + svgItem->uuid() + ".svg"; + QString destination = source; + QUuid newUuid = QUuid::createUuid(); + QString fileName = QFileInfo(source).completeBaseName(); + destination = destination.replace(fileName,newUuid.toString()); + Q_ASSERT(QFile::copy(source,destination)); + svgItem->setUuid(newUuid); continue; }