diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp index 5dd6fa57..afad01a6 100644 --- a/src/board/UBBoardController.cpp +++ b/src/board/UBBoardController.cpp @@ -1104,21 +1104,6 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QUrl UBGraphicsPixmapItem* pixItem = mActiveScene->addPixmap(pix, NULL, pPos, 1.); pixItem->setSourceUrl(sourceUrl); - QString documentPath = UBApplication::boardController->selectedDocument()->persistencePath(); - - QString fileName = UBPersistenceManager::imageDirectory + "/" + pixItem->uuid().toString() + ".png"; - - QString path = documentPath + "/" + fileName; - - if (!QFile::exists(path)) - { - QDir dir; - dir.mkdir(documentPath + "/" + UBPersistenceManager::imageDirectory); - - pixItem->pixmap().toImage().save(path, "PNG"); - } - - if (isBackground) { mActiveScene->setAsBackgroundObject(pixItem, true); @@ -1138,28 +1123,6 @@ UBItem *UBBoardController::downloadFinished(bool pSuccess, QUrl sourceUrl, QUrl UBGraphicsSvgItem* svgItem = mActiveScene->addSvg(sourceUrl, pPos, pData); - QString documentPath = UBApplication::boardController->selectedDocument()->persistencePath(); - - QString fileName = UBPersistenceManager::imageDirectory + "/" + svgItem->uuid().toString() + ".svg"; - - QString path = documentPath + "/" + fileName; - - if (!QFile::exists(path)) - { - QDir dir; - dir.mkdir(documentPath + "/" + UBPersistenceManager::imageDirectory); - - QFile file(path); - if (!file.open(QIODevice::WriteOnly)) - { - qWarning() << "cannot open file for writing embeded svg content " << path; - return NULL; - } - - file.write(svgItem->fileData()); - file.close(); - } - svgItem->setSourceUrl(sourceUrl); if (isBackground) diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp index 9ddba5bb..9b519d41 100644 --- a/src/domain/UBGraphicsScene.cpp +++ b/src/domain/UBGraphicsScene.cpp @@ -1291,6 +1291,20 @@ UBGraphicsPixmapItem* UBGraphicsScene::addPixmap(const QPixmap& pPixmap, QGraphi pixmapItem->show(); setDocumentUpdated(); + QString documentPath = UBApplication::boardController->selectedDocument()->persistencePath(); + + QString fileName = UBPersistenceManager::imageDirectory + "/" + pixmapItem->uuid().toString() + ".png"; + + QString path = documentPath + "/" + fileName; + + if (!QFile::exists(path)) + { + QDir dir; + dir.mkdir(documentPath + "/" + UBPersistenceManager::imageDirectory); + + pixmapItem->pixmap().toImage().save(path, "PNG"); + } + return pixmapItem; } @@ -1537,6 +1551,28 @@ UBGraphicsSvgItem* UBGraphicsScene::addSvg(const QUrl& pSvgFileUrl, const QPoint setDocumentUpdated(); + QString documentPath = UBApplication::boardController->selectedDocument()->persistencePath(); + + QString fileName = UBPersistenceManager::imageDirectory + "/" + svgItem->uuid().toString() + ".svg"; + + QString completePath = documentPath + "/" + fileName; + + if (!QFile::exists(completePath)) + { + QDir dir; + dir.mkdir(documentPath + "/" + UBPersistenceManager::imageDirectory); + + QFile file(completePath); + if (!file.open(QIODevice::WriteOnly)) + { + qWarning() << "cannot open file for writing embeded svg content " << completePath; + return NULL; + } + + file.write(svgItem->fileData()); + file.close(); + } + return svgItem; }