From 385a1c8eb75db98ebc70f5a47e37ffa3ba862bc0 Mon Sep 17 00:00:00 2001 From: Aleksei Kanash Date: Tue, 25 Sep 2012 11:17:26 +0300 Subject: [PATCH] UBAsyncLocalFileDownloader moved to DownloadManager. --- src/core/UBDownloadManager.cpp | 53 ++++++++++++++++++++++++++ src/core/UBDownloadManager.h | 20 ++++++++++ src/frameworks/UBFileSystemUtils.cpp | 56 ---------------------------- src/frameworks/UBFileSystemUtils.h | 23 ------------ 4 files changed, 73 insertions(+), 79 deletions(-) diff --git a/src/core/UBDownloadManager.cpp b/src/core/UBDownloadManager.cpp index 90862470..efed5d2c 100644 --- a/src/core/UBDownloadManager.cpp +++ b/src/core/UBDownloadManager.cpp @@ -14,6 +14,7 @@ */ #include "UBDownloadManager.h" #include "core/UBApplication.h" +#include "core/UBPersistenceManager.h" #include "gui/UBMainWindow.h" #include "board/UBBoardController.h" #include "board/UBBoardPaletteManager.h" @@ -21,6 +22,58 @@ #include "core/memcheck.h" + +UBAsyncLocalFileDownloader::UBAsyncLocalFileDownloader(sDownloadFileDesc desc, QObject *parent) +: QThread(parent) +, mDesc(desc) +{ + +} + +void UBAsyncLocalFileDownloader::download() +{ + if (!QFile::exists(QUrl(mDesc.srcUrl).toLocalFile())) { + qDebug() << "file" << mDesc.srcUrl << "does not present in fs"; + return; + } + + start(); +} + +void UBAsyncLocalFileDownloader::run() +{ + + QString mimeType = UBFileSystemUtils::mimeTypeFromFileName(mDesc.srcUrl); + + int position=mimeType.indexOf(";"); + if(position != -1) + mimeType=mimeType.left(position); + + UBMimeType::Enum itemMimeType = UBFileSystemUtils::mimeTypeFromString(mimeType); + + + QString destDirectory; + if (UBMimeType::Video == itemMimeType) + destDirectory = UBPersistenceManager::videoDirectory; + else + if (UBMimeType::Audio == itemMimeType) + destDirectory = UBPersistenceManager::audioDirectory; + + QString uuid = QUuid::createUuid(); + UBPersistenceManager::persistenceManager()->addFileToDocument(UBApplication::boardController->selectedDocument(), + QUrl(mDesc.srcUrl).toLocalFile(), + destDirectory, + uuid, + mTo, + NULL); + + if (mDesc.originalSrcUrl.isEmpty()) + mDesc.originalSrcUrl = mDesc.srcUrl; + + emit signal_asyncCopyFinished(mDesc.id, !mTo.isEmpty(), QUrl::fromLocalFile(mTo), QUrl::fromLocalFile(mDesc.originalSrcUrl), "", NULL, mDesc.pos, mDesc.size, mDesc.isBackground); +} + + /** The unique instance of the download manager */ static UBDownloadManager* pInstance = NULL; diff --git a/src/core/UBDownloadManager.h b/src/core/UBDownloadManager.h index 0a5cffc9..13d94825 100644 --- a/src/core/UBDownloadManager.h +++ b/src/core/UBDownloadManager.h @@ -87,6 +87,26 @@ private: int mId; }; +class UBAsyncLocalFileDownloader : public QThread +{ + Q_OBJECT +public: + UBAsyncLocalFileDownloader(sDownloadFileDesc desc, QObject *parent = 0); + + void download(); + void run(); + +signals: + void finished(QString srcUrl, QString resUrl); + void signal_asyncCopyFinished(int id, bool pSuccess, QUrl sourceUrl, QUrl contentUrl, QString pContentTypeHeader, QByteArray pData, QPointF pPos, QSize pSize, bool isBackground); + + +private: + sDownloadFileDesc mDesc; + QString mFrom; + QString mTo; +}; + class UBDownloadManager : public QObject { Q_OBJECT diff --git a/src/frameworks/UBFileSystemUtils.cpp b/src/frameworks/UBFileSystemUtils.cpp index 785fff67..2bde7364 100644 --- a/src/frameworks/UBFileSystemUtils.cpp +++ b/src/frameworks/UBFileSystemUtils.cpp @@ -19,11 +19,8 @@ #include "core/UBApplication.h" -#include "board/UBBoardController.h" #include "document/UBDocumentContainer.h" -#include "core/UBPersistenceManager.h" - #include "globals/UBGlobals.h" THIRD_PARTY_WARNINGS_DISABLE @@ -856,57 +853,4 @@ QString UBFileSystemUtils::readTextFile(QString path) } return ""; -} - - - -UBAsyncLocalFileDownloader::UBAsyncLocalFileDownloader(sDownloadFileDesc desc, QObject *parent) - : QThread(parent) - , mDesc(desc) -{ - -} - - -void UBAsyncLocalFileDownloader::download() -{ - if (!QFile::exists(QUrl(mDesc.srcUrl).toLocalFile())) { - qDebug() << "file" << mDesc.srcUrl << "does not present in fs"; - return; - } - - start(); -} - -void UBAsyncLocalFileDownloader::run() -{ - - QString mimeType = UBFileSystemUtils::mimeTypeFromFileName(mDesc.srcUrl); - - int position=mimeType.indexOf(";"); - if(position != -1) - mimeType=mimeType.left(position); - - UBMimeType::Enum itemMimeType = UBFileSystemUtils::mimeTypeFromString(mimeType); - - - QString destDirectory; - if (UBMimeType::Video == itemMimeType) - destDirectory = UBPersistenceManager::videoDirectory; - else - if (UBMimeType::Audio == itemMimeType) - destDirectory = UBPersistenceManager::audioDirectory; - - QString uuid = QUuid::createUuid(); - UBPersistenceManager::persistenceManager()->addFileToDocument(UBApplication::boardController->selectedDocument(), - QUrl(mDesc.srcUrl).toLocalFile(), - destDirectory, - uuid, - mTo, - NULL); - - if (mDesc.originalSrcUrl.isEmpty()) - mDesc.originalSrcUrl = mDesc.srcUrl; - - emit signal_asyncCopyFinished(mDesc.id, !mTo.isEmpty(), QUrl::fromLocalFile(mTo), QUrl::fromLocalFile(mDesc.originalSrcUrl), "", NULL, mDesc.pos, mDesc.size, mDesc.isBackground); } \ No newline at end of file diff --git a/src/frameworks/UBFileSystemUtils.h b/src/frameworks/UBFileSystemUtils.h index 5e34e627..6a0597f6 100644 --- a/src/frameworks/UBFileSystemUtils.h +++ b/src/frameworks/UBFileSystemUtils.h @@ -21,29 +21,6 @@ #include "core/UB.h" -#include "core/UBDownloadManager.h" - -class UBAsyncLocalFileDownloader : public QThread -{ - Q_OBJECT -public: - UBAsyncLocalFileDownloader(sDownloadFileDesc desc, QObject *parent = 0); - - void download(); - void run(); - -signals: - void finished(QString srcUrl, QString resUrl); - void signal_asyncCopyFinished(int id, bool pSuccess, QUrl sourceUrl, QUrl contentUrl, QString pContentTypeHeader, QByteArray pData, QPointF pPos, QSize pSize, bool isBackground); - - -private: - sDownloadFileDesc mDesc; - QString mFrom; - QString mTo; -}; - - class QuaZipFile; class UBProcessingProgressListener;