QStringList InvalidDialog::getIds() const
{
QStringList ids;
- for (int i = 0; i < m_clipList->count(); i++) {
+ for (int i = 0; i < m_clipList->count(); ++i) {
ids << m_clipList->item(i)->data(Qt::UserRole).toString();
}
return ids;
connect(m_listView, SIGNAL(itemSelectionChanged()), this, SLOT(slotClipSelected()));
connect(m_listView, SIGNAL(focusMonitor(bool)), this, SIGNAL(raiseClipMonitor(bool)));
connect(m_listView, SIGNAL(pauseMonitor()), this, SIGNAL(pauseMonitor()));
- connect(m_listView, SIGNAL(requestMenu(const QPoint &, QTreeWidgetItem *)), this, SLOT(slotContextMenu(const QPoint &, QTreeWidgetItem *)));
+ connect(m_listView, SIGNAL(requestMenu(QPoint,QTreeWidgetItem*)), this, SLOT(slotContextMenu(QPoint,QTreeWidgetItem*)));
connect(m_listView, SIGNAL(addClip()), this, SIGNAL(pauseMonitor()));
connect(m_listView, SIGNAL(addClip()), this, SLOT(slotAddClip()));
- connect(m_listView, SIGNAL(addClip(const QList <QUrl>, const QString &, const QString &)), this, SLOT(slotAddClip(const QList <QUrl>, const QString &, const QString &)));
- connect(this, SIGNAL(addClip(const QString, const QString &, const QString &)), this, SLOT(slotAddClip(const QString, const QString &, const QString &)));
- connect(m_listView, SIGNAL(addClipCut(const QString &, int, int)), this, SLOT(slotAddClipCut(const QString &, int, int)));
- connect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotItemEdited(QTreeWidgetItem *, int)));
- connect(m_listView, SIGNAL(showProperties(DocClipBase *)), this, SIGNAL(showClipProperties(DocClipBase *)));
+ connect(m_listView, SIGNAL(addClip(QList<QUrl>,QString,QString)), this, SLOT(slotAddClip(QList<QUrl>,QString,QString)));
+ connect(this, SIGNAL(addClip(QString,QString,QString)), this, SLOT(slotAddClip(QString,QString,QString)));
+ connect(m_listView, SIGNAL(addClipCut(QString,int,int)), this, SLOT(slotAddClipCut(QString,int,int)));
+ connect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(slotItemEdited(QTreeWidgetItem*,int)));
+ connect(m_listView, SIGNAL(showProperties(DocClipBase*)), this, SIGNAL(showClipProperties(DocClipBase*)));
- connect(this, SIGNAL(cancelRunningJob(const QString, stringMap )), this, SLOT(slotCancelRunningJob(const QString, stringMap)));
- connect(this, SIGNAL(processLog(const QString, int , int, const QString)), this, SLOT(slotProcessLog(const QString, int , int, const QString)));
+ connect(this, SIGNAL(cancelRunningJob(QString,stringMap)), this, SLOT(slotCancelRunningJob(QString,stringMap)));
+ connect(this, SIGNAL(processLog(QString,int,int,QString)), this, SLOT(slotProcessLog(QString,int,int,QString)));
- connect(this, SIGNAL(updateJobStatus(const QString, int, int, const QString, const QString, const QString)), this, SLOT(slotUpdateJobStatus(const QString, int, int, const QString, const QString, const QString)));
+ connect(this, SIGNAL(updateJobStatus(QString,int,int,QString,QString,QString)), this, SLOT(slotUpdateJobStatus(QString,int,int,QString,QString,QString)));
- connect(this, SIGNAL(gotProxy(const QString)), this, SLOT(slotGotProxyForId(const QString)));
+ connect(this, SIGNAL(gotProxy(QString)), this, SLOT(slotGotProxyForId(QString)));
m_listViewDelegate = new ItemDelegate(m_listView);
m_listView->setItemDelegate(m_listViewDelegate);
ProjectList::~ProjectList()
{
m_abortAllJobs = true;
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
m_jobList.at(i)->setStatus(JOBABORTED);
}
m_closing = true;
void ProjectList::setupMenu(QMenu *addMenu, QAction *defaultAction)
{
QList <QAction *> actions = addMenu->actions();
- for (int i = 0; i < actions.count(); i++) {
+ for (int i = 0; i < actions.count(); ++i) {
if (actions.at(i)->data().toString() == "clip_properties") {
m_editButton->setDefaultAction(actions.at(i));
actions.removeAt(i);
int commonDuration = -1;
bool hasImages = false;;
ProjectItem *item;
- for (int i = 0; i < list.count(); i++) {
+ for (int i = 0; i < list.count(); ++i) {
item = NULL;
if (list.at(i)->type() == PROJECTFOLDERTYPE) {
// Add folder items to the list
}
emit deleteProjectClips(ids, QMap <QString, QString>());
- for (int i = 0; i < urls.count(); i++)
+ for (int i = 0; i < urls.count(); ++i)
KIO::NetAccess::del(KUrl(urls.at(i)), this);
}
if (itemToReLoad) selected.append(itemToReLoad);
}
ProjectItem *item;
- for (int i = 0; i < selected.count(); i++) {
+ for (int i = 0; i < selected.count(); ++i) {
if (selected.at(i)->type() != PROJECTCLIPTYPE) {
if (selected.at(i)->type() == PROJECTFOLDERTYPE) {
for (int j = 0; j < selected.at(i)->childCount(); j++)
QList<QAction *> transcodeActions = m_transcodeAction->actions();
QStringList data;
QString condition;
- for (int i = 0; i < transcodeActions.count(); i++) {
+ for (int i = 0; i < transcodeActions.count(); ++i) {
data = transcodeActions.at(i)->data().toStringList();
if (data.count() > 2) {
condition = data.at(2);
folder->setGroupName(item->text(0));
m_doc->clipManager()->addFolder(folder->clipId(), item->text(0));
const int children = item->childCount();
- for (int i = 0; i < children; i++) {
+ for (int i = 0; i < children; ++i) {
ProjectItem *child = static_cast <ProjectItem *>(item->child(i));
child->setProperty("groupname", item->text(0));
}
QUndoCommand *delCommand = new QUndoCommand();
delCommand->setText(i18n("Delete Clip Zone"));
- for (int i = 0; i < selected.count(); i++) {
+ for (int i = 0; i < selected.count(); ++i) {
if (selected.at(i)->type() == PROJECTSUBCLIPTYPE) {
// subitem
SubProjectItem *sub = static_cast <SubProjectItem *>(selected.at(i));
m_listView->blockSignals(false);
m_doc->clipManager()->addFolder(clipId, foldername);
const int children = item->childCount();
- for (int i = 0; i < children; i++) {
+ for (int i = 0; i < children; ++i) {
ProjectItem *child = static_cast <ProjectItem *>(item->child(i));
child->setProperty("groupname", foldername);
}
item = new ProjectItem(m_listView, clip, pixelSize);
}
if (item->data(0, DurationRole).isNull()) item->setData(0, DurationRole, i18n("Loading"));
- connect(clip, SIGNAL(createProxy(const QString &)), this, SLOT(slotCreateProxy(const QString &)));
- connect(clip, SIGNAL(abortProxy(const QString &, const QString &)), this, SLOT(slotAbortProxy(const QString, const QString)));
+ connect(clip, SIGNAL(createProxy(QString)), this, SLOT(slotCreateProxy(QString)));
+ connect(clip, SIGNAL(abortProxy(QString,QString)), this, SLOT(slotAbortProxy(QString,QString)));
if (getProperties) {
//item->setFlags(Qt::ItemIsSelectable);
// Add cut zones
QList <CutZoneInfo> cuts = clip->cutZones();
if (!cuts.isEmpty()) {
- for (int i = 0; i < cuts.count(); i++) {
+ for (int i = 0; i < cuts.count(); ++i) {
SubProjectItem *sub = new SubProjectItem(m_render->dar(), item, cuts.at(i).zone.x(), cuts.at(i).zone.y(), cuts.at(i).description);
if (!clip->getClipHash().isEmpty()) {
QString cachedPixmap = m_doc->projectFolder().path(KUrl::AddTrailingSlash) + "thumbs/" + clip->getClipHash() + '#' + QString::number(cuts.at(i).zone.x()) + ".png";
{
m_listView->blockSignals(true);
m_abortAllJobs = true;
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
m_jobList.at(i)->setStatus(JOBABORTED);
}
m_closing = true;
}
}
-QPixmap ProjectList::roundedPixmap(QImage img)
+QPixmap ProjectList::roundedPixmap(const QImage &img)
{
QPixmap pix(img.width(), img.height());
pix.fill(Qt::transparent);
return pix;
}
-QPixmap ProjectList::roundedPixmap(QPixmap source)
+QPixmap ProjectList::roundedPixmap(const QPixmap &source)
{
QPixmap pix(source.width(), source.height());
pix.fill(Qt::transparent);
}
delete d;
} else {
- for (int i = 0; i < givenList.count(); i++)
+ for (int i = 0; i < givenList.count(); ++i)
list << givenList.at(i);
}
QList <KUrl::List> foldersList;
if (!foldersList.isEmpty()) {
// create folders
- for (int i = 0; i < foldersList.count(); i++) {
+ for (int i = 0; i < foldersList.count(); ++i) {
KUrl::List urls = foldersList.at(i);
KUrl folderUrl = urls.takeFirst();
QString folderName = folderUrl.fileName();
{
m_listView->blockSignals(true);
m_abortAllJobs = true;
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
m_jobList.at(i)->setStatus(JOBABORTED);
}
m_closing = true;
m_refreshed = true;
m_allClipsProcessed = true;
}
- for (int i = 0; i < list.count(); i++)
+ for (int i = 0; i < list.count(); ++i)
slotAddClip(list.at(i), false);
m_listView->blockSignals(false);
- connect(m_doc->clipManager(), SIGNAL(reloadClip(const QString &)), this, SLOT(slotReloadClip(const QString &)));
- connect(m_doc->clipManager(), SIGNAL(modifiedClip(const QString &)), this, SLOT(slotModifiedClip(const QString &)));
- connect(m_doc->clipManager(), SIGNAL(missingClip(const QString &)), this, SLOT(slotMissingClip(const QString &)));
- connect(m_doc->clipManager(), SIGNAL(availableClip(const QString &)), this, SLOT(slotAvailableClip(const QString &)));
- connect(m_doc->clipManager(), SIGNAL(checkAllClips(bool, bool, QStringList)), this, SLOT(updateAllClips(bool, bool, QStringList)));
- connect(m_doc->clipManager(), SIGNAL(thumbReady(const QString &, int, QImage)), this, SLOT(slotSetThumbnail(const QString &, int, QImage)));
+ connect(m_doc->clipManager(), SIGNAL(reloadClip(QString)), this, SLOT(slotReloadClip(QString)));
+ connect(m_doc->clipManager(), SIGNAL(modifiedClip(QString)), this, SLOT(slotModifiedClip(QString)));
+ connect(m_doc->clipManager(), SIGNAL(missingClip(QString)), this, SLOT(slotMissingClip(QString)));
+ connect(m_doc->clipManager(), SIGNAL(availableClip(QString)), this, SLOT(slotAvailableClip(QString)));
+ connect(m_doc->clipManager(), SIGNAL(checkAllClips(bool,bool,QStringList)), this, SLOT(updateAllClips(bool,bool,QStringList)));
+ connect(m_doc->clipManager(), SIGNAL(thumbReady(QString,int,QImage)), this, SLOT(slotSetThumbnail(QString,int,QImage)));
}
void ProjectList::slotSetThumbnail(const QString &id, int framePos, QImage img)
if (result == NULL || !id.contains('#')) {
return result;
} else {
- for (int i = 0; i < result->childCount(); i++) {
+ for (int i = 0; i < result->childCount(); ++i) {
SubProjectItem *sub = static_cast <SubProjectItem *>(result->child(i));
if (sub && sub->zone().x() == id.section('#', 1, 1).toInt())
return sub;
{
FolderProjectItem *item = NULL;
QList <QTreeWidgetItem *> hits = m_listView->findItems(name, Qt::MatchExactly, 0);
- for (int i = 0; i < hits.count(); i++) {
+ for (int i = 0; i < hits.count(); ++i) {
if (hits.at(i)->type() == PROJECTFOLDERTYPE) {
item = static_cast<FolderProjectItem *>(hits.at(i));
break;
KUrl::List result;
ProjectItem *item;
QList<QTreeWidgetItem *> list = m_listView->selectedItems();
- for (int i = 0; i < list.count(); i++) {
+ for (int i = 0; i < list.count(); ++i) {
if (list.at(i)->type() == PROJECTFOLDERTYPE)
continue;
if (list.at(i)->type() == PROJECTSUBCLIPTYPE) {
QMap <QString, QString> result;
ProjectItem *item;
QList<QTreeWidgetItem *> list = m_listView->selectedItems();
- for (int i = 0; i < list.count(); i++) {
+ for (int i = 0; i < list.count(); ++i) {
if (list.at(i)->type() == PROJECTFOLDERTYPE)
continue;
if (list.at(i)->type() == PROJECTSUBCLIPTYPE) {
}
file.close();
QDomNodeList texts = doc.elementsByTagName("content");
- for (int i = 0; i < texts.count(); i++) {
+ for (int i = 0; i < texts.count(); ++i) {
QString data = texts.item(i).firstChild().nodeValue();
data.replace("%s", replaceString);
texts.item(i).firstChild().setNodeValue(data);
emit projectModified();
}
-SubProjectItem *ProjectList::getSubItem(ProjectItem *clip, QPoint zone)
+SubProjectItem *ProjectList::getSubItem(ProjectItem *clip, const QPoint &zone)
{
SubProjectItem *sub = NULL;
if (clip) {
- for (int i = 0; i < clip->childCount(); i++) {
+ for (int i = 0; i < clip->childCount(); ++i) {
QTreeWidgetItem *it = clip->child(i);
if (it->type() == PROJECTSUBCLIPTYPE) {
sub = static_cast <SubProjectItem*>(it);
m_commandStack->push(command);
}
-void ProjectList::doUpdateClipCut(const QString &id, const QPoint oldzone, const QPoint zone, const QString &comment)
+void ProjectList::doUpdateClipCut(const QString &id, const QPoint &oldzone, const QPoint &zone, const QString &comment)
{
ProjectItem *clip = getItemById(id);
SubProjectItem *sub = getSubItem(clip, oldzone);
m_render->forceProcessing(id);
}
-void ProjectList::slotAddOrUpdateSequence(const QString frameName)
+void ProjectList::slotAddOrUpdateSequence(const QString &frameName)
{
QString fileName = KUrl(frameName).fileName().section('_', 0, -2);
QStringList list;
return list;
}
-void ProjectList::slotCreateProxy(const QString id)
+void ProjectList::slotCreateProxy(const QString &id)
{
ProjectItem *item = getItemById(id);
if (!item || hasPendingJob(item, PROXYJOB) || item->referencedClip()->isPlaceHolder()) return;
// Remove inactive threads
QList <QFuture<void> > futures = m_jobThreads.futures();
m_jobThreads.clearFutures();
- for (int i = 0; i < futures.count(); i++)
+ for (int i = 0; i < futures.count(); ++i)
if (!futures.at(i).isFinished()) {
m_jobThreads.addFuture(futures.at(i));
}
m_jobMutex.lock();
int count = 0;
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->status() == JOBWORKING || m_jobList.at(i)->status() == JOBWAITING)
count ++;
else {
if (m_jobThreads.futures().isEmpty() || m_jobThreads.futures().count() < KdenliveSettings::proxythreads()) m_jobThreads.addFuture(QtConcurrent::run(this, &ProjectList::slotProcessJobs));
}
-void ProjectList::slotAbortProxy(const QString id, const QString path)
+void ProjectList::slotAbortProxy(const QString &id, const QString &path)
{
Q_UNUSED(path)
AbstractClipJob *job = NULL;
int count = 0;
m_jobMutex.lock();
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->status() == JOBWAITING) {
if (job == NULL) {
m_jobList.at(i)->setStatus(JOBWORKING);
file.close();
QFile::remove(destination);
}
- connect(job, SIGNAL(jobProgress(QString, int, int)), this, SIGNAL(processLog(QString, int, int)));
- connect(job, SIGNAL(cancelRunningJob(const QString, stringMap)), this, SIGNAL(cancelRunningJob(const QString, stringMap)));
+ connect(job, SIGNAL(jobProgress(QString,int,int)), this, SIGNAL(processLog(QString,int,int)));
+ connect(job, SIGNAL(cancelRunningJob(QString,stringMap)), this, SIGNAL(cancelRunningJob(QString,stringMap)));
if (job->jobType == MLTJOB) {
MeltJob *jb = static_cast<MeltJob *> (job);
jb->setProducer(currentClip->getProducer(), currentClip->fileURL());
if (jb->isProjectFilter())
- connect(job, SIGNAL(gotFilterJobResults(QString,int, int, stringMap,stringMap)), this, SLOT(slotGotFilterJobResults(QString,int, int,stringMap,stringMap)));
+ connect(job, SIGNAL(gotFilterJobResults(QString,int,int,stringMap,stringMap)), this, SLOT(slotGotFilterJobResults(QString,int,int,stringMap,stringMap)));
else
- connect(job, SIGNAL(gotFilterJobResults(QString,int, int, stringMap,stringMap)), this, SIGNAL(gotFilterJobResults(QString,int, int,stringMap,stringMap)));
+ connect(job, SIGNAL(gotFilterJobResults(QString,int,int,stringMap,stringMap)), this, SIGNAL(gotFilterJobResults(QString,int,int,stringMap,stringMap)));
}
job->startJob();
if (job->status() == JOBDONE) {
else delete command;
}
-void ProjectList::slotProcessLog(const QString id, int progress, int type, const QString message)
+void ProjectList::slotProcessLog(const QString &id, int progress, int type, const QString &message)
{
ProjectItem *item = getItemById(id);
setJobStatus(item, (JOBTYPE) type, JOBWORKING, progress, message);
// expand list (folders, subclips) to get real clips
QTreeWidgetItem *listItem;
QList<ProjectItem *> clipList;
- for (int i = 0; i < list.count(); i++) {
+ for (int i = 0; i < list.count(); ++i) {
listItem = list.at(i);
if (listItem->type() == PROJECTFOLDERTYPE) {
for (int j = 0; j < listItem->childCount(); j++) {
QMap <QString, QString> newProps;
QMap <QString, QString> oldProps;
if (!doProxy) newProps.insert("proxy", "-");
- for (int i = 0; i < clipList.count(); i++) {
+ for (int i = 0; i < clipList.count(); ++i) {
ProjectItem *item = clipList.at(i);
CLIPTYPE t = item->clipType();
if ((t == VIDEO || t == AV || t == UNKNOWN || t == IMAGE || t == PLAYLIST) && item->referencedClip()) {
void ProjectList::monitorItemEditing(bool enable)
{
- if (enable) connect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotItemEdited(QTreeWidgetItem *, int)));
- else disconnect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotItemEdited(QTreeWidgetItem *, int)));
+ if (enable) connect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(slotItemEdited(QTreeWidgetItem*,int)));
+ else disconnect(m_listView, SIGNAL(itemChanged(QTreeWidgetItem*,int)), this, SLOT(slotItemEdited(QTreeWidgetItem*,int)));
}
QStringList ProjectList::expandedFolders() const
void ProjectList::slotCancelJobs()
{
m_abortAllJobs = true;
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
m_jobList.at(i)->setStatus(JOBABORTED);
}
m_jobThreads.waitForFinished();
QUndoCommand *command = new QUndoCommand();
command->setText(i18np("Cancel job", "Cancel jobs", m_jobList.count()));
m_jobMutex.lock();
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
DocClipBase *currentClip = m_doc->clipManager()->getClipById(m_jobList.at(i)->clipId());
if (!currentClip) continue;
QMap <QString, QString> newProps = m_jobList.at(i)->cancelProperties();
if (!item || !item->referencedClip() || m_abortAllJobs) return false;
AbstractClipJob *job;
QMutexLocker lock(&m_jobMutex);
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_abortAllJobs) break;
job = m_jobList.at(i);
if (job->clipId() == item->clipId() && job->jobType == type && (job->status() == JOBWAITING || job->status() == JOBWORKING)) return true;
void ProjectList::deleteJobsForClip(const QString &clipId)
{
QMutexLocker lock(&m_jobMutex);
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->clipId() == clipId) {
m_jobList.at(i)->setStatus(JOBABORTED);
}
if (!actionName.isEmpty()) {
QAction *action = NULL;
QList< KActionCollection * > collections = KActionCollection::allCollections();
- for (int i = 0; i < collections.count(); i++) {
+ for (int i = 0; i < collections.count(); ++i) {
KActionCollection *coll = collections.at(i);
action = coll->action(actionName);
if (action) break;
KDialog d(this);
d.setButtons(KDialog::Close);
QTextEdit t(&d);
- for (int i = 0; i < m_errorLog.count(); i++) {
+ for (int i = 0; i < m_errorLog.count(); ++i) {
if (i > 0) t.insertHtml("<br><hr /><br>");
t.insertPlainText(m_errorLog.at(i));
}
{
QStringList result;
QMutexLocker lock(&m_jobMutex);
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->clipId() == id && (m_jobList.at(i)->status() == JOBWAITING || m_jobList.at(i)->status() == JOBWORKING)) {
// discard this job
result << m_jobList.at(i)->description;
void ProjectList::discardJobs(const QString &id, JOBTYPE type) {
QMutexLocker lock(&m_jobMutex);
- for (int i = 0; i < m_jobList.count(); i++) {
+ for (int i = 0; i < m_jobList.count(); ++i) {
if (m_jobList.at(i)->clipId() == id && (m_jobList.at(i)->jobType == type || type == NOJOBTYPE)) {
// discard this job
m_jobList.at(i)->setStatus(JOBABORTED);
else {
destination = ids.values();
}
+ if (filterName == "framebuffer") {
+ Mlt::Profile profile;
+ QStringList keys = ids.keys();
+ int ix = 0;
+ foreach(const QString &url, destination) {
+ QString prodstring = QString("framebuffer:" + url + "?-1");
+ Mlt::Producer *reversed = new Mlt::Producer(profile, prodstring.toUtf8().constData());
+ if (!reversed || !reversed->is_valid()) {
+ emit displayMessage(i18n("Cannot reverse clip"), -2, ErrorMessage);
+ continue;
+ }
+ QString dest = url + ".mlt";
+ if (QFile::exists(dest)) {
+ if (KMessageBox::questionYesNo(this, i18n("File %1 already exists.\nDo you want to overwrite it?", dest)) == KMessageBox::No) continue;
+ }
+ Mlt::Consumer *cons = new Mlt::Consumer(profile, "xml", dest.toUtf8().constData());
+ if (cons == NULL || !cons->is_valid()) {
+ emit displayMessage(i18n("Cannot render reversed clip"), -2, ErrorMessage);
+ continue;
+ }
+ Mlt::Playlist list;
+ list.insert_at(0, reversed, 0);
+ delete reversed;
+ cons->connect(list);
+ cons->run();
+ delete cons;
+ QString groupId;
+ QString groupName;
+ DocClipBase *base = m_doc->clipManager()->getClipById(keys.at(ix));
+ if (base) {
+ groupId = base->getProperty("groupid");
+ groupName = base->getProperty("groupname");
+ }
+ emit addClip(dest, groupId, groupName);
+ ix++;
+ }
+ return;
+ }
if (filterName == "motion_est") {
// Show config dialog
#if KDE_IS_VERSION(4,7,0)
m_errorLog.clear();
QList<QAction *> actions = m_infoMessage->actions();
- for (int i = 0; i < actions.count(); i++) {
+ for (int i = 0; i < actions.count(); ++i) {
m_infoMessage->removeAction(actions.at(i));
}
#endif