[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src: Fix moving tmp data when changing project tmp folder, fix location of global tmp dat
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2016-11-20 14:30:09
Message-ID: E1c8T8D-0005hW-8G () code ! kde ! org
[Download RAW message or body]
Git commit 8acb04c04071912666190424a386d886bf64f8bf by Jean-Baptiste Mardelle.
Committed on 20/11/2016 at 13:51.
Pushed by mardelle into branch 'master'.
Fix moving tmp data when changing project tmp folder, fix location of global tmp data \
in widget when using custom location in current project
M +1 -0 src/definitions.h
M +2 -5 src/doc/kdenlivedoc.cpp
M +1 -1 src/mainwindow.cpp
M +1 -1 src/project/dialogs/temporarydata.cpp
M +9 -0 src/project/projectmanager.cpp
M +2 -0 src/project/projectmanager.h
http://commits.kde.org/kdenlive/8acb04c04071912666190424a386d886bf64f8bf
diff --git a/src/definitions.h b/src/definitions.h
index a724373..8b51bfa 100644
--- a/src/definitions.h
+++ b/src/definitions.h
@@ -166,6 +166,7 @@ enum ClipJobStatus {
};
enum CacheType {
+ SystemCacheRoot = -1,
CacheRoot = 0,
CacheBase = 1,
CachePreview = 2,
diff --git a/src/doc/kdenlivedoc.cpp b/src/doc/kdenlivedoc.cpp
index 37f899d..d6d7e22 100644
--- a/src/doc/kdenlivedoc.cpp
+++ b/src/doc/kdenlivedoc.cpp
@@ -754,12 +754,7 @@ void KdenliveDoc::setProjectFolder(QUrl url)
void KdenliveDoc::moveProjectData(const QString &src, const QString &dest)
{
- // Move tmp folder (thumbnails, timeline preview)
- KIO::CopyJob *copyJob = \
KIO::move(QUrl::fromLocalFile(src),QUrl::fromLocalFile(dest));
- connect(copyJob, SIGNAL(result(KJob *)), this, SLOT(slotMoveFinished(KJob *)));
- connect(copyJob, SIGNAL(percent(KJob *, unsigned long)), this, \
SLOT(slotMoveProgress(KJob *, unsigned long))); // Move proxies
-
QList <ClipController*> list = pCore->binController()->getControllerList();
QList<QUrl> cacheUrls;
for (int i = 0; i < list.count(); ++i) {
@@ -1710,6 +1705,8 @@ QDir KdenliveDoc::getCacheDir(CacheType type, bool *ok) const
}
basePath = kdenliveCacheDir + QStringLiteral("/") + documentId;
switch (type) {
+ case SystemCacheRoot:
+ return QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
case CacheRoot:
basePath = kdenliveCacheDir;
break;
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 6acc708..00ec65f 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1728,7 +1728,7 @@ void MainWindow::slotEditProjectSettings()
KMessageBox::sorry(this, i18n("Cannot perform operation, \
target directory already exists: %1", newDir.absoluteFilePath(documentId))); } else \
{ // Proceed with the move
- \
project->moveProjectData(oldDir.absoluteFilePath(documentId), newDir.absolutePath()); \
+ \
pCore->projectManager()->moveProjectData(oldDir.absoluteFilePath(documentId), \
newDir.absolutePath()); }
}
}
diff --git a/src/project/dialogs/temporarydata.cpp \
b/src/project/dialogs/temporarydata.cpp index 25c2542..0abffb7 100644
--- a/src/project/dialogs/temporarydata.cpp
+++ b/src/project/dialogs/temporarydata.cpp
@@ -488,7 +488,7 @@ void TemporaryData::updateGlobalInfo()
m_totalGlobal = 0;
m_listWidget->clear();
bool ok = false;
- QDir preview = m_doc->getCacheDir(CacheRoot, &ok);
+ QDir preview = m_doc->getCacheDir(SystemCacheRoot, &ok);
if (!ok) {
m_globalPage->setEnabled(false);
return;
diff --git a/src/project/projectmanager.cpp b/src/project/projectmanager.cpp
index ac0dd45..539ad25 100644
--- a/src/project/projectmanager.cpp
+++ b/src/project/projectmanager.cpp
@@ -793,6 +793,15 @@ void ProjectManager::saveZone(QStringList info, QDir dir)
pCore->bin()->saveZone(info, dir);
}
+void ProjectManager::moveProjectData(const QString &src, const QString &dest)
+{
+ // Move tmp folder (thumbnails, timeline preview)
+ KIO::CopyJob *copyJob = \
KIO::move(QUrl::fromLocalFile(src),QUrl::fromLocalFile(dest)); + connect(copyJob, \
SIGNAL(result(KJob *)), this, SLOT(slotMoveFinished(KJob *))); + connect(copyJob, \
SIGNAL(percent(KJob *, unsigned long)), this, SLOT(slotMoveProgress(KJob *, unsigned \
long))); + m_project->moveProjectData(src, dest);
+}
+
void ProjectManager::slotMoveProgress(KJob *, unsigned long progress)
{
pCore->window()->slotGotProgressInfo(i18n("Moving project folder"), progress, \
ProcessingJobMessage);
diff --git a/src/project/projectmanager.h b/src/project/projectmanager.h
index c54bb59..dd67883 100644
--- a/src/project/projectmanager.h
+++ b/src/project/projectmanager.h
@@ -64,6 +64,8 @@ public:
/** @brief returns a default hd profile depending on timezone*/
static QString getDefaultProjectFormat();
void saveZone(QStringList info, QDir dir);
+ /** @brief Move project data files to new url */
+ void moveProjectData(const QString &src, const QString &dest);
public slots:
void newFile(bool showProjectSettings = true, bool force = false);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic