[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive/v0.8.2.1] src: Fix search path for missing lumas
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2011-11-08 11:00:25
Message-ID: 20111108110025.258C6A60A6 () git ! kde ! org
[Download RAW message or body]
Git commit 07b590ab399b3a96093dd95ddc5a4246bb2c8fe2 by Jean-Baptiste Mardelle.
Committed on 08/11/2011 at 11:58.
Pushed by mardelle into branch 'v0.8.2.1'.
Fix search path for missing lumas
M +11 -5 src/documentchecker.cpp
M +1 -1 src/documentchecker.h
http://commits.kde.org/kdenlive/07b590ab399b3a96093dd95ddc5a4246bb2c8fe2
diff --git a/src/documentchecker.cpp b/src/documentchecker.cpp
index 11e4c48..a89ddc1 100644
--- a/src/documentchecker.cpp
+++ b/src/documentchecker.cpp
@@ -33,6 +33,7 @@
#include <KApplication>
#include <KUrlRequesterDialog>
#include <KMessageBox>
+#include <KStandardDirs>
#include <QTreeWidgetItem>
#include <QFile>
@@ -423,7 +424,7 @@ void DocumentChecker::slotSearchClips()
child->setData(0, statusRole, CLIPOK);
}
} else if (child->data(0, statusRole).toInt() == LUMAMISSING) {
- QString fileName = searchLuma(child->data(0, idRole).toString());
+ QString fileName = searchLuma(searchDir, child->data(0, \
idRole).toString()); if (!fileName.isEmpty()) {
fixed = true;
child->setText(1, fileName);
@@ -456,24 +457,29 @@ void DocumentChecker::slotSearchClips()
}
-QString DocumentChecker::searchLuma(const QString &file) const
+QString DocumentChecker::searchLuma(const QDir &dir, const QString &file) const
{
KUrl searchPath(KdenliveSettings::mltpath());
+ QString fname = KUrl(file).fileName();
if (file.contains("PAL"))
searchPath.cd("../lumas/PAL");
else
searchPath.cd("../lumas/NTSC");
- QString result = searchPath.path(KUrl::AddTrailingSlash) + \
KUrl(file).fileName(); + QString result = searchPath.path(KUrl::AddTrailingSlash) \
+ fname; if (QFile::exists(result))
return result;
// try to find luma in application path
searchPath.clear();
searchPath = KUrl(QCoreApplication::applicationDirPath());
searchPath.cd("../share/apps/kdenlive/lumas");
- result = searchPath.path(KUrl::AddTrailingSlash) + KUrl(file).fileName();
+ result = searchPath.path(KUrl::AddTrailingSlash) + fname;
if (QFile::exists(result))
return result;
- return QString();
+ // Try in Kdenlive's standard KDE path
+ result = KStandardDirs::locate("appdata", "lumas/" + fname);
+ if (!result.isEmpty()) return result;
+ // Try in user's chosen folder
+ return searchPathRecursively(dir, fname);
}
QString DocumentChecker::searchPathRecursively(const QDir &dir, const QString \
&fileName) const
diff --git a/src/documentchecker.h b/src/documentchecker.h
index 66e35de..90be936 100644
--- a/src/documentchecker.h
+++ b/src/documentchecker.h
@@ -46,7 +46,7 @@ private slots:
void slotDeleteSelected();
QString getProperty(QDomElement effect, const QString &name);
void setProperty(QDomElement effect, const QString &name, const QString value);
- QString searchLuma(const QString &file) const;
+ QString searchLuma(const QDir &dir, const QString &file) const;
/** @brief Check if images and fonts in this clip exists, returns a list of \
images that do exist so we don't check twice. */
void checkMissingImagesAndFonts(QStringList images, QStringList fonts, const \
QString &id, const QString &baseClip); void slotCheckButtons();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic