m_keyframeFactor = 100.0 / (max - min);
m_keyframeDefault = e.attribute("default").toDouble();
// parse keyframes
- QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
- foreach(QString str, keyframes) {
+ const QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
+ foreach(const QString str, keyframes) {
int pos = str.section(":", 0, 0).toInt();
double val = str.section(":", 1, 1).toDouble();
m_keyframes[pos] = val;
m_keyframeFactor = 100.0 / (max - min);
m_keyframeDefault = e.attribute("default").toDouble();
// parse keyframes
- QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
- foreach(QString str, keyframes) {
+ const QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
+ foreach(const QString str, keyframes) {
int pos = str.section(":", 0, 0).toInt();
double val = str.section(":", 1, 1).toDouble();
m_keyframes[pos] = val;
QDomElement e = params.item(i).toElement();
if (e.attribute("type") == "keyframe") {
// parse keyframes and adjust values
- QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
+ const QStringList keyframes = e.attribute("keyframes").split(";", QString::SkipEmptyParts);
QMap <int, double> kfr;
- foreach(QString str, keyframes) {
+ foreach(const QString str, keyframes) {
int pos = str.section(":", 0, 0).toInt();
double val = str.section(":", 1, 1).toDouble();
if (pos == previous) kfr[current] = val;
profilePath += "/lumas/PAL/";
QDir dir(profilePath);
- QStringList result = dir.entryList(QDir::Files);
+ QStringList filter;
+ filter << "*.pgm";
+ const QStringList result = dir.entryList(filter, QDir::Files);
QStringList imagefiles;
QStringList imagenamelist;
int current;
- foreach(QString file, result) {
- if (file.endsWith(".pgm")) {
+ foreach(const QString file, result) {
m_view.luma_file->addItem(KIcon(profilePath + file), file, profilePath + file);
if (!lumaFile.isEmpty() && lumaFile == QString(profilePath + file))
current = m_view.luma_file->count() - 1;
- }
}
if (!lumaFile.isEmpty()) {
QString path = KStandardDirs::locateLocal("data", "kdenlive/effects/", true);
QDir directory = QDir(path);
- QStringList fileList = directory.entryList(QDir::Files);
+ QStringList filter;
+ filter << "*.xml";
+ const QStringList fileList = directory.entryList(filter, QDir::Files);
QString itemName;
- foreach(QString filename, fileList) {
+ foreach(const QString filename, fileList) {
itemName = KUrl(path + filename).path();
- if (itemName.endsWith(".xml")) {
- QDomDocument doc;
- QFile file(itemName);
- doc.setContent(&file, false);
- file.close();
- QDomNodeList effects = doc.elementsByTagName("effect");
- if (effects.count() != 1) {
- kDebug() << "More than one effect in file " << itemName << ", NOT SUPPORTED YET";
- } else {
- QDomElement e = effects.item(0).toElement();
- if (e.attribute("id") == effectId) {
- QFile::remove(itemName);
- break;
- }
+ QDomDocument doc;
+ QFile file(itemName);
+ doc.setContent(&file, false);
+ file.close();
+ QDomNodeList effects = doc.elementsByTagName("effect");
+ if (effects.count() != 1) {
+ kDebug() << "More than one effect in file " << itemName << ", NOT SUPPORTED YET";
+ } else {
+ QDomElement e = effects.item(0).toElement();
+ if (e.attribute("id") == effectId) {
+ QFile::remove(itemName);
+ break;
}
}
}
if (clickItem) {
QDrag *drag = new QDrag(this);
QMimeData *mimeData = new QMimeData;
- QList <QListWidgetItem *> list;
- list = selectedItems();
+ const QList <QListWidgetItem *>list = selectedItems();
QDomDocument doc;
foreach(QListWidgetItem *item, list) {
doc.appendChild(doc.importNode(itemEffect(item), true));
QPointF p = e->scenePos();
p += QPoint(-2, -2);
resizeMode = NoResize;
- QList <QGraphicsItem *> list = items(QRectF(p , QSizeF(4, 4)).toRect());
+ const QList <QGraphicsItem *> list = items(QRectF(p , QSizeF(4, 4)).toRect());
QGraphicsItem *item = NULL;
bool hasSelected = false;
}
void GraphicsSceneRectMove::setCursor(QCursor c) {
- QList<QGraphicsView*> l = views();
+ const QList<QGraphicsView*> l = views();
foreach(QGraphicsView* v, l) {
v->setCursor(c);
}
QDir directory;
for (more = direc.begin() ; more != direc.end() ; ++more) {
directory = QDir(*more);
- fileList = directory.entryList(QDir::Files);
+ QStringList filter;
+ filter << "*.xml";
+ fileList = directory.entryList(filter, QDir::Files);
for (it = fileList.begin() ; it != fileList.end() ; ++it) {
itemName = KUrl(*more + *it).path();
- if (itemName.endsWith(".xml"))
- parseEffectFile(&MainWindow::customEffects, &MainWindow::audioEffects, &MainWindow::videoEffects, itemName, filtersList, producersList);
+ parseEffectFile(&MainWindow::customEffects, &MainWindow::audioEffects, &MainWindow::videoEffects, itemName, filtersList, producersList);
// kDebug()<<"// FOUND EFFECT FILE: "<<itemName<<endl;
}
}
MainWindow::customEffects.clear();
QString path = KStandardDirs::locateLocal("data", "kdenlive/effects/", true);
QDir directory = QDir(path);
- QStringList fileList = directory.entryList(QDir::Files);
+ QStringList filter;
+ filter << "*.xml";
+ const QStringList fileList = directory.entryList(filter, QDir::Files);
QString itemName;
- foreach(QString filename, fileList) {
+ foreach(const QString filename, fileList) {
itemName = KUrl(path + filename).path();
- if (itemName.endsWith(".xml")) {
- QDomDocument doc;
- QFile file(itemName);
- doc.setContent(&file, false);
- file.close();
- QDomNodeList effects = doc.elementsByTagName("effect");
- if (effects.count() != 1) {
- kDebug() << "More than one effect in file " << itemName << ", NOT SUPPORTED YET";
- } else {
- QDomElement e = effects.item(0).toElement();
- MainWindow::customEffects.append(e);
- }
+ QDomDocument doc;
+ QFile file(itemName);
+ doc.setContent(&file, false);
+ file.close();
+ QDomNodeList effects = doc.elementsByTagName("effect");
+ if (effects.count() != 1) {
+ kDebug() << "More than one effect in file " << itemName << ", NOT SUPPORTED YET";
+ } else {
+ QDomElement e = effects.item(0).toElement();
+ MainWindow::customEffects.append(e);
}
}
}
void MainWindow::slotReloadEffects() {
initEffects::parseCustomEffectsFile();
m_customEffectsMenu->clear();
- QStringList effects = customEffects.effectNames();
+ const QStringList effects = customEffects.effectNames();
QAction *action;
foreach(const QString &name, effects) {
action = new QAction(name, this);
connect(m_projectList, SIGNAL(getFileProperties(const QDomElement &, int)), m_clipMonitor->render, SLOT(getFileProperties(const QDomElement &, int)));
connect(m_clipMonitor->render, SIGNAL(replyGetImage(int, int, const QPixmap &, int, int)), m_projectList, SLOT(slotReplyGetImage(int, int, const QPixmap &, int, int)));
connect(m_clipMonitor->render, SIGNAL(replyGetFileProperties(int, Mlt::Producer*, const QMap < QString, QString > &, const QMap < QString, QString > &)), m_projectList, SLOT(slotReplyGetFileProperties(int, Mlt::Producer*, const QMap < QString, QString > &, const QMap < QString, QString > &)));
+
+ connect(m_clipMonitor->render, SIGNAL(removeInvalidClip(int)), m_projectList, SLOT(slotRemoveInvalidClip(int)));
+
connect(m_clipMonitor, SIGNAL(refreshClipThumbnail(int)), m_projectList, SLOT(slotRefreshClipThumbnail(int)));
}
adjustSize();
}
-ManageCapturesDialog::~ManageCapturesDialog() {
-}
+ManageCapturesDialog::~ManageCapturesDialog() {}
void ManageCapturesDialog::slotCheckItemIcon() {
int ct = 0;
}
if (path.isEmpty()) return result;
- KConfig confFile(path);
+ KConfig confFile(path, KConfig::SimpleConfig);
result.path = name;
result.description = confFile.entryMap().value("description");
result.frame_rate_num = confFile.entryMap().value("frame_rate_num").toInt();
// List the Mlt profiles
profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
if (profilesFiles.contains(name)) {
- KConfig confFile(KdenliveSettings::mltpath() + "/" + name);
+ KConfig confFile(KdenliveSettings::mltpath() + "/" + name, KConfig::SimpleConfig);
return confFile.entryMap().value("description");
}
for (int i = 0; i < customProfiles.size(); ++i) {
profilesFiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
if (profilesFiles.contains(name)) {
- KConfig confFile(customProfiles.at(i) + "/" + name);
+ KConfig confFile(customProfiles.at(i) + "/" + name, KConfig::SimpleConfig);
return confFile.entryMap().value("description");
}
}
// List the Mlt profiles
profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profilesFiles.size(); ++i) {
- KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i));
+ KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i), KConfig::SimpleConfig);
QString desc = confFile.entryMap().value("description");
if (!desc.isEmpty()) profilesNames.append(desc);
}
for (int i = 0; i < customProfiles.size(); ++i) {
profilesFiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profilesFiles.size(); ++i) {
- KConfig confFile(customProfiles.at(i) + "/" + profilesFiles.at(i));
+ KConfig confFile(customProfiles.at(i) + "/" + profilesFiles.at(i), KConfig::SimpleConfig);
QString desc = confFile.entryMap().value("description");
if (!desc.isEmpty()) profilesNames.append(desc);
}
profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profilesFiles.size(); ++i) {
if (profilesFiles.at(i) == path) {
- KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i));
+ KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i), KConfig::SimpleConfig);
return confFile.entryMap();
}
}
QStringList profiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profiles.size(); ++i) {
if (profiles.at(i) == path) {
- KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i));
+ KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i), KConfig::SimpleConfig);
return confFile.entryMap();
}
}
// List the Mlt profiles
profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profilesFiles.size(); ++i) {
- KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i));
+ KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i), KConfig::SimpleConfig);
QMap< QString, QString > values = confFile.entryMap();
if (values.value("description") == profileName) {
values.insert("path", profilesFiles.at(i));
for (int i = 0; i < customProfiles.size(); ++i) {
QStringList profiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profiles.size(); ++i) {
- KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i));
+ KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i), KConfig::SimpleConfig);
QMap< QString, QString > values = confFile.entryMap();
if (values.value("description") == profileName) {
values.insert("path", customProfiles.at(i) + "/" + profiles.at(i));
// List the Mlt profiles
profilesFiles = QDir(KdenliveSettings::mltpath()).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profilesFiles.size(); ++i) {
- KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i));
+ KConfig confFile(KdenliveSettings::mltpath() + "/" + profilesFiles.at(i), KConfig::SimpleConfig);
QMap< QString, QString > values = confFile.entryMap();
if (values.value("description") == profileDesc) return profilesFiles.at(i);
}
for (int i = 0; i < customProfiles.size(); ++i) {
QStringList profiles = QDir(customProfiles.at(i)).entryList(profilesFilter, QDir::Files);
for (int i = 0; i < profiles.size(); ++i) {
- KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i));
+ KConfig confFile(customProfiles.at(i) + "/" + profiles.at(i), KConfig::SimpleConfig);
QMap< QString, QString > values = confFile.entryMap();
if (values.value("description") == profileDesc) return customProfiles.at(i) + "/" + profiles.at(i);
}
m_view.button_delete->setEnabled(m_isCustomProfile);
m_view.properties->setEnabled(m_isCustomProfile);
- KConfig confFile(currentProfilePath);
+ KConfig confFile(currentProfilePath, KConfig::SimpleConfig);
QMap< QString, QString > values = confFile.entryMap();
m_view.description->setText(values.value("description"));
m_view.size_w->setValue(values.value("width").toInt());
}
}
foreach(const KUrl file, list) {
- m_doc->slotAddClipFile(file, group, groupId);
+ if (KIO::NetAccess::exists(file, KIO::NetAccess::SourceSide, NULL))
+ m_doc->slotAddClipFile(file, group, groupId);
}
}
+void ProjectList::slotRemoveInvalidClip(int id) {
+ ProjectItem *item = getItemById(id);
+ if (item) {
+ QString path = item->referencedClip()->fileURL().path();
+ if (!path.isEmpty()) KMessageBox::sorry(this, i18n("<qt>Clip <b>%1</b><br>is invalid, will be removed from project.", path));
+
+ }
+ QList <int> ids;
+ ids << id;
+ m_doc->deleteProjectClip(ids);
+}
+
void ProjectList::slotAddColorClip() {
if (!m_commandStack) kDebug() << "!!!!!!!!!!!!!!!! NO CMD STK";
QDialog *dia = new QDialog(this);
void slotUpdateClip(int id);
void slotRefreshClipThumbnail(int clipId);
void slotRefreshClipThumbnail(ProjectItem *item);
-
+ void slotRemoveInvalidClip(int id);
private:
ProjectListView *listView;
else if (item->parent() && ((ProjectItem *) item->parent())->isGroup())
groupName = item->parent()->text(1);
}
- QList <QUrl> list;
- list = event->mimeData()->urls();
+ const QList <QUrl> list = event->mimeData()->urls();
foreach(const QUrl &url, list) {
emit addClip(url, groupName);
}
if (item->isGroup()) {
//emit addClip(event->mimeData->text());
kDebug() << "//////////////// DROPPED RIGHT 1 ";
- QList <QTreeWidgetItem *> list;
- list = selectedItems();
+ const QList <QTreeWidgetItem *> list = selectedItems();
ProjectItem *clone;
int parentId = item->clipId();
foreach(QTreeWidgetItem *it, list) {
if (!item) {
kDebug() << "//////////////// DROPPED ON EMPTY ZONE";
// item dropped in empty zone, move it to top level
- QList <QTreeWidgetItem *> list;
- list = selectedItems();
+ const QList <QTreeWidgetItem *> list = selectedItems();
ProjectItem *clone;
foreach(QTreeWidgetItem *it, list) {
QTreeWidgetItem *parent = it->parent();
QDrag *drag = new QDrag(this);
QMimeData *mimeData = new QMimeData;
QDomDocument doc;
- QList <QTreeWidgetItem *> list;
- list = selectedItems();
+ const QList <QTreeWidgetItem *> list = selectedItems();
QStringList ids;
foreach(const QTreeWidgetItem *item, list) {
// TODO allow dragging of folders
QDir dir(KdenliveSettings::capturefolder());
QStringList filters;
filters << "capture*" + extension;
- QStringList result = dir.entryList(filters, QDir::Files, QDir::Time);
+ const QStringList result = dir.entryList(filters, QDir::Files, QDir::Time);
KUrl::List capturedFiles;
foreach(QString name, result) {
KUrl url = KUrl(dir.filePath(name));
QRegion RegionGrabber::handleMask() const {
// note: not normalized QRects are bad here, since they will not be drawn
QRegion mask;
- foreach(QRect* rect, handles) mask += QRegion(*rect);
+ foreach(const QRect* rect, handles) mask += QRegion(*rect);
return mask;
}
QStringList::Iterator it;
QDir dir(url.directory());
- more = dir.entryList(QDir::Files);
-
- for (it = more.begin() ; it != more.end() ; ++it) {
- if ((*it).endsWith("." + fileType, Qt::CaseInsensitive)) {
- im.load(url.directory() + "/" + *it);
- break;
- }
- }
+ QStringList filter;
+ filter << "*." + fileType;
+ filter << "*." + fileType.toUpper();
+ more = dir.entryList(filter, QDir::Files);
+ im.load(url.directory() + "/" + more.at(0));
} else im.load(url.path());
//pixmap = im.scaled(width, height);
return pixmap;
if (producer->is_blank()) {
kDebug() << " / / / / / / / /ERRROR / / / / // CANNOT LOAD PRODUCER: ";
+ emit removeInvalidClip(clipId);
return;
}
producer->set("id", clipId);
void durationChanged(int);
void rendererPosition(int);
void rendererStopped(int);
-
+ void removeInvalidClip(int);
public slots: // Public slots
/** Start Consumer */
profilePath += "/lumas/PAL/";
QDir dir(profilePath);
- QStringList result = dir.entryList(QDir::Files);
+ QStringList filter;
+ filter << "*.pgm";
+ const QStringList result = dir.entryList(filter, QDir::Files);
QStringList imagefiles;
QStringList imagenamelist;
- foreach(QString file, result) {
- if (file.endsWith(".pgm")) {
- m_view.luma_file->addItem(KIcon(profilePath + file), file, profilePath + file);
- }
+ foreach(const QString file, result) {
+ m_view.luma_file->addItem(KIcon(profilePath + file), file, profilePath + file);
}
adjustSize();
}
dir.setNameFilters(filters);
- QStringList result = dir.entryList(QDir::Files);
+ const QStringList result = dir.entryList(QDir::Files);
m_count = result.count();
if (m_count == 0) m_view.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
else m_view.buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true);