[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src: Merge branch '16.12'
From: Jean-Baptiste Mardelle <null () kde ! org>
Date: 2017-01-08 22:00:31
Message-ID: E1cQLVv-0000Gh-KR () code ! kde ! org
[Download RAW message or body]
Git commit 5f8a15749eba57a785e3a405fc5a87e89b9f79fd by Jean-Baptiste Mardelle.
Committed on 08/01/2017 at 22:00.
Pushed by mardelle into branch 'master'.
Merge branch '16.12'
M +19 -18 src/bin/bin.cpp
M +3 -3 src/bin/bin.h
M +13 -13 src/bin/projectclip.cpp
M +2 -2 src/bin/projectclip.h
M +2 -2 src/capture/managecapturesdialog.cpp
M +3 -3 src/dialogs/clipcreationdialog.cpp
M +6 -6 src/dialogs/kdenlivesettingsdialog.cpp
M +6 -6 src/doc/kdenlivedoc.cpp
M +1 -1 src/doc/kdenlivedoc.h
M +1 -1 src/doc/kthumb.cpp
M +39 -39 src/dvdwizard/dvdwizard.cpp
M +5 -5 src/dvdwizard/dvdwizardmenu.cpp
M +8 -8 src/dvdwizard/dvdwizardvob.cpp
M +1 -1 src/effectstack/collapsibleeffect.cpp
M +1 -1 src/effectstack/effectstackview2.cpp
M +1 -1 src/effectstack/parametercontainer.cpp
M +12 -12 src/library/librarywidget.cpp
M +3 -3 src/mainwindow.cpp
M +1 -1 src/mltconnection.cpp
M +2 -2 src/mltcontroller/bincontroller.cpp
M +1 -1 src/mltcontroller/bincontroller.h
M +23 -18 src/mltcontroller/clipcontroller.cpp
M +2 -3 src/mltcontroller/clipcontroller.h
M +7 -7 src/mltcontroller/clippropertiescontroller.cpp
M +1 -1 src/monitor/monitor.cpp
M +11 -11 src/monitor/recmonitor.cpp
M +3 -3 src/project/clipmanager.cpp
M +3 -3 src/project/clipstabilize.cpp
M +6 -6 src/project/cliptranscode.cpp
M +12 -10 src/project/dialogs/archivewidget.cpp
M +14 -14 src/project/dialogs/projectsettings.cpp
M +1 -1 src/project/dialogs/projectsettings.h
M +5 -6 src/project/dialogs/slideshowclip.cpp
M +6 -6 src/project/jobs/cutclipjob.cpp
M +5 -5 src/project/jobs/filterjob.cpp
M +1 -1 src/project/jobs/proxyclipjob.cpp
M +2 -2 src/project/projectmanager.cpp
M +2 -2 src/stopmotion/stopmotion.cpp
M +5 -5 src/timeline/customtrackview.cpp
M +1 -1 src/timeline/customtrackview.h
M +2 -2 src/timeline/timeline.cpp
M +7 -7 src/titler/titlewidget.cpp
M +1 -1 src/utils/resourcewidget.cpp
https://commits.kde.org/kdenlive/5f8a15749eba57a785e3a405fc5a87e89b9f79fd
diff --cc src/bin/bin.cpp
index 01fe41f62,099f9ef1b..4801f1d08
--- a/src/bin/bin.cpp
+++ b/src/bin/bin.cpp
@@@ -489,13 -481,13 +489,13 @@@ Bin::Bin(QWidget *parent)
m_infoMessage = new BinMessageWidget;
m_layout->addWidget(m_infoMessage);
m_infoMessage->setCloseButtonVisible(false);
- connect(m_infoMessage, SIGNAL(linkActivated(const QString &)), this, \
SLOT(slotShowJobLog()));
- connect(m_infoMessage, SIGNAL(messageClosing()), this, \
SLOT(slotResetInfoMessage())); + connect(m_infoMessage, \
&KMessageWidget::linkActivated, this, &Bin::slotShowJobLog); + \
connect(m_infoMessage, &BinMessageWidget::messageClosing, this, \
&Bin::slotResetInfoMessage); //m_infoMessage->setWordWrap(true);
m_infoMessage->hide();
- connect(this, SIGNAL(requesteInvalidRemoval(QString, QUrl, QString)), this, \
SLOT(slotQueryRemoval(QString, QUrl, QString)));
- connect(this, SIGNAL(requesteInvalidRemoval(QString,QString,QString)), this, \
SLOT(slotQueryRemoval(QString,QString,QString))); ++ connect(this, \
SIGNAL(requesteInvalidRemoval(QString, QString, QString)), this, \
SLOT(slotQueryRemoval(QString, QString, QString)));
connect(this, &Bin::refreshAudioThumbs, this, &Bin::doRefreshAudioThumbs);
- connect(this, SIGNAL(displayBinMessage(QString,KMessageWidget::MessageType)), \
this, SLOT(doDisplayMessage(QString,KMessageWidget::MessageType))); + \
connect(this, SIGNAL(displayBinMessage(QString, KMessageWidget::MessageType)), this, \
SLOT(doDisplayMessage(QString, KMessageWidget::MessageType))); }
Bin::~Bin()
@@@ -914,13 -884,13 +914,13 @@@ void Bin::slotReloadClip(
if (!ix.isValid() || ix.column() != 0) {
continue;
}
- AbstractProjectItem *item = \
static_cast<AbstractProjectItem*>(m_proxyModel->mapToSource(ix).internalPointer());
- ProjectClip *currentItem = qobject_cast<ProjectClip*>(item);
+ AbstractProjectItem *item = static_cast<AbstractProjectItem \
*>(m_proxyModel->mapToSource(ix).internalPointer()); + ProjectClip \
*currentItem = qobject_cast<ProjectClip *>(item); if (currentItem) {
- emit openClip(NULL);
+ emit openClip(Q_NULLPTR);
if (currentItem->clipType() == Playlist) {
//Check if a clip inside playlist is missing
- QString path = currentItem->url().path();
+ QString path = currentItem->url();
QFile f(path);
QDomDocument doc;
doc.setContent(&f, false);
@@@ -960,20 -930,20 +960,20 @@@ void Bin::slotLocateClip(
if (!ix.isValid() || ix.column() != 0) {
continue;
}
- AbstractProjectItem *item = \
static_cast<AbstractProjectItem*>(m_proxyModel->mapToSource(ix).internalPointer());
- ProjectClip *currentItem = qobject_cast<ProjectClip*>(item);
+ AbstractProjectItem *item = static_cast<AbstractProjectItem \
*>(m_proxyModel->mapToSource(ix).internalPointer()); + ProjectClip \
*currentItem = qobject_cast<ProjectClip *>(item); if (currentItem) {
- QUrl url = currentItem->url().adjusted(QUrl::RemoveFilename);
- QUrl url = QUrl::fromLocalFile(currentItem->url()).adjusted(QUrl::RemoveFilename);
- bool exists = QFile(url.toLocalFile()).exists();
- if (currentItem->hasUrl() && exists) {
- QDesktopServices::openUrl(url);
- qDebug()<<" / / "+url.toString();
- } else {
- if(!exists){
- emitMessage(i18n("Couldn't locate ") + QString(" ("+url.toString()+")"), \
100, ErrorMessage);
- }
- return;
- }
++ QUrl url = \
QUrl::fromLocalFile(currentItem->url()).adjusted(QUrl::RemoveFilename); + \
bool exists = QFile(url.toLocalFile()).exists(); + if \
(currentItem->hasUrl() && exists) { + QDesktopServices::openUrl(url);
+ qCDebug(KDENLIVE_LOG) << " / / " + url.toString();
+ } else {
- if (!exists) {
++ if(!exists) {
+ emitMessage(i18n("Couldn't locate ") + QString(" (" + \
url.toString() + ")"), 100, ErrorMessage); + }
+ return;
+ }
}
}
}
@@@ -2652,21 -2564,21 +2652,21 @@@ void Bin::slotItemDropped(const QList<Q
if (type.inherits(QStringLiteral("inode/directory"))) {
// user dropped a folder, import its files
clipsToAdd.removeAll(file);
- QDir dir(file.path());
+ QDir dir(file.toLocalFile());
QStringList result = dir.entryList(QDir::Files);
- QList <QUrl> folderFiles;
- foreach(const QString & path, result) {
+ QList<QUrl> folderFiles;
+ foreach (const QString &path, result) {
folderFiles.append(QUrl::fromLocalFile(dir.absoluteFilePath(path)));
}
- if (folderFiles.count() > 0) {
- QString folderId = slotAddFolder(dir.dirName());
- QModelIndex ind = getIndexForId(folderId, true);
- QStringList newFolderInfo;
- if (ind.isValid()) {
- newFolderInfo = getFolderInfo(m_proxyModel->mapFromSource(ind));
- }
- ClipCreationDialog::createClipsCommand(m_doc, folderFiles, newFolderInfo, this);
- }
+ if (!folderFiles.isEmpty()) {
+ QString folderId = slotAddFolder(dir.dirName());
+ QModelIndex ind = getIndexForId(folderId, true);
+ QStringList newFolderInfo;
+ if (ind.isValid()) {
+ newFolderInfo = \
getFolderInfo(m_proxyModel->mapFromSource(ind)); + }
+ ClipCreationDialog::createClipsCommand(m_doc, folderFiles, \
newFolderInfo, this); + }
}
}
if (!clipsToAdd.isEmpty()) {
@@@ -2674,7 -2586,7 +2674,7 @@@
}
}
- void Bin::slotExpandUrl(const ItemInfo &info, const QUrl &url, QUndoCommand \
*command)
-void Bin::slotExpandUrl(ItemInfo info, const QString &url, QUndoCommand *command)
++void Bin::slotExpandUrl(const ItemInfo &info, const QString &url, QUndoCommand \
*command) {
QStringList folderInfo;
// Create folder to hold imported clips
@@@ -2691,10 -2603,10 +2691,10 @@@
if (doc.documentElement().isNull()) {
invalid = true;
}
- QDomNodeList producers = doc.documentElement().elementsByTagName("producer");
- QDomNodeList tracks = doc.documentElement().elementsByTagName("track");
+ QDomNodeList producers = \
doc.documentElement().elementsByTagName(QStringLiteral("producer")); + \
QDomNodeList tracks = \
doc.documentElement().elementsByTagName(QStringLiteral("track")); if (invalid || \
producers.isEmpty()) {
- doDisplayMessage(i18n("Playlist clip %1 is invalid.", url.fileName()), \
KMessageWidget::Warning); + doDisplayMessage(i18n("Playlist clip %1 is \
invalid.", QFileInfo(url).fileName()), KMessageWidget::Warning); delete command;
return;
}
@@@ -2973,18 -2862,16 +2973,18 @@@ Timecode Bin::projectTimecode() cons
return m_doc->timecode();
}
-void Bin::slotStartFilterJob(const ItemInfo &info, const QString&id, QMap <QString, \
QString> &filterParams, QMap <QString, QString> &consumerParams, QMap <QString, \
QString> &extraParams) +void Bin::slotStartFilterJob(const ItemInfo &info, const \
QString &id, QMap<QString, QString> &filterParams, QMap<QString, QString> \
&consumerParams, QMap<QString, QString> &extraParams) {
ProjectClip *clip = getBinClip(id);
- if (!clip) return;
+ if (!clip) {
+ return;
+ }
- QMap <QString, QString> producerParams = QMap <QString, QString> ();
+ QMap<QString, QString> producerParams = QMap<QString, QString> ();
- producerParams.insert(QStringLiteral("producer"), clip->url().path());
+ producerParams.insert(QStringLiteral("producer"), clip->url());
if (info.cropDuration != GenTime()) {
producerParams.insert(QStringLiteral("in"), QString::number((int) \
info.cropStart.frames(m_doc->fps())));
- producerParams.insert(QStringLiteral("out"), QString::number((int) \
(info.cropStart + info.cropDuration).frames(m_doc->fps()))); + \
producerParams.insert(QStringLiteral("out"), QString::number((int)(info.cropStart + \
info.cropDuration).frames(m_doc->fps())));
extraParams.insert(QStringLiteral("clipStartPos"), QString::number((int) \
info.startPos.frames(m_doc->fps())));
extraParams.insert(QStringLiteral("clipTrack"), \
QString::number(info.track)); } else {
@@@ -3003,30 -2890,27 +3003,30 @@@ void Bin::focusBinView() cons
void Bin::slotOpenClip()
{
ProjectClip *clip = getFirstSelectedClip();
- if (!clip) return;
+ if (!clip) {
+ return;
+ }
switch (clip->clipType()) {
- case Text:
- case TextTemplate:
- showTitleWidget(clip);
- break;
- case Image:
- if (KdenliveSettings::defaultimageapp().isEmpty())
- KMessageBox::sorry(QApplication::activeWindow(), i18n("Please set a \
default application to open images in the Settings dialog"));
- else
- QProcess::startDetached(KdenliveSettings::defaultimageapp(), \
QStringList() << clip->url());
- break;
- case Audio:
- if (KdenliveSettings::defaultaudioapp().isEmpty())
- KMessageBox::sorry(QApplication::activeWindow(), i18n("Please set a \
default application to open audio files in the Settings dialog"));
- else
- QProcess::startDetached(KdenliveSettings::defaultaudioapp(), \
QStringList() << clip->url());
- break;
- default:
- break;
+ case Text:
+ case TextTemplate:
+ showTitleWidget(clip);
+ break;
+ case Image:
+ if (KdenliveSettings::defaultimageapp().isEmpty()) {
+ KMessageBox::sorry(QApplication::activeWindow(), i18n("Please set a \
default application to open images in the Settings dialog")); + } else {
- QProcess::startDetached(KdenliveSettings::defaultimageapp(), \
QStringList() << clip->url().path()); ++ \
QProcess::startDetached(KdenliveSettings::defaultimageapp(), QStringList() << \
clip->url()); + }
+ break;
+ case Audio:
+ if (KdenliveSettings::defaultaudioapp().isEmpty()) {
+ KMessageBox::sorry(QApplication::activeWindow(), i18n("Please set a \
default application to open audio files in the Settings dialog")); + } else {
- QProcess::startDetached(KdenliveSettings::defaultaudioapp(), \
QStringList() << clip->url().path()); ++ \
QProcess::startDetached(KdenliveSettings::defaultaudioapp(), QStringList() << \
clip->url()); + }
+ break;
+ default:
+ break;
}
}
@@@ -3481,12 -3313,10 +3481,12 @@@ void Bin::slotShowDescColumn(bool show
}
}
- void Bin::slotQueryRemoval(const QString &id, const QUrl &url, const QString \
&errorMessage) + void Bin::slotQueryRemoval(const QString &id, const QString &url, \
const QString &errorMessage) {
if (m_invalidClipDialog) {
- if (!url.isEmpty()) m_invalidClipDialog->addClip(id, url);
+ if (!url.isEmpty()) {
- m_invalidClipDialog->addClip(id, url.toLocalFile());
++ m_invalidClipDialog->addClip(id, url);
+ }
return;
}
QString message = i18n("Clip is invalid, will be removed from project.");
diff --cc src/bin/bin.h
index 8684bcf8b,32c68ff7b..4687d992f
--- a/src/bin/bin.h
+++ b/src/bin/bin.h
@@@ -642,7 -645,7 +642,7 @@@ public slots
void slotEffectDropped(QString id, QDomElement);
/** @brief Request current frame from project monitor. */
void slotGetCurrentProjectImage(bool request);
- void slotExpandUrl(const ItemInfo &info, const QUrl &url, QUndoCommand \
*command);
- void slotExpandUrl(ItemInfo info, const QString &url, QUndoCommand *command);
++ void slotExpandUrl(const ItemInfo &info, const QString &url, QUndoCommand \
*command); void abortAudioThumbs();
/** @brief Abort all ongoing operations to prepare close. */
void abortOperations();
diff --cc src/bin/projectclip.cpp
index 801bb4989,305a48b34..14d65ace6
--- a/src/bin/projectclip.cpp
+++ b/src/bin/projectclip.cpp
@@@ -89,11 -90,11 +89,11 @@@ ProjectClip::ProjectClip(const QDomElem
QString clipName = getXmlProperty(description, \
QStringLiteral("kdenlive:clipname")); if (!clipName.isEmpty()) {
m_name = clipName;
- } else if (m_temporaryUrl.isValid()) {
- m_name = m_temporaryUrl.fileName();
- }
- else if (!m_temporaryUrl.isEmpty()) {
++ } else if (!m_temporaryUrl.isEmpty()) {
+ m_name = QFileInfo(m_temporaryUrl).fileName();
+ } else {
+ m_name = i18n("Untitled");
}
- else m_name = i18n("Untitled");
connect(this, &ProjectClip::updateJobStatus, this, &ProjectClip::setJobStatus);
setParent(parent);
connect(this, &ProjectClip::updateThumbProgress, bin(), \
&Bin::doUpdateThumbsProgress); @@@ -242,17 -238,13 +242,17 @@@ ProjectClip \
*ProjectClip::clipAt(int ix
bool ProjectClip::hasUrl() const
{
- if (m_controller && (m_type != Color) && (m_type != Unknown)) return \
(!m_controller->clipUrl().isEmpty()); + if (m_controller && (m_type != Color) && \
(m_type != Unknown)) {
- return (m_controller->clipUrl().isValid());
++ return (!m_controller->clipUrl().isEmpty());
+ }
return false;
}
- QUrl ProjectClip::url() const
+ const QString ProjectClip::url() const
{
- if (m_controller) return m_controller->clipUrl();
+ if (m_controller) {
+ return m_controller->clipUrl();
+ }
return m_temporaryUrl;
}
@@@ -547,51 -534,45 +547,51 @@@ const QString ProjectClip::getFileHash(
QByteArray fileData;
QByteArray fileHash;
switch (m_type) {
- case SlideShow:
- fileData = m_controller ? m_controller->clipUrl().toUtf8() : \
m_temporaryUrl.toUtf8();
- fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5);
- break;
- case Text:
- fileData = m_controller ? \
m_controller->property(QStringLiteral("xmldata")).toUtf8() : \
name().toUtf8();
- fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5);
- break;
- case QText:
- fileData = m_controller ? \
m_controller->property(QStringLiteral("text")).toUtf8() : \
name().toUtf8();
- fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5);
- break;
- case Color:
- fileData = m_controller ? \
m_controller->property(QStringLiteral("resource")).toUtf8() : \
name().toUtf8();
- fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5);
- break;
- default:
- QFile file(m_controller ? m_controller->clipUrl() : m_temporaryUrl);
- if (file.open(QIODevice::ReadOnly)) { // write size and hash only if \
resource points to a file
- /*
- * 1 MB = 1 second per 450 files (or faster)
- * 10 MB = 9 seconds per 450 files (or faster)
- */
+ case SlideShow:
- fileData = m_controller ? m_controller->clipUrl().toLocalFile().toUtf8() : \
m_temporaryUrl.toLocalFile().toUtf8(); ++ fileData = m_controller ? \
m_controller->clipUrl().toUtf8() : m_temporaryUrl.toUtf8(); + fileHash = \
QCryptographicHash::hash(fileData, QCryptographicHash::Md5); + break;
+ case Text:
+ fileData = m_controller ? \
m_controller->property(QStringLiteral("xmldata")).toUtf8() : name().toUtf8(); + \
fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5); + \
break; + case QText:
+ fileData = m_controller ? \
m_controller->property(QStringLiteral("text")).toUtf8() : name().toUtf8(); + \
fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5); + \
break; + case Color:
+ fileData = m_controller ? \
m_controller->property(QStringLiteral("resource")).toUtf8() : name().toUtf8(); + \
fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5); + \
break; + default:
- QFile file(m_controller ? m_controller->clipUrl().toLocalFile() : \
m_temporaryUrl.toLocalFile()); ++ QFile file(m_controller ? \
m_controller->clipUrl() : m_temporaryUrl); + if \
(file.open(QIODevice::ReadOnly)) { // write size and hash only if resource points to \
a file + /*
+ * 1 MB = 1 second per 450 files (or faster)
+ * 10 MB = 9 seconds per 450 files (or faster)
+ */
if (file.size() > 2000000) {
fileData = file.read(1000000);
- if (file.seek(file.size() - 1000000))
+ if (file.seek(file.size() - 1000000)) {
fileData.append(file.readAll());
- } else
+ }
+ } else {
fileData = file.readAll();
+ }
file.close();
- if (m_controller) \
m_controller->setProperty(QStringLiteral("kdenlive:file_size"), \
QString::number(file.size())); + if (m_controller) {
+ m_controller->setProperty(QStringLiteral("kdenlive:file_size"), \
QString::number(file.size())); + }
fileHash = QCryptographicHash::hash(fileData, QCryptographicHash::Md5);
- }
- break;
+ }
+ break;
+ }
+ if (fileHash.isEmpty()) {
+ return QString();
}
- if (fileHash.isEmpty()) return QString();
QString result = fileHash.toHex();
if (m_controller) {
- m_controller->setProperty(QStringLiteral("kdenlive:file_hash"), result);
+ m_controller->setProperty(QStringLiteral("kdenlive:file_hash"), result);
}
return result;
}
@@@ -651,15 -626,18 +651,15 @@@ void ProjectClip::setProperties(const Q
// reset proxy
if (bin()->hasPendingJob(m_id, AbstractClipJob::PROXYJOB)) {
bin()->discardJobs(m_id, AbstractClipJob::PROXYJOB);
- }
- else {
+ } else {
reloadProducer();
}
- }
- else {
+ } else {
// A proxy was requested, make sure to keep original url
- setProducerProperty(QStringLiteral("kdenlive:originalurl"), \
url().toLocalFile()); + \
setProducerProperty(QStringLiteral("kdenlive:originalurl"), url()); \
bin()->startJob(m_id, AbstractClipJob::PROXYJOB); }
- }
- else if (properties.contains(QStringLiteral("resource")) || \
properties.contains(QStringLiteral("templatetext")) || \
properties.contains(QStringLiteral("autorotate"))) { + } else if \
(properties.contains(QStringLiteral("resource")) || \
properties.contains(QStringLiteral("templatetext")) || \
properties.contains(QStringLiteral("autorotate"))) { // Clip resource changed, \
update thumbnail if (m_type != Color) {
reloadProducer();
@@@ -898,10 -857,8 +898,10 @@@ void ProjectClip::doExtractIntra(
m_intraThumbMutex.lock();
pos = m_intraThumbs.takeFirst();
m_intraThumbMutex.unlock();
- if (pos >= max) pos = max - 1;
+ if (pos >= max) {
+ pos = max - 1;
+ }
- const QString path = url().toLocalFile() + '_' + QString::number(pos);
+ const QString path = url() + '_' + QString::number(pos);
QImage img = bin()->findCachedPixmap(path);
if (!img.isNull()) {
// Cache already contains image
@@@ -952,10 -908,8 +952,10 @@@ void ProjectClip::doExtractImage(
emit thumbReady(pos, QImage(thumbFolder.absoluteFilePath(hash() + '#' + \
QString::number(pos) + ".png"))); continue;
}
- if (pos >= max) pos = max - 1;
+ if (pos >= max) {
+ pos = max - 1;
+ }
- const QString path = url().toLocalFile() + '_' + QString::number(pos);
+ const QString path = url() + '_' + QString::number(pos);
QImage img = bin()->findCachedPixmap(path);
if (!img.isNull()) {
emit thumbReady(pos, img);
diff --cc src/doc/kdenlivedoc.cpp
index 370410562,c7df9b39f..f4931191d
--- a/src/doc/kdenlivedoc.cpp
+++ b/src/doc/kdenlivedoc.cpp
@@@ -1384,10 -1337,12 +1384,10 @@@ void KdenliveDoc::slotProxyCurrentItem(
}
}
-
//TODO put all file watching stuff in own class
- void KdenliveDoc::watchFile(const QUrl &url)
+ void KdenliveDoc::watchFile(const QString &url)
{
- m_fileWatcher.addFile(url.toLocalFile());
+ m_fileWatcher.addFile(url);
}
void KdenliveDoc::slotClipModified(const QString &path)
@@@ -1399,15 -1354,14 +1399,15 @@@
}
m_modifiedClips[id] = QTime::currentTime();
}
- if (!m_modifiedTimer.isActive()) m_modifiedTimer.start();
+ if (!m_modifiedTimer.isActive()) {
+ m_modifiedTimer.start();
+ }
}
-
void KdenliveDoc::slotClipMissing(const QString &path)
{
- qDebug() << "// CLIP: " << path << " WAS MISSING";
+ qCDebug(KDENLIVE_LOG) << "// CLIP: " << path << " WAS MISSING";
- QStringList ids = \
pCore->binController()->getBinIdsByResource(QUrl::fromLocalFile(path)); + \
QStringList ids = \
pCore->binController()->getBinIdsByResource(QFileInfo(path));
//TODO handle missing clips by replacing producer with an invalid producer
/*foreach (const QString &id, ids) {
emit missingClip(id);
diff --cc src/doc/kdenlivedoc.h
index ab75af043,3bc5ad8fd..d04c3cc5a
--- a/src/doc/kdenlivedoc.h
+++ b/src/doc/kdenlivedoc.h
@@@ -144,9 -143,9 +144,9 @@@ public
/** @brief Get frame size of the renderer (profile)*/
const QSize getRenderSize() const;
/** @brief Add url to the file watcher so that we monitor changes */
- void watchFile(const QUrl &url);
+ void watchFile(const QString &url);
/** @brief Get all document properties that need to be saved */
- QMap <QString, QString> documentProperties();
+ QMap<QString, QString> documentProperties();
bool useProxy() const;
bool autoGenerateProxy(int width) const;
bool autoGenerateImageProxy(int width) const;
diff --cc src/doc/kthumb.cpp
index 111d1bb47,64728c9cc..d1f76d676
--- a/src/doc/kthumb.cpp
+++ b/src/doc/kthumb.cpp
@@@ -44,10 -42,8 +44,10 @@@ QPixmap KThumb::getImage(const QUrl &ur
height = width * profile.height() / profile.width();
}
QPixmap pix(width, height);
- if (!url.isValid()) return pix;
+ if (!url.isValid()) {
+ return pix;
+ }
- Mlt::Producer *producer = new Mlt::Producer(profile, \
url.path().toUtf8().constData()); + Mlt::Producer *producer = new \
Mlt::Producer(profile, url.toLocalFile().toUtf8().constData()); pix = \
QPixmap::fromImage(getFrame(producer, frame, width, height)); delete producer;
return pix;
diff --cc src/dvdwizard/dvdwizard.cpp
index 65ab1f69c,5a6618276..afe821583
--- a/src/dvdwizard/dvdwizard.cpp
+++ b/src/dvdwizard/dvdwizard.cpp
@@@ -181,13 -182,11 +181,13 @@@ void DvdWizard::slotPageChanged(int pag
void DvdWizard::generateDvd()
{
m_isoMessage->animatedHide();
- QDir dir(m_status.tmp_folder->url().path() + "DVD/");
+ QDir dir(m_status.tmp_folder->url().toLocalFile() + "DVD/");
- if (!dir.exists()) dir.mkpath(dir.absolutePath());
+ if (!dir.exists()) {
+ dir.mkpath(dir.absolutePath());
+ }
if (!dir.exists()) {
// We failed creating tmp DVD directory
- KMessageBox::sorry(this, i18n("Cannot create temporary directory %1", \
m_status.tmp_folder->url().path() + "DVD")); + KMessageBox::sorry(this, \
i18n("Cannot create temporary directory %1", m_status.tmp_folder->url().toLocalFile() \
+ "DVD")); return;
}
@@@ -766,10 -731,10 +766,10 @@@ void DvdWizard::slotRenderFinished(int
m_creationLog.append(m_dvdauthor->readAllStandardError());
m_dvdauthor->close();
delete m_dvdauthor;
- m_dvdauthor = NULL;
+ m_dvdauthor = Q_NULLPTR;
// Check if DVD structure has the necessary info
- if (!QFile::exists(m_status.tmp_folder->url().path() + \
"/DVD/VIDEO_TS/VIDEO_TS.IFO")) { + if \
(!QFile::exists(m_status.tmp_folder->url().toLocalFile() + \
"/DVD/VIDEO_TS/VIDEO_TS.IFO")) { errorMessage(i18n("DVD structure broken"));
m_status.error_log->append(m_creationLog + "<a name=\"result\" /><br \
/><strong>" + i18n("DVD structure broken")); \
m_status.error_log->scrollToAnchor(QStringLiteral("result")); @@@ -865,12 -827,12 \
+865,12 @@@ void DvdWizard::slotIsoFinished(int exi }
isoitem->setIcon(QIcon::fromTheme(QStringLiteral("dialog-ok")));
- //qCDebug(KDENLIVE_LOG) << "ISO IMAGE " << m_status.iso_image->url().path() << \
" Successfully created";
- //qDebug() << "ISO IMAGE " << m_status.iso_image->url().toLocalFile() << " \
Successfully created"; ++ //qCDebug(KDENLIVE_LOG) << "ISO IMAGE " << \
m_status.iso_image->url().toLocalFile() << " Successfully created"; cleanup();
- //qDebug() << m_creationLog;
+ //qCDebug(KDENLIVE_LOG) << m_creationLog;
- infoMessage(i18n("DVD ISO image %1 successfully created.", \
m_status.iso_image->url().path())); + infoMessage(i18n("DVD ISO image %1 \
successfully created.", m_status.iso_image->url().toLocalFile()));
- m_status.error_log->append("<a name=\"result\" /><strong>" + i18n("DVD ISO \
image %1 successfully created.", m_status.iso_image->url().path()) + "</strong>"); + \
m_status.error_log->append("<a name=\"result\" /><strong>" + i18n("DVD ISO image %1 \
successfully created.", m_status.iso_image->url().toLocalFile()) + "</strong>"); \
m_status.error_log->scrollToAnchor(QStringLiteral("result")); \
m_status.button_preview->setEnabled(true); m_status.button_burn->setEnabled(true);
@@@ -879,15 -841,15 +879,15 @@@
}
-
void DvdWizard::cleanup()
{
- QDir dir(m_status.tmp_folder->url().path() + QDir::separator() + "DVD");
+ QDir dir(m_status.tmp_folder->url().toLocalFile() + QDir::separator() + "DVD");
// Try to make sure we delete the correct directory
- if (dir.exists() && dir.dirName() == QLatin1String("DVD")) \
dir.removeRecursively(); + if (dir.exists() && dir.dirName() == \
QLatin1String("DVD")) { + dir.removeRecursively();
+ }
}
-
void DvdWizard::slotPreview()
{
QStringList programNames;
@@@ -901,9 -863,8 +901,9 @@@
}
if (exec.isEmpty()) {
KMessageBox::sorry(this, i18n("Previewing requires one of these \
applications (%1)", programNames.join(","))); + } else {
- QProcess::startDetached(exec, QStringList() << "dvd://" + \
m_status.iso_image->url().path()); ++ QProcess::startDetached(exec, \
QStringList() << "dvd://" + m_status.iso_image->url().toLocalFile()); }
- else QProcess::startDetached(exec, QStringList() << "dvd://" + \
m_status.iso_image->url().toLocalFile()); }
void DvdWizard::slotBurn()
@@@ -911,30 -872,23 +911,30 @@@
QAction *action = qobject_cast<QAction *>(sender());
QString exec = action->data().toString();
QStringList args;
- if (exec.endsWith(QLatin1String("k3b"))) args << QStringLiteral("--image") << \
m_status.iso_image->url().toLocalFile();
- else args << "--image=" + m_status.iso_image->url().toLocalFile();
+ if (exec.endsWith(QLatin1String("k3b"))) {
- args << QStringLiteral("--image") << m_status.iso_image->url().path();
++ args << QStringLiteral("--image") << \
m_status.iso_image->url().toLocalFile(); + } else {
- args << "--image=" + m_status.iso_image->url().path();
++ args << "--image=" + m_status.iso_image->url().toLocalFile();
+ }
QProcess::startDetached(exec, args);
}
void DvdWizard::slotGenerate()
{
// clear job icons
- if ((m_dvdauthor && m_dvdauthor->state() != QProcess::NotRunning) || (m_mkiso \
&& m_mkiso->state() != QProcess::NotRunning)) return;
- for (int i = 0; i < m_status.job_progress->count(); ++i)
+ if ((m_dvdauthor && m_dvdauthor->state() != QProcess::NotRunning) || (m_mkiso \
&& m_mkiso->state() != QProcess::NotRunning)) { + return;
+ }
+ for (int i = 0; i < m_status.job_progress->count(); ++i) {
m_status.job_progress->item(i)->setIcon(QIcon());
+ }
QString warnMessage;
- if (QFile::exists(m_status.tmp_folder->url().path() + "DVD")) {
- warnMessage.append(i18n("Folder %1 already exists. Overwrite?\n", \
m_status.tmp_folder->url().path() + "DVD"));
- if (QFile::exists(m_status.tmp_folder->url().toLocalFile() + "DVD"))
++ if (QFile::exists(m_status.tmp_folder->url().toLocalFile() + "DVD")) {
+ warnMessage.append(i18n("Folder %1 already exists. Overwrite?\n", \
m_status.tmp_folder->url().toLocalFile() + "DVD"));
- if (QFile::exists(m_status.iso_image->url().toLocalFile()))
+ }
- if (QFile::exists(m_status.iso_image->url().path())) {
- warnMessage.append(i18n("Image file %1 already exists. Overwrite?", \
m_status.iso_image->url().path())); ++ if \
(QFile::exists(m_status.iso_image->url().toLocalFile())) { + \
warnMessage.append(i18n("Image file %1 already exists. Overwrite?", \
m_status.iso_image->url().toLocalFile())); + }
if (warnMessage.isEmpty() || KMessageBox::questionYesNo(this, warnMessage) == \
KMessageBox::Yes) { cleanup();
@@@ -958,18 -909,14 +958,18 @@@ void DvdWizard::slotAbort(
void DvdWizard::slotSave()
{
- QString projectFolder = KRecentDirs::dir(":KdenliveDvdFolder");
- if (projectFolder.isEmpty()) projectFolder = QDir::homePath();
+ QString projectFolder = KRecentDirs::dir(QStringLiteral(":KdenliveDvdFolder"));
+ if (projectFolder.isEmpty()) {
+ projectFolder = QDir::homePath();
+ }
QUrl url = QFileDialog::getSaveFileUrl(this, i18n("Save DVD Project"), \
QUrl::fromLocalFile(projectFolder), i18n("DVD project (*.kdvd)"));
- if (!url.isValid())
+ if (!url.isValid()) {
return;
- KRecentDirs::add(":KdenliveDvdFolder", \
url.adjusted(QUrl::RemoveFilename).toLocalFile());
- if (currentId() == 0)
+ }
- KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
url.adjusted(QUrl::RemoveFilename).path()); ++ \
KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
url.adjusted(QUrl::RemoveFilename).toLocalFile()); + if (currentId() == 0) {
m_pageChapters->setVobFiles(m_pageVob->dvdFormat(), \
m_pageVob->selectedUrls(), m_pageVob->durations(), m_pageVob->chapters()); + }
QDomDocument doc;
QDomElement dvdproject = doc.createElement(QStringLiteral("dvdproject"));
@@@ -980,18 -927,14 +980,18 @@@
doc.appendChild(dvdproject);
QDomElement menu = m_pageMenu->toXml();
- if (!menu.isNull()) dvdproject.appendChild(doc.importNode(menu, true));
+ if (!menu.isNull()) {
+ dvdproject.appendChild(doc.importNode(menu, true));
+ }
QDomElement chaps = m_pageChapters->toXml();
- if (!chaps.isNull()) dvdproject.appendChild(doc.importNode(chaps, true));
+ if (!chaps.isNull()) {
+ dvdproject.appendChild(doc.importNode(chaps, true));
+ }
- QFile file(url.path());
+ QFile file(url.toLocalFile());
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
- qCWarning(KDENLIVE_LOG) << "////// ERROR writing to file: " << url.path();
- KMessageBox::error(this, i18n("Cannot write to file %1", url.path()));
- qWarning() << "////// ERROR writing to file: " << url.toLocalFile();
++ qCWarning(KDENLIVE_LOG) << "////// ERROR writing to file: " << \
url.toLocalFile(); + KMessageBox::error(this, i18n("Cannot write to file %1", \
url.toLocalFile())); return;
}
@@@ -1002,19 -945,17 +1002,19 @@@
file.close();
}
-
void DvdWizard::slotLoad()
{
- QString projectFolder = KRecentDirs::dir(":KdenliveDvdFolder");
- if (projectFolder.isEmpty()) projectFolder = QDir::homePath();
+ QString projectFolder = KRecentDirs::dir(QStringLiteral(":KdenliveDvdFolder"));
+ if (projectFolder.isEmpty()) {
+ projectFolder = QDir::homePath();
+ }
const QUrl url = QFileDialog::getOpenFileUrl(this, QString(), \
QUrl::fromLocalFile(projectFolder), i18n("DVD project (*.kdvd)"));
- if (!url.isValid())
+ if (!url.isValid()) {
return;
- KRecentDirs::add(":KdenliveDvdFolder", \
url.adjusted(QUrl::RemoveFilename).toLocalFile()); + }
- KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
url.adjusted(QUrl::RemoveFilename).path()); ++ \
KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
url.adjusted(QUrl::RemoveFilename).toLocalFile()); QDomDocument doc;
- QFile file(url.path());
+ QFile file(url.toLocalFile());
doc.setContent(&file, false);
file.close();
QDomElement dvdproject = doc.documentElement();
diff --cc src/dvdwizard/dvdwizardmenu.cpp
index ed40084fd,251927666..821478db4
--- a/src/dvdwizard/dvdwizardmenu.cpp
+++ b/src/dvdwizard/dvdwizardmenu.cpp
@@@ -500,10 -471,8 +500,10 @@@ void DvdWizardMenu::buildImage(
if (m_view.background_list->currentIndex() == 1) {
// image background
- if (!pix.load(m_view.background_image->url().path())) {
+ if (!pix.load(m_view.background_image->url().toLocalFile())) {
- if (m_background->scene() != 0) m_scene->removeItem(m_background);
+ if (m_background->scene() != 0) {
+ m_scene->removeItem(m_background);
+ }
return;
}
pix = pix.scaled(m_width, m_height);
diff --cc src/dvdwizard/dvdwizardvob.cpp
index d3310393f,e41f2bc2f..0feb109a1
--- a/src/dvdwizard/dvdwizardvob.cpp
+++ b/src/dvdwizard/dvdwizardvob.cpp
@@@ -267,22 -260,20 +267,22 @@@ void DvdWizardVob::slotAddVobList(QList
QString dialogFilter = i18n("All Supported Files") + " (" + allExtensions + \
");; " + i18n("MPEG Files") + " (*.mpeg *.mpg *.vob);; " + i18n("All Files") + " \
(*.*)"; list = QFileDialog::getOpenFileUrls(this, i18n("Add new video file"), \
QUrl::fromLocalFile(KRecentDirs::dir(QStringLiteral(":KdenliveDvdFolder"))), \
dialogFilter); if (!list.isEmpty()) {
- KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
list.at(0).adjusted(QUrl::RemoveFilename).path()); + \
KRecentDirs::add(QStringLiteral(":KdenliveDvdFolder"), \
list.at(0).adjusted(QUrl::RemoveFilename).toLocalFile()); }
}
- foreach(const QUrl &url, list) {
+ foreach (const QUrl &url, list) {
slotAddVobFile(url, QString(), false);
}
slotCheckVobList();
slotCheckProfiles();
}
-void DvdWizardVob::slotAddVobFile(QUrl url, const QString &chapters, bool \
checkFormats) +void DvdWizardVob::slotAddVobFile(const QUrl &url, const QString \
&chapters, bool checkFormats) {
- if (!url.isValid()) return;
+ if (!url.isValid()) {
+ return;
+ }
- QFile f(url.path());
+ QFile f(url.toLocalFile());
qint64 fileSize = f.size();
Mlt::Profile profile;
@@@ -369,9 -352,10 +369,9 @@@
if (chapters.isEmpty() == false) {
item->setData(1, Qt::UserRole + 1, chapters);
- } else if (QFile::exists(url.path() + ".dvdchapter")) {
- }
- else if (QFile::exists(url.toLocalFile() + ".dvdchapter")) {
++ } else if (QFile::exists(url.toLocalFile() + ".dvdchapter")) {
// insert chapters as children
- QFile file(url.path() + ".dvdchapter");
+ QFile file(url.toLocalFile() + ".dvdchapter");
if (file.open(QIODevice::ReadOnly)) {
QDomDocument doc;
if (doc.setContent(&file) == false) {
diff --cc src/effectstack/effectstackview2.cpp
index f87e645ae,b2c0f066c..22ddfcf7e
--- a/src/effectstack/effectstackview2.cpp
+++ b/src/effectstack/effectstackview2.cpp
@@@ -975,10 -944,11 +975,10 @@@ void EffectStackView2::slotCreateRegion
QDomElement region = \
MainWindow::videoEffects.getEffectByTag(QStringLiteral("region"), \
QStringLiteral("region")).cloneNode().toElement();
region.appendChild(region.ownerDocument().importNode(neweffect, true));
region.setAttribute(QStringLiteral("kdenlive_ix"), ix);
- EffectsList::setParameter(region, QStringLiteral("resource"), url.path());
+ EffectsList::setParameter(region, QStringLiteral("resource"), \
url.toLocalFile()); if (m_status == TIMELINE_TRACK) {
- emit updateEffect(NULL, m_trackindex, oldeffect, region, ix,false);
- }
- else if (m_status == TIMELINE_CLIP && m_clipref) {
+ emit updateEffect(Q_NULLPTR, m_trackindex, oldeffect, region, ix, false);
+ } else if (m_status == TIMELINE_CLIP && m_clipref) {
emit updateEffect(m_clipref, -1, oldeffect, region, ix, false);
// Make sure the changed effect is currently displayed
//slotSetCurrentEffect(ix);
diff --cc src/effectstack/parametercontainer.cpp
index 66d434173,c2366aa52..88c69d704
--- a/src/effectstack/parametercontainer.cpp
+++ b/src/effectstack/parametercontainer.cpp
@@@ -1184,16 -1125,14 +1184,16 @@@ void ParameterContainer::slotCollectAll
if (m_keyframeEditor->isVisibleParam(realName)) {
pa.setAttribute(QStringLiteral("intimeline"), QStringLiteral("1"));
- }
- else if (pa.hasAttribute(QStringLiteral("intimeline")))
+ } else if (pa.hasAttribute(QStringLiteral("intimeline"))) {
pa.setAttribute(QStringLiteral("intimeline"), QStringLiteral("0"));
+ }
} else if (type == QLatin1String("url")) {
- KUrlRequester *req = \
static_cast<Urlval*>(m_valueItems.value(paramName))->urlwidget;
- if (req) setValue = req->url().toLocalFile();
+ KUrlRequester *req = static_cast<Urlval \
*>(m_valueItems.value(paramName))->urlwidget; + if (req) {
- setValue = req->url().path();
++ setValue = req->url().toLocalFile();
+ }
} else if (type == QLatin1String("keywords")) {
- Keywordval* val = \
static_cast<Keywordval*>(m_valueItems.value(paramName)); + Keywordval \
*val = static_cast<Keywordval *>(m_valueItems.value(paramName)); if (val) {
QLineEdit *line = val->lineeditwidget;
KComboBox *combo = val->comboboxwidget;
diff --cc src/library/librarywidget.cpp
index 572cca79d,8f2b3a609..8c81ab348
--- a/src/library/librarywidget.cpp
+++ b/src/library/librarywidget.cpp
@@@ -407,18 -403,16 +407,18 @@@ void LibraryWidget::slotMoveData(const
dest = m_directory.absolutePath();
}
QDir dir(dest);
- if (!dir.exists()) return;
- foreach(const QUrl &url, urls) {
+ if (!dir.exists()) {
+ return;
+ }
+ foreach (const QUrl &url, urls) {
- if (!url.path().startsWith(m_directory.absolutePath())) {
+ if (!url.toLocalFile().startsWith(m_directory.absolutePath())) {
// Dropped an external file, attempt to copy it to library
KIO::FileCopyJob *copyJob = KIO::file_copy(url, \
QUrl::fromLocalFile(dir.absoluteFilePath(url.fileName())));
- connect(copyJob, SIGNAL(result(KJob *)), this, \
SLOT(slotDownloadFinished(KJob *)));
- connect(copyJob, SIGNAL(percent(KJob *, unsigned long)), this, \
SLOT(slotDownloadProgress(KJob *, unsigned long))); + connect(copyJob, \
&KJob::result, this, &LibraryWidget::slotDownloadFinished); + \
connect(copyJob, SIGNAL(percent(KJob *, ulong)), this, SLOT(slotDownloadProgress(KJob \
*, ulong))); } else {
// Internal drag/drop
- dir.rename(url.path(), url.fileName());
+ dir.rename(url.toLocalFile(), url.fileName());
}
}
}
@@@ -528,13 -516,13 +528,13 @@@ void LibraryWidget::slotItemsDeleted(co
QUrl fileUrl = fitem.url();
QString path;
if (fitem.isDir()) {
- path = fileUrl.path();
+ path = fileUrl.toLocalFile();
} else {
- path = fileUrl.adjusted(QUrl::RemoveFilename | \
QUrl::StripTrailingSlash).path(); + path = \
fileUrl.adjusted(QUrl::RemoveFilename | QUrl::StripTrailingSlash).toLocalFile(); }
- QTreeWidgetItem *matchingFolder = NULL;
+ QTreeWidgetItem *matchingFolder = Q_NULLPTR;
- if (path != m_directory.path()) {
+ if (path != m_directory.absolutePath()) {
- foreach(QTreeWidgetItem *folder, m_folders) {
+ foreach (QTreeWidgetItem *folder, m_folders) {
if (folder->data(0, Qt::UserRole).toString() == path) {
// Found parent folder
matchingFolder = folder;
@@@ -558,12 -546,12 +558,12 @@@
delete matchingFolder;
}
} else {
- if (matchingFolder == NULL) {
+ if (matchingFolder == Q_NULLPTR) {
matchingFolder = m_libraryTree->invisibleRootItem();
}
- for(int i = 0; i < matchingFolder->childCount(); i++) {
+ for (int i = 0; i < matchingFolder->childCount(); i++) {
QTreeWidgetItem *item = matchingFolder->child(i);
- if (item->data(0, Qt::UserRole).toString() == fileUrl.path()) {
+ if (item->data(0, Qt::UserRole).toString() == \
fileUrl.toLocalFile()) { // Found deleted item
delete item;
break;
@@@ -582,11 -571,11 +582,11 @@@ void LibraryWidget::slotItemsAdded(cons
QUrl fileUrl = fitem.url();
QString name = fileUrl.fileName();
QTreeWidgetItem *treeItem;
- QTreeWidgetItem *parent = NULL;
+ QTreeWidgetItem *parent = Q_NULLPTR;
- if (url != QUrl::fromLocalFile(m_directory.path())) {
+ if (url != QUrl::fromLocalFile(m_directory.absolutePath())) {
// not a top level item
- QString directory = fileUrl.adjusted(QUrl::RemoveFilename | \
QUrl::StripTrailingSlash).path(); + QString directory = \
fileUrl.adjusted(QUrl::RemoveFilename | \
QUrl::StripTrailingSlash).toLocalFile();
- foreach(QTreeWidgetItem *folder, m_folders) {
+ foreach (QTreeWidgetItem *folder, m_folders) {
if (folder->data(0, Qt::UserRole).toString() == directory) {
// Found parent folder
parent = folder;
diff --cc src/mainwindow.cpp
index 536bd128d,d16df70dd..942497498
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@@ -839,9 -814,9 +839,9 @@@ void MainWindow::saveProperties(KConfig
KXmlGuiWindow::saveProperties(config);
//TODO: fix session management
if (qApp->isSavingSession() && pCore->projectManager()) {
- if (pCore->projectManager()->current() && \
!pCore->projectManager()->current()->url().isEmpty()) {
- config.writeEntry("kdenlive_lastUrl", \
pCore->projectManager()->current()->url().toLocalFile());
- }
+ if (pCore->projectManager()->current() && \
!pCore->projectManager()->current()->url().isEmpty()) {
- config.writeEntry("kdenlive_lastUrl", \
pCore->projectManager()->current()->url().path()); ++ \
config.writeEntry("kdenlive_lastUrl", \
pCore->projectManager()->current()->url().toLocalFile()); + }
}
}
diff --cc src/mltcontroller/bincontroller.h
index f8e703f39,9cc758231..46b3ee9ec
--- a/src/mltcontroller/bincontroller.h
+++ b/src/mltcontroller/bincontroller.h
@@@ -133,10 -133,10 +133,10 @@@ public
void replaceBinPlaylistClip(const QString &id, Mlt::Producer &producer);
/** @brief Get the list of ids whose clip have the resource indicated by @param \
url */
- const QStringList getBinIdsByResource(const QUrl &url) const;
+ const QStringList getBinIdsByResource(const QFileInfo &url) const;
void replaceProducer(const QString &id, Mlt::Producer &producer);
void storeMarker(const QString &markerId, const QString &markerHash);
- QMap<double,QString> takeGuidesData();
+ QMap<double, QString> takeGuidesData();
/** @brief A Bin clip effect was changed, update track producers */
void updateTrackProducer(const QString &id);
diff --cc src/mltcontroller/clipcontroller.cpp
index 598cbb040,730d038b7..e46cb0d9b
--- a/src/mltcontroller/clipcontroller.cpp
+++ b/src/mltcontroller/clipcontroller.cpp
@@@ -27,8 -27,7 +27,7 @@@ along with this program. If not, see <
#include "timeline/timeline.h"
#include "timeline/effectmanager.h"
- #include <QUrl>
-#include <QDebug>
+#include "kdenlive_debug.h"
#include <QPixmap>
#include <QFileInfo>
#include <KLocalizedString>
@@@ -49,22 -48,26 +48,23 @@@ ClipController::ClipController(BinContr
{
m_masterProducer = &producer;
if (!m_masterProducer->is_valid()) {
- qDebug()<<"// WARNING, USING INVALID PRODUCER";
+ qCDebug(KDENLIVE_LOG) << "// WARNING, USING INVALID PRODUCER";
return;
- }
- else {
+ } else {
+ m_service = m_properties->get("mlt_service");
QString proxy = m_properties->get("kdenlive:proxy");
+ QString path = m_properties->get("resource");
if (proxy.length() > 2) {
// This is a proxy producer, read original url from kdenlive property
- QString path = m_properties->get("kdenlive:originalurl");
+ path = m_properties->get("kdenlive:originalurl");
if (QFileInfo(path).isRelative()) {
path.prepend(bincontroller->documentRoot());
}
- m_url = QUrl::fromLocalFile(path);
m_usesProxy = true;
- } else {
- m_url = QUrl::fromLocalFile(m_properties->get("resource"));
- }
- else if (m_service != QLatin1String("color") && m_service != \
QLatin1String("colour") && QFileInfo(path).isRelative()) { ++ } else if \
(m_service != QLatin1String("color") && m_service != QLatin1String("colour") && \
QFileInfo(path).isRelative()) { + \
path.prepend(bincontroller->documentRoot()); }
- m_service = m_properties->get("mlt_service");
+ m_path = QFileInfo(path).absoluteFilePath();
- qDebug()<<"* * *CREATED PROD: "<<path<<" = "<<m_path;
getInfoForProducer();
}
}
@@@ -106,19 -109,25 +106,24 @@@ void ClipController::addMasterProducer(
{
m_properties = new Mlt::Properties(producer.get_properties());
m_masterProducer = &producer;
- if (!m_masterProducer->is_valid()) qDebug()<<"// WARNING, USING INVALID \
PRODUCER";
- else {
+ if (!m_masterProducer->is_valid()) {
+ qCDebug(KDENLIVE_LOG) << "// WARNING, USING INVALID PRODUCER";
+ } else {
QString proxy = m_properties->get("kdenlive:proxy");
+ m_service = m_properties->get("mlt_service");
+ QString path = m_properties->get("resource");
+ m_usesProxy = false;
if (proxy.length() > 2) {
// This is a proxy producer, read original url from kdenlive property
- m_url = QUrl::fromLocalFile(m_properties->get("kdenlive:originalurl"));
+ path = m_properties->get("kdenlive:originalurl");
+ if (QFileInfo(path).isRelative()) {
+ path.prepend(m_binController->documentRoot());
+ }
m_usesProxy = true;
- } else {
- m_url = QUrl::fromLocalFile(m_properties->get("resource"));
- m_usesProxy = false;
- }
- else if (m_service != QLatin1String("color") && m_service != \
QLatin1String("colour") && QFileInfo(path).isRelative()) { ++ } else if \
(m_service != QLatin1String("color") && m_service != QLatin1String("colour") && \
QFileInfo(path).isRelative()) { + \
path.prepend(m_binController->documentRoot()); }
- m_service = m_properties->get("mlt_service");
+ m_path = QFileInfo(path).absoluteFilePath();
- qDebug()<<"* * *LODED PROD: "<<path<<" = "<<m_path;
getInfoForProducer();
}
}
@@@ -146,23 -154,29 +151,23 @@@ void ClipController::getInfoForProducer
m_videoIndex = int_property(QStringLiteral("video_index"));
if (m_audioIndex == -1) {
m_clipType = Video;
- }
- else if (m_videoIndex == -1) {
+ } else if (m_videoIndex == -1) {
m_clipType = Audio;
- }
- else {
+ } else {
m_clipType = AV;
}
- }
- else if (m_service == QLatin1String("qimage") || m_service == \
QLatin1String("pixbuf")) { + } else if (m_service == QLatin1String("qimage") || \
m_service == QLatin1String("pixbuf")) {
- if (m_url.path().contains(QStringLiteral("%")) || \
m_url.path().contains(QStringLiteral("/.all."))) { + if \
(m_path.contains(QStringLiteral("%")) || m_path.contains(QStringLiteral("/.all."))) { \
m_clipType = SlideShow;
- }
- else {
+ } else {
m_clipType = Image;
}
m_hasLimitedDuration = false;
- }
- else if (m_service == QLatin1String("colour") || m_service == \
QLatin1String("color")) { + } else if (m_service == QLatin1String("colour") || \
m_service == QLatin1String("color")) { m_clipType = Color;
m_hasLimitedDuration = false;
- }
- else if (m_service == QLatin1String("kdenlivetitle")) {
+ } else if (m_service == QLatin1String("kdenlivetitle")) {
- if (!m_url.isEmpty()) {
+ if (!m_path.isEmpty()) {
m_clipType = TextTemplate;
} else {
m_clipType = Text;
@@@ -408,10 -401,8 +413,10 @@@ const QString ClipController::clipUrl(
QString ClipController::clipName() const
{
QString name = property(QStringLiteral("kdenlive:clipname"));
- if (!name.isEmpty()) return name;
- return QFile(m_path).fileName();
+ if (!name.isEmpty()) {
+ return name;
+ }
- return m_url.fileName();
++ return QFileInfo(m_path).fileName();
}
QString ClipController::description() const
diff --cc src/mltcontroller/clippropertiescontroller.cpp
index 807133e0d,9d710c88d..f1c266883
--- a/src/mltcontroller/clippropertiescontroller.cpp
+++ b/src/mltcontroller/clippropertiescontroller.cpp
@@@ -752,9 -745,9 +752,9 @@@ void ClipPropertiesController::fillProp
QMimeDatabase mimeDatabase;
QMimeType mimeType;
- mimeType = mimeDatabase.mimeTypeForFile(m_controller->clipUrl().toLocalFile());
+ mimeType = mimeDatabase.mimeTypeForFile(m_controller->clipUrl());
- foreach(KFileMetaData::Extractor* plugin, \
metaDataCollection.fetchExtractors(mimeType.name())) { + foreach \
(KFileMetaData::Extractor *plugin, \
metaDataCollection.fetchExtractors(mimeType.name())) {
- ExtractionResult extractionResult(m_controller->clipUrl().toLocalFile(), \
mimeType.name(), m_propertiesTree); + ExtractionResult \
extractionResult(m_controller->clipUrl(), mimeType.name(), m_propertiesTree); \
plugin->extract(&extractionResult); }
#endif
@@@ -952,17 -942,18 +952,17 @@@ void ClipPropertiesController::slotFill
}
int exifUsed = m_controller->int_property(QStringLiteral("kdenlive:exiftool"));
if (exifUsed == 1) {
- Mlt::Properties subProperties;
- subProperties.pass_values(m_properties, "kdenlive:meta.exiftool.");
- if (subProperties.count() > 0) {
- QTreeWidgetItem *exif = new QTreeWidgetItem(tree, QStringList() << \
i18n("Exif") << QString());
- exif->setExpanded(true);
- for (int i = 0; i < subProperties.count(); i++) {
- new QTreeWidgetItem(exif, QStringList() << \
subProperties.get_name(i) << subProperties.get(i));
- }
- }
- }
- else if (KdenliveSettings::use_exiftool()) {
+ Mlt::Properties subProperties;
+ subProperties.pass_values(m_properties, "kdenlive:meta.exiftool.");
+ if (subProperties.count() > 0) {
+ QTreeWidgetItem *exif = new QTreeWidgetItem(tree, QStringList() << \
i18n("Exif") << QString()); + exif->setExpanded(true);
+ for (int i = 0; i < subProperties.count(); i++) {
+ new QTreeWidgetItem(exif, QStringList() << \
subProperties.get_name(i) << subProperties.get(i)); + }
+ }
+ } else if (KdenliveSettings::use_exiftool()) {
- QString url = m_controller->clipUrl().path();
+ QString url = m_controller->clipUrl();
//Check for Canon THM file
url = url.section('.', 0, -2) + ".THM";
if (QFile::exists(url)) {
@@@ -1041,8 -1024,9 +1041,8 @@@
}
new QTreeWidgetItem(magicL, QStringList() << subProperties.get_name(i) \
<< subProperties.get(i)); }
- }
- else if (m_type != Image && KdenliveSettings::use_magicLantern()) {
+ } else if (m_type != Image && KdenliveSettings::use_magicLantern()) {
- QString url = m_controller->clipUrl().path();
+ QString url = m_controller->clipUrl();
url = url.section('.', 0, -2) + ".LOG";
if (QFile::exists(url)) {
QFile file(url);
@@@ -1100,10 -1078,9 +1100,10 @@@ void ClipPropertiesController::slotDele
void ClipPropertiesController::slotSaveAnalysis()
{
- const QString url = QFileDialog::getSaveFileName(this, i18n("Save Analysis \
Data"), m_controller->clipUrl().adjusted(QUrl::RemoveFilename).path(), i18n("Text \
File (*.txt)")); + const QString url = QFileDialog::getSaveFileName(this, \
i18n("Save Analysis Data"), QFileInfo(m_controller->clipUrl()).absolutePath(), \
i18n("Text File (*.txt)"));
- if (url.isEmpty())
+ if (url.isEmpty()) {
return;
+ }
KSharedConfigPtr config = KSharedConfig::openConfig(url, \
KConfig::SimpleConfig); KConfigGroup analysisConfig(config, "Analysis");
QTreeWidgetItem *current = m_analysisTree->currentItem();
@@@ -1112,10 -1089,9 +1112,10 @@@
void ClipPropertiesController::slotLoadAnalysis()
{
- const QString url = QFileDialog::getOpenFileName(this, i18n("Open Analysis \
Data"), m_controller->clipUrl().adjusted(QUrl::RemoveFilename).path(), i18n("Text \
File (*.txt)")); + const QString url = QFileDialog::getOpenFileName(this, \
i18n("Open Analysis Data"), QFileInfo(m_controller->clipUrl()).absolutePath(), \
i18n("Text File (*.txt)"));
- if (url.isEmpty())
+ if (url.isEmpty()) {
return;
+ }
KSharedConfigPtr config = KSharedConfig::openConfig(url, \
KConfig::SimpleConfig); KConfigGroup transConfig(config, "Analysis");
// read the entries
diff --cc src/monitor/recmonitor.cpp
index 38e50df51,c2712ac23..84cb63a85
--- a/src/monitor/recmonitor.cpp
+++ b/src/monitor/recmonitor.cpp
@@@ -619,18 -586,15 +619,18 @@@ void RecMonitor::slotRecord(
m_recAction->setChecked(true);
QString extension = QStringLiteral("mpg");
if (device_selector->currentIndex() == ScreenBag) {
- extension = KdenliveSettings::grab_extension();
- }
- else if (device_selector->currentIndex() == Video4Linux) {
+ extension = KdenliveSettings::grab_extension();
+ } else if (device_selector->currentIndex() == Video4Linux) {
// TODO: when recording audio only, allow configuration?
- if (!rec_video->isChecked()) extension = QStringLiteral("wav");
- else extension = KdenliveSettings::v4l_extension();
+ if (!rec_video->isChecked()) {
+ extension = QStringLiteral("wav");
+ } else {
+ extension = KdenliveSettings::v4l_extension();
+ }
+ } else if (device_selector->currentIndex() == BlackMagic) {
+ extension = KdenliveSettings::decklink_extension();
}
- QString path = QUrl(m_capturePath).path() + QDir::separator() + \
"capture0000." + extension;
- else if (device_selector->currentIndex() == BlackMagic) extension = \
KdenliveSettings::decklink_extension(); + QString path = \
QUrl(m_capturePath).toLocalFile() + QDir::separator() + "capture0000." + extension; \
int i = 1; while (QFile::exists(path)) {
QString num = QString::number(i).rightJustified(4, '0', false);
@@@ -704,11 -664,9 +704,11 @@@
}
showPreview = m_previewSettings->isChecked();
- if (!rec_video->isChecked()) showPreview = false;
+ if (!rec_video->isChecked()) {
+ showPreview = false;
+ }
- if (m_captureDevice->slotStartCapture(v4lparameters, \
m_captureFile.path(), playlist, showPreview, isXml)) { + if \
(m_captureDevice->slotStartCapture(v4lparameters, m_captureFile.toLocalFile(), \
playlist, showPreview, isXml)) { m_isCapturing = true;
m_recAction->setEnabled(false);
m_stopAction->setEnabled(true);
@@@ -970,9 -924,9 +970,9 @@@ void RecMonitor::manageCapturedFiles(
filters << capturename + '*' + extension;
const QStringList result = dir.entryList(filters, QDir::Files, QDir::Time);
QList<QUrl> capturedFiles;
- foreach(const QString & name, result) {
+ for (const QString &name : result) {
- QUrl url = QUrl(dir.filePath(name));
- if (QFile::exists(url.path())) {
+ QUrl url = QUrl::fromLocalFile(dir.absoluteFilePath(name));
+ if (QFile::exists(url.toLocalFile())) {
KFileItem file(url);
file.setDelayedMimeTypes(true);
if (file.time(KFileItem::ModificationTime) > m_captureTime) {
diff --cc src/project/clipstabilize.cpp
index 1f4b379fa,06c06fd08..7ddb1a779
--- a/src/project/clipstabilize.cpp
+++ b/src/project/clipstabilize.cpp
@@@ -221,23 -224,18 +221,23 @@@ void ClipStabilize::fillParameters(QStr
void ClipStabilize::slotValidate()
{
if (m_urls.count() == 1) {
- if (QFile::exists(dest_url->url().path())) {
- if (KMessageBox::questionYesNo(this, i18n("File %1 already exists.\nDo \
you want to overwrite it?", dest_url->url().path())) == KMessageBox::No) { + \
if (QFile::exists(dest_url->url().toLocalFile())) {
- if (KMessageBox::questionYesNo(this, i18n("File %1 already exists.\nDo \
you want to overwrite it?", dest_url->url().toLocalFile() )) == KMessageBox::No) \
return; ++ if (KMessageBox::questionYesNo(this, i18n("File %1 already \
exists.\nDo you want to overwrite it?", dest_url->url().toLocalFile())) == \
KMessageBox::No) { + return;
+ }
}
- }
- else {
+ } else {
QDir folder(dest_url->url().toLocalFile());
QStringList existingFiles;
- foreach(const QString &path, m_urls) {
- if (folder.exists(path + ".mlt")) \
existingFiles.append(folder.absoluteFilePath(path + ".mlt")); + foreach \
(const QString &path, m_urls) { + if (folder.exists(path + ".mlt")) {
+ existingFiles.append(folder.absoluteFilePath(path + ".mlt"));
+ }
}
if (!existingFiles.isEmpty()) {
- if (KMessageBox::warningContinueCancelList(this, i18n("The stabilize \
job will overwrite the following files:"), existingFiles) == KMessageBox::Cancel) \
return; + if (KMessageBox::warningContinueCancelList(this, i18n("The \
stabilize job will overwrite the following files:"), existingFiles) == \
KMessageBox::Cancel) { + return;
+ }
}
}
accept();
diff --cc src/project/cliptranscode.cpp
index c42127e47,aae4c3929..1f7d0e26f
--- a/src/project/cliptranscode.cpp
+++ b/src/project/cliptranscode.cpp
@@@ -134,9 -131,9 +134,9 @@@ void ClipTranscode::slotStartTransCode(
if (!m_urls.isEmpty() && urls_list->count() > 0) {
// We are processing multiple clips
source_url->setUrl(QUrl::fromLocalFile(m_urls.takeFirst()));
- destination = dest_url->url().path() + QDir::separator() + \
source_url->url().fileName();
- QList<QListWidgetItem *> matching = \
urls_list->findItems(source_url->url().path(), Qt::MatchExactly); + \
destination = QDir(dest_url->url().toLocalFile()).absoluteFilePath(source_url->url().fileName());
+ QList<QListWidgetItem *> matching = \
urls_list->findItems(source_url->url().toLocalFile(), \
Qt::MatchExactly);
- if (matching.count() > 0) {
+ if (!matching.isEmpty()) {
matching.at(0)->setFlags(Qt::ItemIsSelectable);
urls_list->setCurrentItem(matching.at(0));
}
@@@ -236,15 -230,10 +236,15 @@@ void ClipTranscode::slotTranscodeFinish
if (urls_list->count() > 0) {
QString params = ffmpeg_params->toPlainText().simplified();
QString extension = params.section(QStringLiteral("%1"), 1, \
1).section(' ', 0, 0);
- url = QUrl::fromLocalFile(dest_url->url().path() + \
QDir::separator() + source_url->url().fileName() + extension); + url \
= QUrl::fromLocalFile(dest_url->url().toLocalFile() + QDir::separator() + \
source_url->url().fileName() + extension);
- } else url = dest_url->url();
- if (m_automaticMode) emit transcodedClip(source_url->url(), url);
- else emit addClip(url, m_folderInfo);
+ } else {
+ url = dest_url->url();
+ }
+ if (m_automaticMode) {
+ emit transcodedClip(source_url->url(), url);
+ } else {
+ emit addClip(url, m_folderInfo);
+ }
}
if (urls_list->count() > 0 && m_urls.count() > 0) {
m_transcodeProcess.close();
diff --cc src/project/dialogs/archivewidget.cpp
index d38070aca,c443f22f7..99fb3ff1f
--- a/src/project/dialogs/archivewidget.cpp
+++ b/src/project/dialogs/archivewidget.cpp
@@@ -115,32 -117,28 +115,34 @@@ ArchiveWidget::ArchiveWidget(const QStr
ClipType t = clip->clipType();
QString id = clip->clipId();
if (t == SlideShow) {
- QUrl slideUrl = clip->clipUrl();
//TODO: Slideshow files
- slideUrls.insert(id, slideUrl.toLocalFile());
- } else if (t == Image) {
- imageUrls.insert(id, clip->clipUrl().toLocalFile());
- } else if (t == QText) {
+ slideUrls.insert(id, clip->clipUrl());
+ }
- else if (t == Image) imageUrls.insert(id, clip->clipUrl());
- else if (t == QText) allFonts << clip->property(QStringLiteral("family"));
++ else if (t == Image) {
++ imageUrls.insert(id, clip->clipUrl());
++ }
++ else if (t == QText) {
+ allFonts << clip->property(QStringLiteral("family"));
- } else if (t == Text) {
++ }
+ else if (t == Text) {
QStringList imagefiles = \
TitleWidget::extractImageList(clip->property(QStringLiteral("xmldata")));
QStringList fonts = \
TitleWidget::extractFontList(clip->property(QStringLiteral("xmldata"))); \
extraImageUrls << imagefiles; allFonts << fonts;
} else if (t == Playlist) {
- playlistUrls.insert(id, clip->clipUrl().toLocalFile());
- QStringList files = \
ProjectSettings::extractPlaylistUrls(clip->clipUrl().toLocalFile()); + \
playlistUrls.insert(id, clip->clipUrl()); + QStringList files = \
ProjectSettings::extractPlaylistUrls(clip->clipUrl()); otherUrls << files;
- }
- else if (!clip->clipUrl().isEmpty()) {
- if (t == Audio) audioUrls.insert(id, clip->clipUrl());
- else {
+ } else if (!clip->clipUrl().isEmpty()) {
+ if (t == Audio) {
- audioUrls.insert(id, clip->clipUrl().toLocalFile());
++ audioUrls.insert(id, clip->clipUrl());
+ } else {
- videoUrls.insert(id, clip->clipUrl().toLocalFile());
+ videoUrls.insert(id, clip->clipUrl());
// Check if we have a proxy
QString proxy = clip->property(QStringLiteral("kdenlive:proxy"));
- if (!proxy.isEmpty() && proxy != QLatin1String("-") && \
QFile::exists(proxy)) proxyUrls.insert(id, proxy); + if \
(!proxy.isEmpty() && proxy != QLatin1String("-") && QFile::exists(proxy)) { + \
proxyUrls.insert(id, proxy); + }
}
}
}
diff --cc src/project/dialogs/projectsettings.cpp
index 151f359ac,e3d7347b5..42073eba9
--- a/src/project/dialogs/projectsettings.cpp
+++ b/src/project/dialogs/projectsettings.cpp
@@@ -362,8 -364,8 +362,8 @@@ void ProjectSettings::slotUpdateFiles(b
}
allFonts << fonts;
} else if (clip->clipType() == Playlist) {
- QStringList files = extractPlaylistUrls(clip->clipUrl().toLocalFile());
+ QStringList files = extractPlaylistUrls(clip->clipUrl());
- foreach(const QString & file, files) {
+ foreach (const QString &file, files) {
count++;
new QTreeWidgetItem(others, QStringList() << file);
}
@@@ -528,10 -526,8 +528,10 @@@ QStringList ProjectSettings::extractPla
}
if (url.section('.', 0, -2).endsWith(QLatin1String("/.all"))) {
// slideshow clip, extract image urls
- urls << extractSlideshowUrls(QUrl(url));
+ urls << extractSlideshowUrls(url);
- } else urls << url;
+ } else {
+ urls << url;
+ }
if (url.endsWith(QLatin1String(".mlt")) || \
url.endsWith(QLatin1String(".kdenlive"))) {
//TODO: Do something to avoid infinite loops if 2 files \
reference themselves... urls << extractPlaylistUrls(url);
@@@ -556,14 -552,15 +556,14 @@@
return urls;
}
-
//static
- QStringList ProjectSettings::extractSlideshowUrls(const QUrl &url)
+ QStringList ProjectSettings::extractSlideshowUrls(const QString &url)
{
QStringList urls;
- QString path = url.adjusted(QUrl::RemoveFilename).toLocalFile();
- QString ext = url.toLocalFile().section('.', -1);
+ QString path = QFileInfo(url).absolutePath();
+ QString ext = url.section('.', -1);
QDir dir(path);
- if (url.toLocalFile().contains(QStringLiteral(".all."))) {
+ if (url.contains(QStringLiteral(".all."))) {
// this is a mime slideshow, like *.jpeg
QStringList filters;
filters << "*." + ext;
@@@ -579,12 -576,10 +579,12 @@@
QRegExp rx(regexp);
int count = 0;
QStringList result = dir.entryList(QDir::Files);
- foreach(const QString & path, result) {
- if (rx.exactMatch(path)) count++;
+ foreach (const QString &path, result) {
+ if (rx.exactMatch(path)) {
+ count++;
+ }
}
- urls.append(url.toLocalFile() + " (" + i18np("1 image found", "%1 images \
found", count) + ')'); + urls.append(url + " (" + i18np("1 image found", "%1 \
images found", count) + ')'); }
return urls;
}
diff --cc src/project/dialogs/projectsettings.h
index 15019938c,374f3761f..d5eb0fb1c
--- a/src/project/dialogs/projectsettings.h
+++ b/src/project/dialogs/projectsettings.h
@@@ -46,9 -47,9 +46,9 @@@ public
int proxyImageMinSize() const;
QString proxyParams() const;
QString proxyExtension() const;
- const QMap <QString, QString> metadata() const;
+ const QMap<QString, QString> metadata() const;
static QStringList extractPlaylistUrls(const QString &path);
- static QStringList extractSlideshowUrls(const QUrl &url);
+ static QStringList extractSlideshowUrls(const QString &url);
const QString selectedPreview() const;
const QString storageFolder() const;
diff --cc src/project/jobs/cutclipjob.cpp
index 340e17d71,3bbbe18df..68c2984a0
--- a/src/project/jobs/cutclipjob.cpp
+++ b/src/project/jobs/cutclipjob.cpp
@@@ -273,15 -250,13 +273,15 @@@ QList<ProjectClip *> CutClipJob::filter
return result;
}
-// static
+// static
-QHash <ProjectClip *, AbstractClipJob *> CutClipJob::prepareCutClipJob(double fps, \
double originalFps, ProjectClip *clip) +QHash<ProjectClip *, AbstractClipJob *> \
CutClipJob::prepareCutClipJob(double fps, double originalFps, ProjectClip *clip) {
- QHash <ProjectClip *, AbstractClipJob *> jobs;
- if (!clip) return jobs;
+ QHash<ProjectClip *, AbstractClipJob *> jobs;
+ if (!clip) {
+ return jobs;
+ }
- QString source = clip->url().toLocalFile();
+ QString source = clip->url();
QPoint zone = clip->zone();
QString ext = source.section('.', -1);
QString dest = source.section('.', 0, -2) + '_' + QString::number(zone.x()) + \
'.' + ext; @@@ -367,10 -334,9 +367,10 @@@ QHash<ProjectClip *, AbstractClipJob *
QStringList existingFiles;
QStringList sources;
QStringList destinations;
+ destinations.reserve(clips.count());
+ sources.reserve(clips.count());
for (int i = 0; i < clips.count(); i++) {
- QString source = clips.at(i)->url().toLocalFile();
+ QString source = clips.at(i)->url();
sources << source;
QString newFile = params.section(' ', -1).replace(QLatin1String("%1"), \
source); destinations << newFile;
@@@ -416,9 -379,8 +416,9 @@@
QString dest;
if (clips.count() > 1) {
dest = destinations.at(i);
+ } else {
- dest = ui.file_url->url().path();
++ dest = ui.file_url->url().toLocalFile();
}
- else dest = ui.file_url->url().toLocalFile();
QStringList jobParams;
jobParams << QString::number((int) AbstractClipJob::TRANSCODEJOB);
jobParams << dest << src << QString() << QString();
@@@ -439,9 -401,9 +439,9 @@@ QHash<ProjectClip *, AbstractClipJob *
// Might be useful some day
Q_UNUSED(parameters);
- QHash <ProjectClip *, AbstractClipJob *> jobs;
+ QHash<ProjectClip *, AbstractClipJob *> jobs;
foreach (ProjectClip *clip, clips) {
- QString source = clip->url().toLocalFile();
+ QString source = clip->url();
QStringList jobParams;
int duration = clip->duration().frames(fps) * clip->getOriginalFps() / fps;
jobParams << QString::number((int) AbstractClipJob::ANALYSECLIPJOB) << \
QString() << source << QString::number(duration);
diff --cc src/project/jobs/filterjob.cpp
index e53d41502,9f04bcc88..fbe349d15
--- a/src/project/jobs/filterjob.cpp
+++ b/src/project/jobs/filterjob.cpp
@@@ -57,13 -58,12 +57,13 @@@ QList<ProjectClip *> FilterJob::filterC
return result;
}
-QHash <ProjectClip *, AbstractClipJob *> FilterJob::prepareJob(QList <ProjectClip*> \
clips, QStringList parameters) +QHash<ProjectClip *, AbstractClipJob *> \
FilterJob::prepareJob(const QList<ProjectClip *> &clips, const QStringList \
¶meters) {
- QHash <ProjectClip *, AbstractClipJob *> jobs;
+ QHash<ProjectClip *, AbstractClipJob *> jobs;
QStringList sources;
+ sources.reserve(clips.count());
for (int i = 0; i < clips.count(); i++) {
- sources << clips.at(i)->url().toLocalFile();
+ sources << clips.at(i)->url();
}
QString filterName = parameters.first();
if (filterName == QLatin1String("timewarp")) {
@@@ -80,32 -80,30 +80,32 @@@
QPointer<ClipSpeed> d = new ClipSpeed(clips.count() == 1 ? \
QUrl::fromLocalFile(sources.first() + QStringLiteral(".mlt")) : \
QUrl::fromLocalFile(sources.first()).adjusted(QUrl::RemoveFilename), \
multipleSelection, QApplication::activeWindow()); if (d->exec() == \
QDialog::Accepted) { QLocale locale;
- QString speedString = \
QString("timewarp:%1:").arg(locale.toString(d->speed()/100)); + QString \
speedString = QStringLiteral("timewarp:%1:").arg(locale.toString(d->speed() / 100)); \
QDir destFolder; if (multipleSelection) {
- destFolder = QDir(d->selectedUrl().path());
+ destFolder = QDir(d->selectedUrl().toLocalFile());
}
- for (int i = 0; i < clips.count(); i++) {
- QString prodstring = speedString + sources.at(i);
- producerParams.insert(QStringLiteral("producer"), prodstring);
- QString destination;
- if (multipleSelection) {
- destination = \
destFolder.absoluteFilePath(QUrl::fromLocalFile(sources.at(i)).fileName() + \
QStringLiteral(".mlt"));
- } else {
- destination = d->selectedUrl().toLocalFile();
- }
- if (QFile::exists(destination)) {
- if (KMessageBox::questionYesNo(QApplication::activeWindow(), \
i18n("File %1 already exists.\nDo you want to overwrite it?", destination)) != \
KMessageBox::Yes) continue; + for (int i = 0; i < clips.count(); i++) {
+ QString prodstring = speedString + sources.at(i);
+ producerParams.insert(QStringLiteral("producer"), prodstring);
+ QString destination;
+ if (multipleSelection) {
+ destination = \
destFolder.absoluteFilePath(QUrl::fromLocalFile(sources.at(i)).fileName() + \
QStringLiteral(".mlt")); + } else {
- destination = d->selectedUrl().path();
++ destination = d->selectedUrl().toLocalFile();
+ }
+ if (QFile::exists(destination)) {
+ if (KMessageBox::questionYesNo(QApplication::activeWindow(), \
i18n("File %1 already exists.\nDo you want to overwrite it?", destination)) != \
KMessageBox::Yes) { + continue;
+ }
+ }
+ consumerParams.insert(QStringLiteral("consumer"), "xml:" + \
destination); + ProjectClip *clip = clips.at(i);
+ MeltJob *job = new MeltJob(clip->clipType(), clip->clipId(), \
producerParams, filterParams, consumerParams, extraParams); + \
job->description = i18n("Reverse clip"); + \
job->setAddClipToProject(1); + jobs.insert(clip, job);
}
- consumerParams.insert(QStringLiteral("consumer"), "xml:" + \
destination);
- ProjectClip *clip = clips.at(i);
- MeltJob *job = new MeltJob(clip->clipType(), clip->clipId(), \
producerParams, filterParams, consumerParams, extraParams);
- job->description = i18n("Reverse clip");
- job->setAddClipToProject(1);
- jobs.insert(clip, job);
- }
}
delete d;
return jobs;
diff --cc src/project/projectmanager.cpp
index 48f3914a9,63c0731d1..ff6f59afb
--- a/src/project/projectmanager.cpp
+++ b/src/project/projectmanager.cpp
@@@ -202,7 -206,7 +202,7 @@@ void ProjectManager::newFile(bool showP
// Set default target tracks to upper audio / lower video tracks
m_trackView->audioTarget = projectTracks.y() > 0 ? projectTracks.y() : -1;
m_trackView->videoTarget = projectTracks.x() > 0 ? projectTracks.y() + 1 : -1;
- connect(m_trackView->projectView(), SIGNAL(importPlaylistClips(ItemInfo, QUrl, \
QUndoCommand *)), pCore->bin(), SLOT(slotExpandUrl(ItemInfo, QUrl, QUndoCommand *)), \
Qt::DirectConnection);
- connect(m_trackView->projectView(), SIGNAL(importPlaylistClips(ItemInfo, const \
QString&, QUndoCommand*)), pCore->bin(), SLOT(slotExpandUrl(ItemInfo, const QString&, \
QUndoCommand*)), Qt::DirectConnection); ++ connect(m_trackView->projectView(), \
SIGNAL(importPlaylistClips(ItemInfo, QString, QUndoCommand *)), pCore->bin(), \
SLOT(slotExpandUrl(ItemInfo, QString, QUndoCommand *)), Qt::DirectConnection);
m_trackView->loadTimeline();
pCore->window()->m_timelineArea->addTab(m_trackView, \
QIcon::fromTheme(QStringLiteral("kdenlive")), doc->description()); @@@ -563,7 -567,7 \
+563,7 @@@ void ProjectManager::doOpenFile(const Q
m_trackView->videoTarget = \
doc->getDocumentProperty(QStringLiteral("videotargettrack"), \
QStringLiteral("-1")).toInt(); m_trackView->loadTimeline();
m_trackView->loadGuides(pCore->binController()->takeGuidesData());
- connect(m_trackView->projectView(), SIGNAL(importPlaylistClips(ItemInfo, QUrl, \
QUndoCommand *)), pCore->bin(), SLOT(slotExpandUrl(ItemInfo, QUrl, QUndoCommand *)), \
Qt::DirectConnection);
- connect(m_trackView->projectView(), SIGNAL(importPlaylistClips(ItemInfo, const \
QString&, QUndoCommand*)), pCore->bin(), SLOT(slotExpandUrl(ItemInfo, const QString&, \
QUndoCommand*)), Qt::DirectConnection); ++ connect(m_trackView->projectView(), \
SIGNAL(importPlaylistClips(ItemInfo, QString, QUndoCommand *)), pCore->bin(), \
SLOT(slotExpandUrl(ItemInfo, QString, QUndoCommand *)), Qt::DirectConnection); \
pCore->window()->connectDocument();
bool disabled = \
m_project->getDocumentProperty(QStringLiteral("disabletimelineeffects")) == \
QLatin1String("1");
QAction *disableEffects = \
pCore->window()->actionCollection()->action(QStringLiteral("disable_timeline_effects"));
diff --cc src/stopmotion/stopmotion.cpp
index 760e83c9e,bb83dece9..a2d4913da
--- a/src/stopmotion/stopmotion.cpp
+++ b/src/stopmotion/stopmotion.cpp
@@@ -730,13 -713,12 +730,13 @@@ void StopmotionWidget::slotCreateThumbs
QString StopmotionWidget::getPathForFrame(int ix, QString seqName)
{
- if (seqName.isEmpty())
+ if (seqName.isEmpty()) {
seqName = m_sequenceName;
+ }
- return m_projectFolder.path() + QDir::separator() + seqName + QLatin1Char('_') \
+ QString::number(ix).rightJustified(4, '0', false) + QStringLiteral(".png"); + \
return m_projectFolder.toLocalFile() + QDir::separator() + seqName + QLatin1Char('_') \
+ QString::number(ix).rightJustified(4, '0', false) + QStringLiteral(".png"); }
-void StopmotionWidget::slotShowFrame(const QString& path)
+void StopmotionWidget::slotShowFrame(const QString &path)
{
//slotLive(false);
QImage img(path);
diff --cc src/timeline/customtrackview.cpp
index a35085df8,3fd84c09d..c5c7d2c5f
--- a/src/timeline/customtrackview.cpp
+++ b/src/timeline/customtrackview.cpp
@@@ -7348,13 -6893,13 +7348,13 @@@ void CustomTrackView::setAudioAlignRefe
m_audioAlignmentReference = clip;
Mlt::Producer *prod = \
m_timeline->track(clip->track())->clipProducer(m_document->renderer()->getBinProducer(clip->getBinId()), \
clip->clipState()); if (!prod) {
- qWarning() << "couldn't load producer for clip " << \
clip->getBinId() << " on track " << clip->track(); + \
qCWarning(KDENLIVE_LOG) << "couldn't load producer for clip " << clip->getBinId() << \
" on track " << clip->track(); return;
}
- AudioEnvelope *envelope = new \
AudioEnvelope(clip->binClip()->url().path(), prod); + AudioEnvelope \
*envelope = new AudioEnvelope(clip->binClip()->url(), prod); m_audioCorrelator = new \
AudioCorrelation(envelope);
- connect(m_audioCorrelator, SIGNAL(gotAudioAlignData(int,int,int)), \
this, SLOT(slotAlignClip(int,int,int)));
- connect(m_audioCorrelator, SIGNAL(displayMessage(QString,MessageType)), \
this, SIGNAL(displayMessage(QString,MessageType))); + \
connect(m_audioCorrelator, &AudioCorrelation::gotAudioAlignData, this, \
&CustomTrackView::slotAlignClip); + connect(m_audioCorrelator, \
&AudioCorrelation::displayMessage, this, \
&CustomTrackView::displayMessage);
emit displayMessage(i18n("Processing audio, please wait."), \
ProcessingJobMessage); }
return;
@@@ -7392,10 -6937,10 +7392,10 @@@ void CustomTrackView::alignAudio(
ItemInfo info = clip->info();
Mlt::Producer *prod = \
m_timeline->track(clip->track())->clipProducer(m_document->renderer()->getBinProducer(clip->getBinId()), \
clip->clipState()); if (!prod) {
- qWarning() << "couldn't load producer for clip " << \
clip->getBinId() << " on track " << clip->track(); + \
qCWarning(KDENLIVE_LOG) << "couldn't load producer for clip " << clip->getBinId() << \
" on track " << clip->track(); return;
}
- AudioEnvelope *envelope = new \
AudioEnvelope(clip->binClip()->url().path(), prod, + AudioEnvelope \
*envelope = new AudioEnvelope(clip->binClip()->url(), prod, \
info.cropStart.frames(m_document->fps()), \
info.cropDuration.frames(m_document->fps()), clip->track(),
@@@ -8044,9 -7555,7 +8044,9 @@@ QStringList CustomTrackView::extractTra
transitionXml = transitionitem->toXML();
// luma files in transitions are in "resource" property
QString luma = EffectsList::parameter(transitionXml, \
QStringLiteral("resource"));
- if (!luma.isEmpty()) urls << QUrl::fromLocalFile(luma).toLocalFile();
+ if (!luma.isEmpty()) {
- urls << QUrl(luma).path();
++ urls << QUrl::fromLocalFile(luma).toLocalFile();
+ }
}
}
urls.removeDuplicates();
diff --cc src/timeline/customtrackview.h
index 749248caf,d7b9f5f6f..18d63214c
--- a/src/timeline/customtrackview.h
+++ b/src/timeline/customtrackview.h
@@@ -612,7 -614,7 +612,7 @@@ signals
/** @brief Guides were changed, inform render widget*/
void guidesUpdated();
/** @brief Prepare importing and expand of a playlist clip */
- void importPlaylistClips(const ItemInfo &info, const QUrl &url, QUndoCommand \
*expandCommand);
- void importPlaylistClips(ItemInfo info, const QString &url, QUndoCommand \
*expandCommand); ++ void importPlaylistClips(const ItemInfo &info, const QString \
&url, QUndoCommand *expandCommand); /** @brief Show a specific frame in clip monitor \
*/ void showClipFrame(const QString &id, int frame);
/** @brief Select active keyframe in effect stack */
diff --cc src/timeline/timeline.cpp
index 33254424e,e17154ed3..445b57839
--- a/src/timeline/timeline.cpp
+++ b/src/timeline/timeline.cpp
@@@ -563,12 -529,10 +563,12 @@@ void Timeline::parseDocument(const QDom
m_doc->saveCustomEffects(effects);
}
- if (!m_documentErrors.isNull()) KMessageBox::sorry(this, m_documentErrors);
+ if (!m_documentErrors.isNull()) {
+ KMessageBox::sorry(this, m_documentErrors);
+ }
if (mlt.hasAttribute(QStringLiteral("upgraded")) || \
mlt.hasAttribute(QStringLiteral("modified"))) { // Our document was upgraded, create \
a backup copy just in case
- QString baseFile = m_doc->url().path().section(QStringLiteral(".kdenlive"), \
0, 0); + QString baseFile = \
m_doc->url().toLocalFile().section(QStringLiteral(".kdenlive"), 0, 0); int ct = 0;
QString backupFile = baseFile + "_backup" + QString::number(ct) + \
".kdenlive"; while (QFile::exists(backupFile)) {
diff --cc src/titler/titlewidget.cpp
index 669f48ad0,ba8b15e95..279b9a0ff
--- a/src/titler/titlewidget.cpp
+++ b/src/titler/titlewidget.cpp
@@@ -750,13 -744,11 +750,13 @@@ void TitleWidget::slotImageTool(
QFileDialog dialog(this, i18n("Add Image"), clipFolder);
dialog.setAcceptMode(QFileDialog::AcceptOpen);
dialog.setNameFilters(mimeTypeFilters);
- if (dialog.exec() != QDialog::Accepted) return;
+ if (dialog.exec() != QDialog::Accepted) {
+ return;
+ }
QUrl url = QUrl::fromLocalFile(dialog.selectedFiles().at(0));
if (url.isValid()) {
- KRecentDirs::add(QStringLiteral(":KdenliveImageFolder"), \
url.adjusted(QUrl::RemoveFilename).path());
- if (url.path().endsWith(QLatin1String(".svg"))) {
+ KRecentDirs::add(QStringLiteral(":KdenliveImageFolder"), \
url.adjusted(QUrl::RemoveFilename).toLocalFile()); + if \
(url.toLocalFile().endsWith(QLatin1String(".svg"))) { MySvgItem *svg = new \
MySvgItem(url.toLocalFile());
svg->setFlags(QGraphicsItem::ItemIsMovable | \
QGraphicsItem::ItemIsSelectable | QGraphicsItem::ItemSendsGeometryChanges); \
svg->setZValue(m_count++); @@@ -1934,9 -1889,8 +1934,9 @@@ void \
TitleWidget::saveTitle(QUrl url delete fs;
}
if (url.isValid()) {
- if (m_titledocument.saveDocument(url, m_startViewport, m_endViewport, \
m_tc.getFrameCount(title_duration->text()), embed_image) == false) + if \
(m_titledocument.saveDocument(url, m_startViewport, m_endViewport, \
m_tc.getFrameCount(title_duration->text()), embed_image) == false) {
- KMessageBox::error(this, i18n("Cannot write to file %1", url.path()));
+ KMessageBox::error(this, i18n("Cannot write to file %1", \
url.toLocalFile())); + }
}
}
diff --cc src/utils/resourcewidget.cpp
index d9935bd3f,e001748a6..7ee8e29ba
--- a/src/utils/resourcewidget.cpp
+++ b/src/utils/resourcewidget.cpp
@@@ -490,18 -494,21 +490,18 @@@ void ResourceWidget::slotGotFile(KJob *
{
QString errTxt;
button_import->setEnabled(true);
- if (job->error() )
- {
+ if (job->error()) {
- errTxt =job->errorString();
+ errTxt = job->errorString();
KMessageBox::sorry(this, errTxt, i18n("Error Loading Data"));
- qDebug()<<"//file import job errored: "<<errTxt;
+ qCDebug(KDENLIVE_LOG) << "//file import job errored: " << errTxt;
return;
- }
- else
- {
- KIO::FileCopyJob* copyJob = static_cast<KIO::FileCopyJob*>( job );
+ } else {
+ KIO::FileCopyJob *copyJob = static_cast<KIO::FileCopyJob *>(job);
const QUrl filePath = copyJob->destUrl();
- KMessageBox::information(this, i18n("Resource saved to ") + \
filePath.path(), i18n("Data Imported"));
- KMessageBox::information(this,i18n( "Resource saved to ") + \
filePath.toLocalFile(), i18n("Data Imported")); ++ \
KMessageBox::information(this, i18n("Resource saved to ") + filePath.toLocalFile(), \
i18n("Data Imported")); emit addClip(filePath, QStringList());
}
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic