From: Montel Laurent Date: Thu, 23 May 2013 17:40:29 +0000 (+0200) Subject: const'ify, optimization, fix indent X-Git-Url: https://git.sesse.net/?p=kdenlive;a=commitdiff_plain;h=eb9ff9e83c9731da1706ad862095629675427022 const'ify, optimization, fix indent --- diff --git a/src/clipmanager.h b/src/clipmanager.h index d7b82dbf..32f6fd0d 100644 --- a/src/clipmanager.h +++ b/src/clipmanager.h @@ -58,7 +58,6 @@ class SolidVolumeInfo { public: - QString path; // mount path of volume, with trailing slash QString uuid; // UUID as from Solid QString label; // volume label (think of CDs) @@ -193,10 +192,10 @@ signals: void modifiedClip(const QString &); void missingClip(const QString &); void availableClip(const QString &); - void checkAllClips(bool displayRatioChanged, bool fpsChanged, QStringList brokenClips); + void checkAllClips(bool displayRatioChanged, bool fpsChanged, const QStringList &brokenClips); void displayMessage(const QString &, int); - void thumbReady(const QString &id, int, QImage); - void gotClipPropertyThumbnail(const QString &id, QImage); + void thumbReady(const QString &id, int, const QImage&); + void gotClipPropertyThumbnail(const QString &id, const QImage&); }; #endif diff --git a/src/clipproperties.h b/src/clipproperties.h index 029f3a89..dd415773 100644 --- a/src/clipproperties.h +++ b/src/clipproperties.h @@ -35,7 +35,8 @@ public: PropertiesViewDelegate(QWidget *parent) : QStyledItemDelegate(parent) { m_height = parent->fontMetrics().height() * 1.2; } - virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const { +protected: + QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const { return QSize(QStyledItemDelegate::sizeHint(option, index).width(), m_height); } private: @@ -100,12 +101,12 @@ private: signals: void addMarkers(const QString &, QList ); - void deleteProxy(const QString); - void applyNewClipProperties(const QString, QMap , QMap , bool, bool); + void deleteProxy(const QString&); + void applyNewClipProperties(const QString&, const QMap &, const QMap &, bool, bool); void saveMarkers(const QString &id); void loadMarkers(const QString &id); void editAnalysis(const QString &id, const QString &name, const QString &value); - void requestThumb(const QString id, QList frames); + void requestThumb(const QString &id, const QList & frames); }; diff --git a/src/clipstabilize.cpp b/src/clipstabilize.cpp index ba659015..857d49f6 100644 --- a/src/clipstabilize.cpp +++ b/src/clipstabilize.cpp @@ -34,10 +34,10 @@ #include ClipStabilize::ClipStabilize(const QStringList &urls, const QString &filterName,QWidget * parent) : - QDialog(parent), - m_filtername(filterName), - m_urls(urls), - vbox(NULL) + QDialog(parent), + m_filtername(filterName), + m_urls(urls), + vbox(NULL) { setFont(KGlobalSettings::toolBarFont()); setupUi(this); @@ -53,81 +53,81 @@ ClipStabilize::ClipStabilize(const QStringList &urls, const QString &filterName, QColor light_bg = scheme.shade(KColorScheme::LightShade); QString stylesheet(QString("QProgressBar:horizontal {border: 1px solid %1;border-radius:0px;border-top-left-radius: 4px;border-bottom-left-radius: 4px;border-right: 0px;background:%4;padding: 0px;text-align:left center}\ - QProgressBar:horizontal#dragOnly {background: %1} QProgressBar:horizontal:hover#dragOnly {background: %3} QProgressBar:horizontal:hover {border: 1px solid %3;border-right: 0px;}\ - QProgressBar::chunk:horizontal {background: %1;} QProgressBar::chunk:horizontal:hover {background: %3;}\ - QProgressBar:horizontal[inTimeline=\"true\"] { border: 1px solid %2;border-right: 0px;background: %4;padding: 0px;text-align:left center } QProgressBar::chunk:horizontal[inTimeline=\"true\"] {background: %2;}\ - QAbstractSpinBox#dragBox {border: 1px solid %1;border-top-right-radius: 4px;border-bottom-right-radius: 4px;padding-right:0px;} QAbstractSpinBox::down-button#dragBox {width:0px;padding:0px;}\ - QAbstractSpinBox::up-button#dragBox {width:0px;padding:0px;} QAbstractSpinBox[inTimeline=\"true\"]#dragBox { border: 1px solid %2;} QAbstractSpinBox:hover#dragBox {border: 1px solid %3;} ") - .arg(dark_bg.name()).arg(selected_bg.name()).arg(hover_bg.name()).arg(light_bg.name())); - setStyleSheet(stylesheet); + QProgressBar:horizontal#dragOnly {background: %1} QProgressBar:horizontal:hover#dragOnly {background: %3} QProgressBar:horizontal:hover {border: 1px solid %3;border-right: 0px;}\ + QProgressBar::chunk:horizontal {background: %1;} QProgressBar::chunk:horizontal:hover {background: %3;}\ + QProgressBar:horizontal[inTimeline=\"true\"] { border: 1px solid %2;border-right: 0px;background: %4;padding: 0px;text-align:left center } QProgressBar::chunk:horizontal[inTimeline=\"true\"] {background: %2;}\ + QAbstractSpinBox#dragBox {border: 1px solid %1;border-top-right-radius: 4px;border-bottom-right-radius: 4px;padding-right:0px;} QAbstractSpinBox::down-button#dragBox {width:0px;padding:0px;}\ + QAbstractSpinBox::up-button#dragBox {width:0px;padding:0px;} QAbstractSpinBox[inTimeline=\"true\"]#dragBox { border: 1px solid %2;} QAbstractSpinBox:hover#dragBox {border: 1px solid %3;} ") + .arg(dark_bg.name()).arg(selected_bg.name()).arg(hover_bg.name()).arg(light_bg.name())); + setStyleSheet(stylesheet); - if (m_urls.count() == 1) { - QString newFile = m_urls.first(); - newFile.append(".mlt"); - KUrl dest(newFile); - dest_url->setMode(KFile::File); - dest_url->setUrl(KUrl(newFile)); - dest_url->fileDialog()->setOperationMode(KFileDialog::Saving); - } else { - label_dest->setText(i18n("Destination folder")); - dest_url->setMode(KFile::Directory); - dest_url->setUrl(KUrl(KUrl(m_urls.first()).directory())); - dest_url->fileDialog()->setOperationMode(KFileDialog::Saving); - } + if (m_urls.count() == 1) { + QString newFile = m_urls.first(); + newFile.append(".mlt"); + KUrl dest(newFile); + dest_url->setMode(KFile::File); + dest_url->setUrl(KUrl(newFile)); + dest_url->fileDialog()->setOperationMode(KFileDialog::Saving); +} else { + label_dest->setText(i18n("Destination folder")); + dest_url->setMode(KFile::Directory); + dest_url->setUrl(KUrl(KUrl(m_urls.first()).directory())); + dest_url->fileDialog()->setOperationMode(KFileDialog::Saving); +} - if (m_filtername=="videostab"){ - QStringList ls; - ls << "shutterangle,type,int,value,0,min,0,max,180,tooltip,Angle that Images could be maximum rotated"; - fillParameters(ls); - }else if (m_filtername=="videostab2"){ - // Some default params have to be set: - m_fixedParams << "algo=1" << "relative=1"; - QStringList ls; - ls << "accuracy,type,int,value,8,min,1,max,10,tooltip,Accuracy of Shakiness detection"; - ls << "shakiness,type,int,value,4,min,1,max,10,tooltip,How shaky is the Video"; - ls << "stepsize,type,int,value,6,min,0,max,100,tooltip,Stepsize of Detection process minimum around"; - //ls << "algo,type,bool,value,1,min,0,max,1,tooltip,0 = Bruteforce 1 = small measurement fields"; - ls << "mincontrast,type,double,value,0.3,min,0,max,1,factor,1,decimals,2,tooltip,Below this Contrast Field is discarded"; - //ls << "show,type,int,value,0,min,0,max,2,tooltip,0 = draw nothing. 1 or 2 show fields and transforms"; - ls << "smoothing,type,int,value,10,min,0,max,100,tooltip,number of frames for lowpass filtering"; - ls << "maxshift,type,int,value,-1,min,-1,max,1000,tooltip,max number of pixels to shift"; - ls << "maxangle,type,double,value,-1,min,-1,max,3.14,decimals,2,tooltip,max angle to rotate (in rad)"; - ls << "crop,type,bool,value,0,min,0,max,1,tooltip,0 = keep border 1 = black background"; - //ls << "invert,type,bool,value,0,min,0,max,1,tooltip,invert transform"; - //ls << "relative,type,bool,value,1,min,0,max,1,tooltip,0 = absolute transform 1= relative"; - ls << "zoom,type,int,value,0,min,-500,max,500,tooltip,additional zoom during transform"; - ls << "optzoom,type,bool,value,1,min,0,max,1,tooltip,use optimal zoom (calulated from transforms)"; - ls << "sharpen,type,double,value,0.8,min,0,max,1,decimals,1,tooltip,sharpen transformed image"; - fillParameters(ls); + if (m_filtername=="videostab"){ + QStringList ls; + ls << "shutterangle,type,int,value,0,min,0,max,180,tooltip,Angle that Images could be maximum rotated"; + fillParameters(ls); +}else if (m_filtername=="videostab2"){ + // Some default params have to be set: + m_fixedParams << "algo=1" << "relative=1"; + QStringList ls; + ls << "accuracy,type,int,value,8,min,1,max,10,tooltip,Accuracy of Shakiness detection"; + ls << "shakiness,type,int,value,4,min,1,max,10,tooltip,How shaky is the Video"; + ls << "stepsize,type,int,value,6,min,0,max,100,tooltip,Stepsize of Detection process minimum around"; + //ls << "algo,type,bool,value,1,min,0,max,1,tooltip,0 = Bruteforce 1 = small measurement fields"; + ls << "mincontrast,type,double,value,0.3,min,0,max,1,factor,1,decimals,2,tooltip,Below this Contrast Field is discarded"; + //ls << "show,type,int,value,0,min,0,max,2,tooltip,0 = draw nothing. 1 or 2 show fields and transforms"; + ls << "smoothing,type,int,value,10,min,0,max,100,tooltip,number of frames for lowpass filtering"; + ls << "maxshift,type,int,value,-1,min,-1,max,1000,tooltip,max number of pixels to shift"; + ls << "maxangle,type,double,value,-1,min,-1,max,3.14,decimals,2,tooltip,max angle to rotate (in rad)"; + ls << "crop,type,bool,value,0,min,0,max,1,tooltip,0 = keep border 1 = black background"; + //ls << "invert,type,bool,value,0,min,0,max,1,tooltip,invert transform"; + //ls << "relative,type,bool,value,1,min,0,max,1,tooltip,0 = absolute transform 1= relative"; + ls << "zoom,type,int,value,0,min,-500,max,500,tooltip,additional zoom during transform"; + ls << "optzoom,type,bool,value,1,min,0,max,1,tooltip,use optimal zoom (calulated from transforms)"; + ls << "sharpen,type,double,value,0.8,min,0,max,1,decimals,1,tooltip,sharpen transformed image"; + fillParameters(ls); - } +} - connect(buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()), this, SLOT(slotValidate())); + connect(buttonBox->button(QDialogButtonBox::Ok),SIGNAL(clicked()), this, SLOT(slotValidate())); - vbox=new QVBoxLayout(optionsbox); - QHashIterator > hi(m_ui_params); - while(hi.hasNext()){ - hi.next(); - QHash val=hi.value(); - if (val["type"]=="int" || val["type"]=="double"){ - DoubleParameterWidget *dbl=new DoubleParameterWidget(hi.key(), val["value"].toDouble(), - val["min"].toDouble(),val["max"].toDouble(),val["value"].toDouble(), - "",0/*id*/,""/*suffix*/,val["decimals"]!=""?val["decimals"].toInt():0,this); - dbl->setObjectName(hi.key()); - dbl->setToolTip(val["tooltip"]); - connect(dbl,SIGNAL(valueChanged(double)),this,SLOT(slotUpdateParams())); - vbox->addWidget(dbl); - }else if (val["type"]=="bool"){ - QCheckBox *ch=new QCheckBox(hi.key(),this); - ch->setCheckState(val["value"] == "0" ? Qt::Unchecked : Qt::Checked); - ch->setObjectName(hi.key()); - connect(ch, SIGNAL(stateChanged(int)) , this,SLOT(slotUpdateParams())); - ch->setToolTip(val["tooltip"]); - vbox->addWidget(ch); - - } - } - adjustSize(); + vbox=new QVBoxLayout(optionsbox); + QHashIterator > hi(m_ui_params); + while(hi.hasNext()){ + hi.next(); + QHash val=hi.value(); + if (val["type"]=="int" || val["type"]=="double"){ + DoubleParameterWidget *dbl=new DoubleParameterWidget(hi.key(), val["value"].toDouble(), + val["min"].toDouble(),val["max"].toDouble(),val["value"].toDouble(), + "",0/*id*/,""/*suffix*/,val["decimals"]!=""?val["decimals"].toInt():0,this); + dbl->setObjectName(hi.key()); + dbl->setToolTip(val["tooltip"]); + connect(dbl,SIGNAL(valueChanged(double)),this,SLOT(slotUpdateParams())); + vbox->addWidget(dbl); + }else if (val["type"]=="bool"){ + QCheckBox *ch=new QCheckBox(hi.key(),this); + ch->setCheckState(val["value"] == "0" ? Qt::Unchecked : Qt::Checked); + ch->setObjectName(hi.key()); + connect(ch, SIGNAL(stateChanged(int)) , this,SLOT(slotUpdateParams())); + ch->setToolTip(val["tooltip"]); + vbox->addWidget(ch); + + } +} +adjustSize(); } ClipStabilize::~ClipStabilize() @@ -277,21 +277,21 @@ void ClipStabilize::fillParameters(QStringList lst) 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) return; - } + 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) return; + } } else { - KUrl folder(dest_url->url()); - QStringList existingFiles; - foreach(const QString &path, m_urls) { - KUrl dest = folder; - dest.addPath(KUrl(path).fileName()); - if (QFile::exists(dest.path() + ".mlt")) existingFiles.append(dest.path() + ".mlt"); - } - if (!existingFiles.isEmpty()) { - if (KMessageBox::warningContinueCancelList(this, i18n("The stabilize job will overwrite the following files:"), existingFiles) == KMessageBox::Cancel) return; - } + KUrl folder(dest_url->url()); + QStringList existingFiles; + foreach(const QString &path, m_urls) { + KUrl dest = folder; + dest.addPath(KUrl(path).fileName()); + if (QFile::exists(dest.path() + ".mlt")) existingFiles.append(dest.path() + ".mlt"); + } + if (!existingFiles.isEmpty()) { + if (KMessageBox::warningContinueCancelList(this, i18n("The stabilize job will overwrite the following files:"), existingFiles) == KMessageBox::Cancel) return; + } } accept(); } diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 0697c375..e1034e85 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -110,43 +110,43 @@ bool sortGuidesList(const Guide *g1 , const Guide *g2) CustomTrackView::CustomTrackView(KdenliveDoc *doc, CustomTrackScene* projectscene, QWidget *parent) : QGraphicsView(projectscene, parent) - , m_tracksHeight(KdenliveSettings::trackheight()) - , m_projectDuration(0) - , m_cursorPos(0) - , m_document(doc) - , m_scene(projectscene) - , m_cursorLine(NULL) - , m_operationMode(NONE) - , m_moveOpMode(NONE) - , m_dragItem(NULL) - , m_dragGuide(NULL) - , m_visualTip(NULL) - , m_animation(NULL) - , m_clickPoint() - , m_autoScroll(KdenliveSettings::autoscroll()) - , m_timelineContextMenu(NULL) - , m_timelineContextClipMenu(NULL) - , m_timelineContextTransitionMenu(NULL) - , m_markerMenu(NULL) - , m_autoTransition(NULL) - , m_pasteEffectsAction(NULL) - , m_ungroupAction(NULL) - , m_editGuide(NULL) - , m_deleteGuide(NULL) - , m_clipTypeGroup(NULL) - , m_scrollOffset(0) - , m_clipDrag(false) - , m_findIndex(0) - , m_tool(SELECTTOOL) - , m_copiedItems() - , m_menuPosition() - , m_blockRefresh(false) - , m_selectionGroup(NULL) - , m_selectedTrack(0) - , m_spacerOffset(0) - , m_audioCorrelator(NULL) - , m_audioAlignmentReference(NULL) - , m_controlModifier(false) + , m_tracksHeight(KdenliveSettings::trackheight()) + , m_projectDuration(0) + , m_cursorPos(0) + , m_document(doc) + , m_scene(projectscene) + , m_cursorLine(NULL) + , m_operationMode(NONE) + , m_moveOpMode(NONE) + , m_dragItem(NULL) + , m_dragGuide(NULL) + , m_visualTip(NULL) + , m_animation(NULL) + , m_clickPoint() + , m_autoScroll(KdenliveSettings::autoscroll()) + , m_timelineContextMenu(NULL) + , m_timelineContextClipMenu(NULL) + , m_timelineContextTransitionMenu(NULL) + , m_markerMenu(NULL) + , m_autoTransition(NULL) + , m_pasteEffectsAction(NULL) + , m_ungroupAction(NULL) + , m_editGuide(NULL) + , m_deleteGuide(NULL) + , m_clipTypeGroup(NULL) + , m_scrollOffset(0) + , m_clipDrag(false) + , m_findIndex(0) + , m_tool(SELECTTOOL) + , m_copiedItems() + , m_menuPosition() + , m_blockRefresh(false) + , m_selectionGroup(NULL) + , m_selectedTrack(0) + , m_spacerOffset(0) + , m_audioCorrelator(NULL) + , m_audioAlignmentReference(NULL) + , m_controlModifier(false) { if (doc) { m_commandStack = doc->commandStack(); @@ -244,8 +244,8 @@ void CustomTrackView::setContextMenu(QMenu *timeline, QMenu *clip, QMenu *transi for (int i = 0; i < list.count(); ++i) { if (list.at(i)->data().toString() == "paste_effects") m_pasteEffectsAction = list.at(i); else if (list.at(i)->data().toString() == "ungroup_clip") m_ungroupAction = list.at(i); - else if (list.at(i)->data().toString() == "A") m_audioActions.append(list.at(i)); - else if (list.at(i)->data().toString() == "A+V") m_avActions.append(list.at(i)); + else if (list.at(i)->data().toString() == "A") m_audioActions.append(list.at(i)); + else if (list.at(i)->data().toString() == "A+V") m_avActions.append(list.at(i)); } m_timelineContextTransitionMenu = transition; @@ -338,7 +338,7 @@ bool CustomTrackView::checkTrackHeight() } setSceneRect(0, 0, sceneRect().width(), m_tracksHeight * m_document->tracksCount()); -// verticalScrollBar()->setMaximum(m_tracksHeight * m_document->tracksCount()); + // verticalScrollBar()->setMaximum(m_tracksHeight * m_document->tracksCount()); KdenliveSettings::setSnaptopoints(snap); viewport()->update(); return true; @@ -401,7 +401,7 @@ void CustomTrackView::slotCheckPositionScrolling() // If mouse is at a border of the view, scroll if (m_moveOpMode != SEEK) return; if (mapFromScene(m_cursorPos, 0).x() < 3) { - if (horizontalScrollBar()->value() == 0) return; + if (horizontalScrollBar()->value() == 0) return; horizontalScrollBar()->setValue(horizontalScrollBar()->value() - 2); QTimer::singleShot(200, this, SLOT(slotCheckPositionScrolling())); seekCursorPos(mapToScene(QPoint(-2, 0)).x()); @@ -414,12 +414,12 @@ void CustomTrackView::slotCheckPositionScrolling() void CustomTrackView::slotAlignPlayheadToMousePos() { - /* get curser point ref in screen coord */ - QPoint ps = QCursor::pos(); - /* get xPos in scene coord */ - int mappedXPos = qMax((int)(mapToScene(mapFromGlobal(ps)).x() + 0.5), 0); - /* move playhead to new xPos*/ - seekCursorPos(mappedXPos); + /* get curser point ref in screen coord */ + QPoint ps = QCursor::pos(); + /* get xPos in scene coord */ + int mappedXPos = qMax((int)(mapToScene(mapFromGlobal(ps)).x() + 0.5), 0); + /* move playhead to new xPos*/ + seekCursorPos(mappedXPos); } int CustomTrackView::getMousePos() const @@ -436,8 +436,8 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) emit mousePosition(mappedXPos); if (m_operationMode == SCROLLTIMELINE) { - QGraphicsView::mouseMoveEvent(event); - return; + QGraphicsView::mouseMoveEvent(event); + return; } if (event->buttons() & Qt::MidButton) return; @@ -450,7 +450,7 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) if (event->buttons() != Qt::NoButton) { bool move = (event->pos() - m_clickEvent).manhattanLength() >= QApplication::startDragDistance(); - if (m_dragItem && move) m_clipDrag = true; + if (m_dragItem && move) m_clipDrag = true; if (m_dragItem && m_tool == SELECTTOOL) { if (m_operationMode == MOVE && m_clipDrag) { QGraphicsView::mouseMoveEvent(event); @@ -628,12 +628,12 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) if (itemList.count() == 1 && itemList.at(0)->type() == GUIDEITEM) { opMode = MOVEGUIDE; - setCursor(Qt::SplitHCursor); + setCursor(Qt::SplitHCursor); } else for (int i = 0; i < itemList.count(); ++i) { if (itemList.at(i)->type() == AVWIDGET || itemList.at(i)->type() == TRANSITIONWIDGET) { item = (QGraphicsRectItem*) itemList.at(i); - break; - } + break; + } } if (m_tool == SPACERTOOL) { @@ -657,10 +657,10 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) // all other modes break the selection, so the user probably wants to move it opMode = MOVE; } else { - if (clip->rect().width() * transform().m11() < 15) { - // If the item is very small, only allow move - opMode = MOVE; - } + if (clip->rect().width() * transform().m11() < 15) { + // If the item is very small, only allow move + opMode = MOVE; + } else opMode = clip->operationMode(mapToScene(event->pos())); } @@ -741,10 +741,10 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) if (event->buttons() != Qt::NoButton && event->modifiers() == Qt::NoModifier) { QGraphicsView::mouseMoveEvent(event); m_moveOpMode = SEEK; - if (mappedXPos != m_document->renderer()->getCurrentSeekPosition() && mappedXPos != cursorPos()) { - seekCursorPos(mappedXPos); - slotCheckPositionScrolling(); - } + if (mappedXPos != m_document->renderer()->getCurrentSeekPosition() && mappedXPos != cursorPos()) { + seekCursorPos(mappedXPos); + slotCheckPositionScrolling(); + } return; } else m_moveOpMode = NONE; } @@ -772,10 +772,10 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) setDragMode(QGraphicsView::RubberBandDrag); if (!(event->modifiers() & Qt::ControlModifier)) { resetSelectionGroup(); - if (m_dragItem) { - emit clipItemSelected(NULL); - m_dragItem = NULL; - } + if (m_dragItem) { + emit clipItemSelected(NULL); + m_dragItem = NULL; + } scene()->clearSelection(); } m_blockRefresh = false; @@ -801,7 +801,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) setDragMode(QGraphicsView::ScrollHandDrag); m_blockRefresh = false; m_operationMode = SCROLLTIMELINE; - QGraphicsView::mousePressEvent(event); + QGraphicsView::mousePressEvent(event); return; } // if a guide and a clip were pressed, just select the guide @@ -835,35 +835,35 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) if (collisionList.at(ct)->type() == AVWIDGET || collisionList.at(ct)->type() == TRANSITIONWIDGET) { collisionClip = static_cast (collisionList.at(ct)); if (collisionClip->isItemLocked() || !collisionClip->isEnabled()) { - ct++; + ct++; continue; - } + } if (collisionClip == m_dragItem) { collisionClip = NULL; - } + } else { m_dragItem = collisionClip; - } + } found = true; - for (int i = 0; i < m_document->tracksCount(); ++i) { - if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); - } - yOffset = mapToScene(m_clickEvent).y() - m_dragItem->scenePos().y(); - m_dragItem->setProperty("y_absolute", yOffset); - m_dragItem->setProperty("locked_tracks", lockedTracks); + for (int i = 0; i < m_document->tracksCount(); ++i) { + if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); + } + yOffset = mapToScene(m_clickEvent).y() - m_dragItem->scenePos().y(); + m_dragItem->setProperty("y_absolute", yOffset); + m_dragItem->setProperty("locked_tracks", lockedTracks); m_dragItemInfo = m_dragItem->info(); - if (m_selectionGroup) { - m_selectionGroup->setProperty("y_absolute", yOffset); - m_selectionGroup->setProperty("locked_tracks", lockedTracks); - } - if (m_dragItem->parentItem() && m_dragItem->parentItem()->type() == GROUPWIDGET && m_dragItem->parentItem() != m_selectionGroup) { - QGraphicsItem *topGroup = m_dragItem->parentItem(); - while (topGroup->parentItem() && topGroup->parentItem()->type() == GROUPWIDGET && topGroup->parentItem() != m_selectionGroup) { - topGroup = topGroup->parentItem(); - } + if (m_selectionGroup) { + m_selectionGroup->setProperty("y_absolute", yOffset); + m_selectionGroup->setProperty("locked_tracks", lockedTracks); + } + if (m_dragItem->parentItem() && m_dragItem->parentItem()->type() == GROUPWIDGET && m_dragItem->parentItem() != m_selectionGroup) { + QGraphicsItem *topGroup = m_dragItem->parentItem(); + while (topGroup->parentItem() && topGroup->parentItem()->type() == GROUPWIDGET && topGroup->parentItem() != m_selectionGroup) { + topGroup = topGroup->parentItem(); + } dragGroup = static_cast (topGroup); - dragGroup->setProperty("y_absolute", yOffset); - dragGroup->setProperty("locked_tracks", lockedTracks); + dragGroup->setProperty("y_absolute", yOffset); + dragGroup->setProperty("locked_tracks", lockedTracks); } break; } @@ -877,17 +877,17 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) #if QT_VERSION >= 0x040800 // Add shadow to dragged item, currently disabled because of painting artifacts /*if (m_dragItem) { - QGraphicsDropShadowEffect *eff = new QGraphicsDropShadowEffect(); - eff->setBlurRadius(5); - eff->setOffset(3, 3); - m_dragItem->setGraphicsEffect(eff); + QGraphicsDropShadowEffect *eff = new QGraphicsDropShadowEffect(); + eff->setBlurRadius(5); + eff->setOffset(3, 3); + m_dragItem->setGraphicsEffect(eff); }*/ #endif if (m_dragItem && m_dragItem->type() == TRANSITIONWIDGET && m_dragItem->isEnabled()) { // update transition menu action m_autoTransition->setChecked(static_cast(m_dragItem)->isAutomatic()); m_autoTransition->setEnabled(true); - // A transition is selected + // A transition is selected QPoint p; ClipItem *transitionClip = getClipItemAt(m_dragItemInfo.startPos, m_dragItemInfo.track); if (transitionClip && transitionClip->baseClip()) { @@ -899,8 +899,8 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) } emit transitionItemSelected(static_cast (m_dragItem), getPreviousVideoTrack(m_dragItem->track()), p); } else { - emit transitionItemSelected(NULL); - m_autoTransition->setEnabled(false); + emit transitionItemSelected(NULL); + m_autoTransition->setEnabled(false); } // context menu requested if (event->button() == Qt::RightButton) { @@ -922,10 +922,10 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) } m_operationMode = NONE; - if (dragGroup == NULL) { - if (m_dragItem && m_dragItem->parentItem() && m_dragItem->parentItem() != m_selectionGroup) - dragGroup = static_cast (m_dragItem->parentItem()); - } + if (dragGroup == NULL) { + if (m_dragItem && m_dragItem->parentItem() && m_dragItem->parentItem() != m_selectionGroup) + dragGroup = static_cast (m_dragItem->parentItem()); + } displayContextMenu(event->globalPos(), m_dragItem, dragGroup); m_menuPosition = m_clickEvent; } @@ -966,7 +966,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) QList offsetList; // create group to hold selected items - m_selectionMutex.lock(); + m_selectionMutex.lock(); m_selectionGroup = new AbstractGroupItem(m_document->fps()); scene()->addItem(m_selectionGroup); @@ -992,7 +992,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) } } m_spacerOffset = m_selectionGroup->sceneBoundingRect().left() - (int)(mapToScene(m_clickEvent).x()); - m_selectionMutex.unlock(); + m_selectionMutex.unlock(); if (!offsetList.isEmpty()) { qSort(offsetList); QList cleandOffsetList; @@ -1007,7 +1007,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) } m_operationMode = SPACER; } else if (event->button() != Qt::RightButton) { - setCursor(Qt::ArrowCursor); + setCursor(Qt::ArrowCursor); seekCursorPos((int)(mapToScene(event->x(), 0).x())); } QGraphicsView::mousePressEvent(event); @@ -1054,65 +1054,65 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) // A refresh seems necessary otherwise in zoomed mode, some clips disappear viewport()->update(); } else { - resetSelectionGroup(); - } + resetSelectionGroup(); + } /*if () { - dragGroup = NULL; - if (m_dragItem->parentItem() && m_dragItem->parentItem()->type() == GROUPWIDGET) { - dragGroup = static_cast (m_dragItem->parentItem()); - } - }*/ + dragGroup = NULL; + if (m_dragItem->parentItem() && m_dragItem->parentItem()->type() == GROUPWIDGET) { + dragGroup = static_cast (m_dragItem->parentItem()); + } + }*/ bool selected = !m_dragItem->isSelected(); - m_dragItem->setZValue(99); - if (m_dragItem->parentItem()) m_dragItem->parentItem()->setZValue(99); - QGraphicsView::mousePressEvent(event); - + m_dragItem->setZValue(99); + if (m_dragItem->parentItem()) m_dragItem->parentItem()->setZValue(99); + QGraphicsView::mousePressEvent(event); + if (dragGroup) { dragGroup->setSelected(selected); - QList children = dragGroup->childItems(); - for (int i = 0; i < children.count(); ++i) { - children.at(i)->setSelected(selected); - } - if (dragGroup->parentItem()) { - dragGroup->parentItem()->setSelected(selected); - } - } + QList children = dragGroup->childItems(); + for (int i = 0; i < children.count(); ++i) { + children.at(i)->setSelected(selected); + } + if (dragGroup->parentItem()) { + dragGroup->parentItem()->setSelected(selected); + } + } else m_dragItem->setSelected(selected); - if (selected == false) { - m_dragItem = NULL; - } + if (selected == false) { + m_dragItem = NULL; + } groupSelectedItems(QList (), false, true); - m_selectionMutex.lock(); - if (m_selectionGroup) { - m_selectionGroup->setProperty("y_absolute", yOffset); - m_selectionGroup->setProperty("locked_tracks", lockedTracks); - } - m_selectionMutex.unlock(); - if (m_dragItem) { - ClipItem *clip = static_cast (m_dragItem); - updateClipTypeActions(dragGroup == NULL ? clip : NULL); - m_pasteEffectsAction->setEnabled(m_copiedItems.count() == 1); - } - else updateClipTypeActions(NULL); + m_selectionMutex.lock(); + if (m_selectionGroup) { + m_selectionGroup->setProperty("y_absolute", yOffset); + m_selectionGroup->setProperty("locked_tracks", lockedTracks); + } + m_selectionMutex.unlock(); + if (m_dragItem) { + ClipItem *clip = static_cast (m_dragItem); + updateClipTypeActions(dragGroup == NULL ? clip : NULL); + m_pasteEffectsAction->setEnabled(m_copiedItems.count() == 1); + } + else updateClipTypeActions(NULL); } else { - QGraphicsView::mousePressEvent(event); - m_selectionMutex.lock(); - if (m_selectionGroup) { - QList children = m_selectionGroup->childItems(); - for (int i = 0; i < children.count(); ++i) { - children.at(i)->setSelected(itemSelected); - } + QGraphicsView::mousePressEvent(event); + m_selectionMutex.lock(); + if (m_selectionGroup) { + QList children = m_selectionGroup->childItems(); + for (int i = 0; i < children.count(); ++i) { + children.at(i)->setSelected(itemSelected); + } m_selectionGroup->setSelected(itemSelected); - - } - if (dragGroup) { + + } + if (dragGroup) { dragGroup->setSelected(itemSelected); - } - m_dragItem->setSelected(itemSelected); - m_selectionMutex.unlock(); + } + m_dragItem->setSelected(itemSelected); + m_selectionMutex.unlock(); } if (collisionClip != NULL || m_dragItem == NULL) { @@ -1129,17 +1129,17 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) //QGraphicsView::mousePressEvent(event); if (m_dragItem) { - m_clickPoint = QPoint((int)(mapToScene(event->pos()).x() - m_dragItem->startPos().frames(m_document->fps())), (int)(event->pos().y() - m_dragItem->pos().y())); - if (m_selectionGroup && m_dragItem->parentItem() == m_selectionGroup) { - // all other modes break the selection, so the user probably wants to move it - m_operationMode = MOVE; - } else { - if (m_dragItem->rect().width() * transform().m11() < 15) { - // If the item is very small, only allow move - m_operationMode = MOVE; - } - else m_operationMode = m_dragItem->operationMode(mapToScene(event->pos())); - } + m_clickPoint = QPoint((int)(mapToScene(event->pos()).x() - m_dragItem->startPos().frames(m_document->fps())), (int)(event->pos().y() - m_dragItem->pos().y())); + if (m_selectionGroup && m_dragItem->parentItem() == m_selectionGroup) { + // all other modes break the selection, so the user probably wants to move it + m_operationMode = MOVE; + } else { + if (m_dragItem->rect().width() * transform().m11() < 15) { + // If the item is very small, only allow move + m_operationMode = MOVE; + } + else m_operationMode = m_dragItem->operationMode(mapToScene(event->pos())); + } } else m_operationMode = NONE; m_controlModifier = (event->modifiers() == Qt::ControlModifier); @@ -1150,7 +1150,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event) else updateSnapPoints(m_dragItem); } else { - m_selectionMutex.lock(); + m_selectionMutex.lock(); QList offsetList; QList children = m_selectionGroup->childItems(); for (int i = 0; i < children.count(); ++i) { @@ -1272,15 +1272,15 @@ void CustomTrackView::rebuildGroup(int childTrack, const GenTime &childPos) void CustomTrackView::rebuildGroup(AbstractGroupItem *group) { if (group) { - m_selectionMutex.lock(); - if (group == m_selectionGroup) m_selectionGroup = NULL; + m_selectionMutex.lock(); + if (group == m_selectionGroup) m_selectionGroup = NULL; QList children = group->childItems(); m_document->clipManager()->removeGroup(group); - for (int i = 0; i < children.count(); ++i) { - group->removeFromGroup(children.at(i)); - } - scene()->destroyItemGroup(group); - m_selectionMutex.unlock(); + for (int i = 0; i < children.count(); ++i) { + group->removeFromGroup(children.at(i)); + } + scene()->destroyItemGroup(group); + m_selectionMutex.unlock(); groupSelectedItems(children, group != m_selectionGroup, true); } } @@ -1295,18 +1295,18 @@ void CustomTrackView::resetSelectionGroup(bool selectItems) QList children = m_selectionGroup->childItems(); scene()->destroyItemGroup(m_selectionGroup); - m_selectionGroup = NULL; + m_selectionGroup = NULL; for (int i = 0; i < children.count(); ++i) { if (children.at(i)->parentItem() == 0) { - if ((children.at(i)->type() == AVWIDGET || children.at(i)->type() == TRANSITIONWIDGET)) { - if (!static_cast (children.at(i))->isItemLocked()) { - children.at(i)->setFlag(QGraphicsItem::ItemIsMovable, true); - children.at(i)->setSelected(selectItems); - } - } else if (children.at(i)->type() == GROUPWIDGET) { - children.at(i)->setFlag(QGraphicsItem::ItemIsMovable, true); - children.at(i)->setSelected(selectItems); - } + if ((children.at(i)->type() == AVWIDGET || children.at(i)->type() == TRANSITIONWIDGET)) { + if (!static_cast (children.at(i))->isItemLocked()) { + children.at(i)->setFlag(QGraphicsItem::ItemIsMovable, true); + children.at(i)->setSelected(selectItems); + } + } else if (children.at(i)->type() == GROUPWIDGET) { + children.at(i)->setFlag(QGraphicsItem::ItemIsMovable, true); + children.at(i)->setSelected(selectItems); + } } } KdenliveSettings::setSnaptopoints(snap); @@ -1326,40 +1326,40 @@ void CustomTrackView::groupSelectedItems(QList selection, bool QSet itemsList; for (int i = 0; i < selection.count(); ++i) { - if (selectNewGroup) selection.at(i)->setSelected(true); - if (selection.at(i)->type() == GROUPWIDGET) { - AbstractGroupItem *it = static_cast (selection.at(i)); - while (it->parentItem() && it->parentItem()->type() == GROUPWIDGET) { - it = static_cast (it->parentItem()); - } - if (!it || it->isItemLocked()) continue; - groupsList.insert(it); - } + if (selectNewGroup) selection.at(i)->setSelected(true); + if (selection.at(i)->type() == GROUPWIDGET) { + AbstractGroupItem *it = static_cast (selection.at(i)); + while (it->parentItem() && it->parentItem()->type() == GROUPWIDGET) { + it = static_cast (it->parentItem()); + } + if (!it || it->isItemLocked()) continue; + groupsList.insert(it); + } } for (int i = 0; i < selection.count(); ++i) { - if (selection.at(i)->type() == AVWIDGET || selection.at(i)->type() == TRANSITIONWIDGET) { - if (selection.at(i)->parentItem() && selection.at(i)->parentItem()->type() == GROUPWIDGET) { - AbstractGroupItem *it = static_cast (selection.at(i)->parentItem()); - while (it->parentItem() && it->parentItem()->type() == GROUPWIDGET) { - it = static_cast (it->parentItem()); - } - if (!it || it->isItemLocked()) continue; - groupsList.insert(it); - } - else { - AbstractClipItem *it = static_cast (selection.at(i)); - if (!it || it->isItemLocked()) continue; - itemsList.insert(selection.at(i)); - } - } + if (selection.at(i)->type() == AVWIDGET || selection.at(i)->type() == TRANSITIONWIDGET) { + if (selection.at(i)->parentItem() && selection.at(i)->parentItem()->type() == GROUPWIDGET) { + AbstractGroupItem *it = static_cast (selection.at(i)->parentItem()); + while (it->parentItem() && it->parentItem()->type() == GROUPWIDGET) { + it = static_cast (it->parentItem()); + } + if (!it || it->isItemLocked()) continue; + groupsList.insert(it); + } + else { + AbstractClipItem *it = static_cast (selection.at(i)); + if (!it || it->isItemLocked()) continue; + itemsList.insert(selection.at(i)); + } + } } if (itemsList.isEmpty() && groupsList.isEmpty()) return; if (itemsList.count() == 1 && groupsList.isEmpty()) { - // only one item selected: - QSetIterator it(itemsList); - m_dragItem = static_cast(it.next()); - m_dragItem->setSelected(true); - return; + // only one item selected: + QSetIterator it(itemsList); + m_dragItem = static_cast(it.next()); + m_dragItem->setSelected(true); + return; } QRectF rectUnion; @@ -1373,37 +1373,37 @@ void CustomTrackView::groupSelectedItems(QList selection, bool bool snap = KdenliveSettings::snaptopoints(); KdenliveSettings::setSnaptopoints(false); if (createNewGroup) { - AbstractGroupItem *newGroup = m_document->clipManager()->createGroup(); + AbstractGroupItem *newGroup = m_document->clipManager()->createGroup(); newGroup->setPos(rectUnion.left(), rectUnion.top() - 1); QPointF diff = newGroup->pos(); newGroup->translate(-diff.x(), -diff.y()); //newGroup->translate((int) -rectUnion.left(), (int) -rectUnion.top() + 1); // Check if we are trying to include a group in a group - foreach (QGraphicsItemGroup *value, groupsList) { - newGroup->addItem(value); - } - - foreach (QGraphicsItemGroup *value, groupsList) { - QList children = value->childItems(); - for (int i = 0; i < children.count(); ++i) { - if (children.at(i)->type() == AVWIDGET || children.at(i)->type() == TRANSITIONWIDGET) - itemsList.insert(children.at(i)); - } - AbstractGroupItem *grp = static_cast(value); - m_document->clipManager()->removeGroup(grp); - if (grp == m_selectionGroup) m_selectionGroup = NULL; - scene()->destroyItemGroup(grp); - } - - foreach (QGraphicsItem *value, itemsList) { - newGroup->addItem(value); + foreach (QGraphicsItemGroup *value, groupsList) { + newGroup->addItem(value); + } + + foreach (QGraphicsItemGroup *value, groupsList) { + QList children = value->childItems(); + for (int i = 0; i < children.count(); ++i) { + if (children.at(i)->type() == AVWIDGET || children.at(i)->type() == TRANSITIONWIDGET) + itemsList.insert(children.at(i)); + } + AbstractGroupItem *grp = static_cast(value); + m_document->clipManager()->removeGroup(grp); + if (grp == m_selectionGroup) m_selectionGroup = NULL; + scene()->destroyItemGroup(grp); + } + + foreach (QGraphicsItem *value, itemsList) { + newGroup->addItem(value); } scene()->addItem(newGroup); KdenliveSettings::setSnaptopoints(snap); - if (selectNewGroup) newGroup->setSelected(true); + if (selectNewGroup) newGroup->setSelected(true); } else { - m_selectionGroup = new AbstractGroupItem(m_document->fps()); + m_selectionGroup = new AbstractGroupItem(m_document->fps()); m_selectionGroup->setPos(rectUnion.left(), rectUnion.top() - 1); QPointF diff = m_selectionGroup->pos(); //m_selectionGroup->translate((int) - rectUnion.left(), (int) -rectUnion.top() + 1); @@ -1411,16 +1411,16 @@ void CustomTrackView::groupSelectedItems(QList selection, bool scene()->addItem(m_selectionGroup); foreach (QGraphicsItemGroup *value, groupsList) { - m_selectionGroup->addItem(value); + m_selectionGroup->addItem(value); } foreach (QGraphicsItem *value, itemsList) { - m_selectionGroup->addItem(value); + m_selectionGroup->addItem(value); } KdenliveSettings::setSnaptopoints(snap); if (m_selectionGroup) { - m_selectionGroupInfo.startPos = GenTime(m_selectionGroup->scenePos().x(), m_document->fps()); + m_selectionGroupInfo.startPos = GenTime(m_selectionGroup->scenePos().x(), m_document->fps()); m_selectionGroupInfo.track = m_selectionGroup->track(); - if (selectNewGroup) m_selectionGroup->setSelected(true); + if (selectNewGroup) m_selectionGroup->setSelected(true); } } } @@ -1453,13 +1453,13 @@ void CustomTrackView::mouseDoubleClickEvent(QMouseEvent *event) } else*/ { // add keyframe GenTime keyFramePos = GenTime((int)(mapToScene(event->pos()).x()), m_document->fps()) - m_dragItem->startPos() + m_dragItem->cropStart(); - int single = m_dragItem->checkForSingleKeyframe(); + int single = m_dragItem->checkForSingleKeyframe(); int val = m_dragItem->addKeyFrame(keyFramePos, mapToScene(event->pos()).toPoint().y()); ClipItem * item = static_cast (m_dragItem); - QDomElement oldEffect = item->selectedEffect().cloneNode().toElement(); - if (single > -1) { - item->insertKeyframe(item->getEffectAtIndex(item->selectedEffectIndex()), (item->cropStart() + item->cropDuration()).frames(m_document->fps()) - 1, single); - } + QDomElement oldEffect = item->selectedEffect().cloneNode().toElement(); + if (single > -1) { + item->insertKeyframe(item->getEffectAtIndex(item->selectedEffectIndex()), (item->cropStart() + item->cropDuration()).frames(m_document->fps()) - 1, single); + } //QString previous = item->keyframes(item->selectedEffectIndex()); item->insertKeyframe(item->getEffectAtIndex(item->selectedEffectIndex()), keyFramePos.frames(m_document->fps()), val); //item->updateKeyframeEffect(); @@ -1518,7 +1518,7 @@ void CustomTrackView::editItemDuration() getClipAvailableSpace(item, minimum, maximum); QPointer d = new ClipDurationDialog(item, - m_document->timecode(), minimum, maximum, this); + m_document->timecode(), minimum, maximum, this); if (d->exec() == QDialog::Accepted) { ItemInfo clipInfo = item->info(); ItemInfo startInfo = clipInfo; @@ -1646,11 +1646,11 @@ void CustomTrackView::insertClipCut(DocClipBase *clip, int in, int out) pasteInfo.track = selectedTrack(); bool ok = canBePastedTo(pasteInfo, AVWIDGET); if (!ok) { - // Cannot be inserted at cursor pos, insert at end of track - int duration = m_document->renderer()->mltTrackDuration(m_document->tracksCount() - pasteInfo.track) + 1; - pasteInfo.startPos = GenTime(duration, m_document->fps()); - pasteInfo.endPos = pasteInfo.startPos + info.endPos; - ok = canBePastedTo(pasteInfo, AVWIDGET); + // Cannot be inserted at cursor pos, insert at end of track + int duration = m_document->renderer()->mltTrackDuration(m_document->tracksCount() - pasteInfo.track) + 1; + pasteInfo.startPos = GenTime(duration, m_document->fps()); + pasteInfo.endPos = pasteInfo.startPos + info.endPos; + ok = canBePastedTo(pasteInfo, AVWIDGET); } if (!ok) { emit displayMessage(i18n("Cannot insert clip in timeline"), ErrorMessage); @@ -1685,7 +1685,7 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) resetSelectionGroup(false); QMutexLocker lock(&m_selectionMutex); if (track < 0 || track > m_document->tracksCount() - 1 || m_document->trackInfoAt(m_document->tracksCount() - track - 1).isLocked) return true; - if (data->hasFormat("kdenlive/clip")) { + if (data->hasFormat("kdenlive/clip")) { QStringList list = QString(data->data("kdenlive/clip")).split(';'); DocClipBase *clip = m_document->getBaseClip(list.at(0)); if (clip == NULL) { @@ -1720,11 +1720,11 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) QList offsetList; offsetList.append(info.endPos); updateSnapPoints(NULL, offsetList); - QStringList lockedTracks; - for (int i = 0; i < m_document->tracksCount(); ++i) { - if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); - } - m_selectionGroup->setProperty("locked_tracks", lockedTracks); + QStringList lockedTracks; + for (int i = 0; i < m_document->tracksCount(); ++i) { + if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); + } + m_selectionGroup->setProperty("locked_tracks", lockedTracks); m_selectionGroup->setPos(framePos); scene()->addItem(m_selectionGroup); m_selectionGroup->setSelected(true); @@ -1740,7 +1740,7 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) // Check if clips can be inserted at that position for (int i = 0; i < ids.size(); ++i) { - QString clipData = ids.at(i); + QString clipData = ids.at(i); DocClipBase *clip = m_document->getBaseClip(clipData.section('/', 0, 0)); if (clip == NULL) { kDebug() << " WARNING))))))))) CLIP NOT FOUND : " << ids.at(i); @@ -1752,17 +1752,17 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) } ItemInfo info; info.startPos = start; - if (clipData.contains('/')) { - // this is a clip zone, set in / out - int in = clipData.section('/', 1, 1).toInt(); - int out = clipData.section('/', 2, 2).toInt(); - info.cropStart = GenTime(in, m_document->fps()); - info.cropDuration = GenTime(out - in, m_document->fps()); - } + if (clipData.contains('/')) { + // this is a clip zone, set in / out + int in = clipData.section('/', 1, 1).toInt(); + int out = clipData.section('/', 2, 2).toInt(); + info.cropStart = GenTime(in, m_document->fps()); + info.cropDuration = GenTime(out - in, m_document->fps()); + } else { - info.cropDuration = clip->duration(); - } - info.endPos = info.startPos + info.cropDuration; + info.cropDuration = clip->duration(); + } + info.endPos = info.startPos + info.cropDuration; info.track = track; infoList.append(info); start += info.cropDuration; @@ -1777,43 +1777,43 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) DocClipBase *clip = m_document->getBaseClip(clipData.section('/', 0, 0)); ItemInfo info; info.startPos = start; - if (clipData.contains('/')) { - // this is a clip zone, set in / out - int in = clipData.section('/', 1, 1).toInt(); - int out = clipData.section('/', 2, 2).toInt(); - info.cropStart = GenTime(in, m_document->fps()); - info.cropDuration = GenTime(out - in, m_document->fps()); - } + if (clipData.contains('/')) { + // this is a clip zone, set in / out + int in = clipData.section('/', 1, 1).toInt(); + int out = clipData.section('/', 2, 2).toInt(); + info.cropStart = GenTime(in, m_document->fps()); + info.cropDuration = GenTime(out - in, m_document->fps()); + } else { - info.cropDuration = clip->duration(); - } - info.endPos = info.startPos + info.cropDuration; + info.cropDuration = clip->duration(); + } + info.endPos = info.startPos + info.cropDuration; info.track = 0; start += info.cropDuration; offsetList.append(start); ClipItem *item = new ClipItem(clip, info, m_document->fps(), 1.0, 1, getFrameWidth(), false); if (ids.size() > 1) m_selectionGroup->addItem(item); - else m_dragItem = item; - item->setSelected(true); + else m_dragItem = item; + item->setSelected(true); if (!clip->isPlaceHolder()) m_waitingThumbs.append(item); } updateSnapPoints(NULL, offsetList); - QStringList lockedTracks; - for (int i = 0; i < m_document->tracksCount(); ++i) { - if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); - } - + QStringList lockedTracks; + for (int i = 0; i < m_document->tracksCount(); ++i) { + if (m_document->trackInfoAt(i).isLocked) lockedTracks << QString::number(m_document->tracksCount() - i - 1); + } + if (m_selectionGroup) { - m_selectionGroup->setProperty("locked_tracks", lockedTracks); - m_selectionGroup->setPos(framePos); - scene()->addItem(m_selectionGroup); - } - else if (m_dragItem) { - m_dragItem->setProperty("locked_tracks", lockedTracks); - m_dragItem->setPos(framePos); - scene()->addItem(m_dragItem); - } + m_selectionGroup->setProperty("locked_tracks", lockedTracks); + m_selectionGroup->setPos(framePos); + scene()->addItem(m_selectionGroup); + } + else if (m_dragItem) { + m_dragItem->setProperty("locked_tracks", lockedTracks); + m_dragItem->setPos(framePos); + scene()->addItem(m_dragItem); + } //m_selectionGroup->setZValue(10); m_thumbsTimer.start(); } @@ -1825,13 +1825,13 @@ bool CustomTrackView::insertDropClips(const QMimeData *data, const QPoint &pos) void CustomTrackView::dragEnterEvent(QDragEnterEvent * event) { if (insertDropClips(event->mimeData(), event->pos())) { - if (event->source() == this) { - event->setDropAction(Qt::MoveAction); - event->accept(); - } else { - event->setDropAction(Qt::MoveAction); - event->acceptProposedAction(); - } + if (event->source() == this) { + event->setDropAction(Qt::MoveAction); + event->accept(); + } else { + event->setDropAction(Qt::MoveAction); + event->acceptProposedAction(); + } } else QGraphicsView::dragEnterEvent(event); } @@ -1906,9 +1906,9 @@ void CustomTrackView::addEffect(int track, GenTime pos, QDomElement effect) EffectsParameterList params = clip->addEffect(effect); if (!m_document->renderer()->mltAddEffect(track, pos, params)) { emit displayMessage(i18n("Problem adding effect to clip"), ErrorMessage); - clip->deleteEffect(params.paramValue("kdenlive_ix")); - } - else clip->setSelectedEffect(params.paramValue("kdenlive_ix").toInt()); + clip->deleteEffect(params.paramValue("kdenlive_ix")); + } + else clip->setSelectedEffect(params.paramValue("kdenlive_ix").toInt()); if (clip->isMainSelectedClip()) emit clipItemSelected(clip); } else emit displayMessage(i18n("Cannot find clip to add effect"), ErrorMessage); } @@ -1919,9 +1919,9 @@ void CustomTrackView::deleteEffect(int track, GenTime pos, QDomElement effect) if (pos < GenTime()) { // Delete track effect if (m_document->renderer()->mltRemoveTrackEffect(track, index.toInt(), true)) { - m_document->removeTrackEffect(track - 1, effect); - } - else emit displayMessage(i18n("Problem deleting effect"), ErrorMessage); + m_document->removeTrackEffect(track - 1, effect); + } + else emit displayMessage(i18n("Problem deleting effect"), ErrorMessage); emit updateTrackEffectState(track - 1); emit showTrackEffects(track, m_document->trackInfoAt(track - 1)); return; @@ -1944,7 +1944,7 @@ void CustomTrackView::deleteEffect(int track, GenTime pos, QDomElement effect) } ClipItem *clip = getClipItemAt((int)pos.frames(m_document->fps()), m_document->tracksCount() - track); if (clip) { - clip->deleteEffect(index); + clip->deleteEffect(index); if (clip->isMainSelectedClip()) emit clipItemSelected(clip); } } @@ -1960,31 +1960,31 @@ void CustomTrackView::slotAddGroupEffect(QDomElement effect, AbstractGroupItem * else effectName = i18n("effect"); effectCommand->setText(i18n("Add %1", effectName)); for (int i = 0; i < itemList.count(); ++i) { - if (itemList.at(i)->type() == GROUPWIDGET) { - itemList << itemList.at(i)->childItems(); - } + if (itemList.at(i)->type() == GROUPWIDGET) { + itemList << itemList.at(i)->childItems(); + } if (itemList.at(i)->type() == AVWIDGET) { ClipItem *item = static_cast (itemList.at(i)); if (effect.tagName() == "effectgroup") { - QDomNodeList effectlist = effect.elementsByTagName("effect"); - for (int j = 0; j < effectlist.count(); j++) { - QDomElement subeffect = effectlist.at(j).toElement(); - if (subeffect.hasAttribute("kdenlive_info")) { - // effect is in a group - EffectInfo effectInfo; - effectInfo.fromString(subeffect.attribute("kdenlive_info")); - if (effectInfo.groupIndex < 0) { - // group needs to be appended - effectInfo.groupIndex = item->nextFreeEffectGroupIndex(); - subeffect.setAttribute("kdenlive_info", effectInfo.toString()); - } - } - processEffect(item, subeffect, offset, effectCommand); - } - } + QDomNodeList effectlist = effect.elementsByTagName("effect"); + for (int j = 0; j < effectlist.count(); j++) { + QDomElement subeffect = effectlist.at(j).toElement(); + if (subeffect.hasAttribute("kdenlive_info")) { + // effect is in a group + EffectInfo effectInfo; + effectInfo.fromString(subeffect.attribute("kdenlive_info")); + if (effectInfo.groupIndex < 0) { + // group needs to be appended + effectInfo.groupIndex = item->nextFreeEffectGroupIndex(); + subeffect.setAttribute("kdenlive_info", effectInfo.toString()); + } + } + processEffect(item, subeffect, offset, effectCommand); + } + } else { - processEffect(item, effect, offset, effectCommand); - } + processEffect(item, effect, offset, effectCommand); + } } } if (effectCommand->childCount() > 0) { @@ -1992,10 +1992,10 @@ void CustomTrackView::slotAddGroupEffect(QDomElement effect, AbstractGroupItem * setDocumentModified(); } else delete effectCommand; if (dropTarget) { - clearSelection(false); - m_dragItem = dropTarget; - m_dragItem->setSelected(true); - emit clipItemSelected(static_cast(dropTarget)); + clearSelection(false); + m_dragItem = dropTarget; + m_dragItem->setSelected(true); + emit clipItemSelected(static_cast(dropTarget)); } } @@ -2009,14 +2009,14 @@ void CustomTrackView::slotDropEffect(ClipItem *clip, QDomElement effect, GenTime if (clip == NULL) return; slotAddEffect(effect, pos, track); if (clip->parentItem()) { - // Clip is in a group, should not happen - kDebug()<<"/// DROPPED ON ITEM IN GRP"; + // Clip is in a group, should not happen + kDebug()<<"/// DROPPED ON ITEM IN GRP"; } else if (clip != m_dragItem) { - clearSelection(false); - m_dragItem = clip; - clip->setSelected(true); - emit clipItemSelected(clip); + clearSelection(false); + m_dragItem = clip; + clip->setSelected(true); + emit clipItemSelected(clip); } } @@ -2027,11 +2027,11 @@ void CustomTrackView::slotAddEffect(QDomElement effect, GenTime pos, int track) QString effectName; int offset = effect.attribute("clipstart").toInt(); if (effect.tagName() == "effectgroup") { - effectName = effect.attribute("name"); + effectName = effect.attribute("name"); } else { - QDomElement namenode = effect.firstChildElement("name"); - if (!namenode.isNull()) effectName = i18n(namenode.text().toUtf8().data()); - else effectName = i18n("effect"); + QDomElement namenode = effect.firstChildElement("name"); + if (!namenode.isNull()) effectName = i18n(namenode.text().toUtf8().data()); + else effectName = i18n("effect"); } effectCommand->setText(i18n("Add %1", effectName)); @@ -2055,93 +2055,93 @@ void CustomTrackView::slotAddEffect(QDomElement effect, GenTime pos, int track) for (int i = 0; i < itemList.count(); ++i) { if (itemList.at(i)->type() == AVWIDGET) { ClipItem *item = static_cast (itemList.at(i)); - if (effect.tagName() == "effectgroup") { - QDomNodeList effectlist = effect.elementsByTagName("effect"); - for (int j = 0; j < effectlist.count(); j++) { - QDomElement subeffect = effectlist.at(j).toElement(); - if (subeffect.hasAttribute("kdenlive_info")) { - // effect is in a group - EffectInfo effectInfo; - effectInfo.fromString(subeffect.attribute("kdenlive_info")); - if (effectInfo.groupIndex < 0) { - // group needs to be appended - effectInfo.groupIndex = item->nextFreeEffectGroupIndex(); - subeffect.setAttribute("kdenlive_info", effectInfo.toString()); - } - } - processEffect(item, subeffect, offset, effectCommand); - } - } + if (effect.tagName() == "effectgroup") { + QDomNodeList effectlist = effect.elementsByTagName("effect"); + for (int j = 0; j < effectlist.count(); j++) { + QDomElement subeffect = effectlist.at(j).toElement(); + if (subeffect.hasAttribute("kdenlive_info")) { + // effect is in a group + EffectInfo effectInfo; + effectInfo.fromString(subeffect.attribute("kdenlive_info")); + if (effectInfo.groupIndex < 0) { + // group needs to be appended + effectInfo.groupIndex = item->nextFreeEffectGroupIndex(); + subeffect.setAttribute("kdenlive_info", effectInfo.toString()); + } + } + processEffect(item, subeffect, offset, effectCommand); + } + } else processEffect(item, effect, offset, effectCommand); } } if (effectCommand->childCount() > 0) { m_commandStack->push(effectCommand); setDocumentModified(); - /*if (effectCommand->childCount() == 1) { - // Display newly added clip effect - for (int i = 0; i < itemList.count(); ++i) { - if (itemList.at(i)->type() == AVWIDGET) { - ClipItem *clip = static_cast(itemList.at(i)); - clip->setSelectedEffect(clip->effectsCount()); - if (!clip->isSelected() && (!m_dragItem || !itemList.contains(m_dragItem))) { - kDebug()<<"// CLIP WAS NO SELECTED, DRG: "<<(m_dragItem == NULL); - clearSelection(false); - clip->setSelected(true); - m_dragItem = clip; - emit clipItemSelected(clip); - break; - } - } - } - } - else { - for (int i = 0; i < itemList.count(); ++i) { - if (itemList.at(i)->type() == AVWIDGET) { - ClipItem *clip = static_cast(itemList.at(i)); - if (clip->isMainSelectedClip()) { - emit clipItemSelected(clip); - break; - } - } - } - }*/ + /*if (effectCommand->childCount() == 1) { + // Display newly added clip effect + for (int i = 0; i < itemList.count(); ++i) { + if (itemList.at(i)->type() == AVWIDGET) { + ClipItem *clip = static_cast(itemList.at(i)); + clip->setSelectedEffect(clip->effectsCount()); + if (!clip->isSelected() && (!m_dragItem || !itemList.contains(m_dragItem))) { + kDebug()<<"// CLIP WAS NO SELECTED, DRG: "<<(m_dragItem == NULL); + clearSelection(false); + clip->setSelected(true); + m_dragItem = clip; + emit clipItemSelected(clip); + break; + } + } + } + } + else { + for (int i = 0; i < itemList.count(); ++i) { + if (itemList.at(i)->type() == AVWIDGET) { + ClipItem *clip = static_cast(itemList.at(i)); + if (clip->isMainSelectedClip()) { + emit clipItemSelected(clip); + break; + } + } + } + }*/ } else delete effectCommand; } void CustomTrackView::processEffect(ClipItem *item, QDomElement effect, int offset, QUndoCommand *effectCommand) { if (effect.attribute("type") == "audio") { - // Don't add audio effects on video clips + // Don't add audio effects on video clips if (item->isVideoOnly() || (item->clipType() != AUDIO && item->clipType() != AV && item->clipType() != PLAYLIST)) { - /* do not show error message when item is part of a group as the user probably knows what he does then + /* do not show error message when item is part of a group as the user probably knows what he does then * and the message is annoying when working with the split audio feature */ if (!item->parentItem() || item->parentItem() == m_selectionGroup) - emit displayMessage(i18n("Cannot add an audio effect to this clip"), ErrorMessage); + emit displayMessage(i18n("Cannot add an audio effect to this clip"), ErrorMessage); return; } } else if (effect.attribute("type") == "video" || !effect.hasAttribute("type")) { - // Don't add video effect on audio clips + // Don't add video effect on audio clips if (item->isAudioOnly() || item->clipType() == AUDIO) { - /* do not show error message when item is part of a group as the user probably knows what he does then + /* do not show error message when item is part of a group as the user probably knows what he does then * and the message is annoying when working with the split audio feature */ if (!item->parentItem() || item->parentItem() == m_selectionGroup) - emit displayMessage(i18n("Cannot add a video effect to this clip"), ErrorMessage); + emit displayMessage(i18n("Cannot add a video effect to this clip"), ErrorMessage); return; } } if (effect.attribute("unique", "0") != "0" && item->hasEffect(effect.attribute("tag"), effect.attribute("id")) != -1) { - emit displayMessage(i18n("Effect already present in clip"), ErrorMessage); + emit displayMessage(i18n("Effect already present in clip"), ErrorMessage); return; } if (item->isItemLocked()) { - return; + return; } if (effect.attribute("id") == "freeze" && m_cursorPos > item->startPos().frames(m_document->fps()) && m_cursorPos < item->endPos().frames(m_document->fps())) { - item->initEffect(effect, m_cursorPos - item->startPos().frames(m_document->fps()), offset); + item->initEffect(effect, m_cursorPos - item->startPos().frames(m_document->fps()), offset); } else { - item->initEffect(effect, 0, offset); + item->initEffect(effect, 0, offset); } new AddEffectCommand(this, m_document->tracksCount() - item->track(), item->startPos(), effect, true, effectCommand); } @@ -2200,7 +2200,7 @@ void CustomTrackView::slotDeleteEffect(ClipItem *clip, int track, QDomElement ef void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedEffect, bool updateEffectStack) { if (insertedEffect.isNull()) { - kDebug()<<"// Trying to add null effect"; + kDebug()<<"// Trying to add null effect"; emit displayMessage(i18n("Problem editing effect"), ErrorMessage); return; } @@ -2217,7 +2217,7 @@ void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedE }*/ if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - track, pos, effectParams)) { emit displayMessage(i18n("Problem editing effect"), ErrorMessage); - } + } m_document->setTrackEffect(m_document->tracksCount() - track - 1, ix, effect); emit updateTrackEffectState(track); setDocumentModified(); @@ -2238,12 +2238,12 @@ void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedE doChangeClipSpeed(clip->info(), clip->speedIndependantInfo(), speed, clip->speed(), strobe, clip->baseClip()->getId()); } clip->updateEffect(effect); - if (updateEffectStack && clip->isSelected()) - emit clipItemSelected(clip); - if (ix == clip->selectedEffectIndex()) { - // make sure to update display of clip keyframes - clip->setSelectedEffect(ix); - } + if (updateEffectStack && clip->isSelected()) + emit clipItemSelected(clip); + if (ix == clip->selectedEffectIndex()) { + // make sure to update display of clip keyframes + clip->setSelectedEffect(ix); + } return; } @@ -2265,19 +2265,19 @@ void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedE clip->setFadeOut(pos); } } - bool success = m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams); + bool success = m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams); if (success) { - clip->updateEffect(effect); - if (updateEffectStack && clip->isSelected()) { - emit clipItemSelected(clip); - } - if (ix == clip->selectedEffectIndex()) { - // make sure to update display of clip keyframes - clip->setSelectedEffect(ix); - } - } - else emit displayMessage(i18n("Problem editing effect"), ErrorMessage); + clip->updateEffect(effect); + if (updateEffectStack && clip->isSelected()) { + emit clipItemSelected(clip); + } + if (ix == clip->selectedEffectIndex()) { + // make sure to update display of clip keyframes + clip->setSelectedEffect(ix); + } + } + else emit displayMessage(i18n("Problem editing effect"), ErrorMessage); } else emit displayMessage(i18n("Cannot find clip to update effect"), ErrorMessage); setDocumentModified(); @@ -2289,8 +2289,8 @@ void CustomTrackView::updateEffectState(int track, GenTime pos, QList effe // editing a track effect if (!m_document->renderer()->mltEnableEffects(m_document->tracksCount() - track, pos, effectIndexes, disable)) { emit displayMessage(i18n("Problem editing effect"), ErrorMessage); - return; - } + return; + } m_document->enableTrackEffects(m_document->tracksCount() - track - 1, effectIndexes, disable); emit updateTrackEffectState(track); setDocumentModified(); @@ -2299,18 +2299,18 @@ void CustomTrackView::updateEffectState(int track, GenTime pos, QList effe // editing a clip effect ClipItem *clip = getClipItemAt((int)pos.frames(m_document->fps()), m_document->tracksCount() - track); if (clip) { - bool success = m_document->renderer()->mltEnableEffects(m_document->tracksCount() - clip->track(), clip->startPos(), effectIndexes, disable); - if (success) { - clip->enableEffects(effectIndexes, disable); - if (updateEffectStack && clip->isSelected()) { - emit clipItemSelected(clip); - } - if (effectIndexes.contains(clip->selectedEffectIndex())) { - // make sure to update display of clip keyframes - clip->setSelectedEffect(clip->selectedEffectIndex()); - } - } - else emit displayMessage(i18n("Problem editing effect"), ErrorMessage); + bool success = m_document->renderer()->mltEnableEffects(m_document->tracksCount() - clip->track(), clip->startPos(), effectIndexes, disable); + if (success) { + clip->enableEffects(effectIndexes, disable); + if (updateEffectStack && clip->isSelected()) { + emit clipItemSelected(clip); + } + if (effectIndexes.contains(clip->selectedEffectIndex())) { + // make sure to update display of clip keyframes + clip->setSelectedEffect(clip->selectedEffectIndex()); + } + } + else emit displayMessage(i18n("Problem editing effect"), ErrorMessage); } else emit displayMessage(i18n("Cannot find clip to update effect"), ErrorMessage); } @@ -2321,56 +2321,56 @@ void CustomTrackView::moveEffect(int track, GenTime pos, QList oldPos, QLi // Moving track effect int documentTrack = m_document->tracksCount() - track - 1; int max = m_document->getTrackEffects(documentTrack).count(); - int new_position = newPos.at(0); - if (new_position > max) { - new_position = max; - } - int old_position = oldPos.at(0); - for (int i = 0; i < newPos.count(); ++i) { - QDomElement act = m_document->getTrackEffect(documentTrack, new_position); - if (old_position > new_position) { - // Moving up, we need to adjust index - old_position = oldPos.at(i); - new_position = newPos.at(i); - } - QDomElement before = m_document->getTrackEffect(documentTrack, old_position); - if (!act.isNull() && !before.isNull()) { - m_document->setTrackEffect(documentTrack, new_position, before); - m_document->renderer()->mltMoveEffect(m_document->tracksCount() - track, pos, old_position, new_position); - } else emit displayMessage(i18n("Cannot move effect"), ErrorMessage); - } - emit showTrackEffects(m_document->tracksCount() - track, m_document->trackInfoAt(documentTrack)); + int new_position = newPos.at(0); + if (new_position > max) { + new_position = max; + } + int old_position = oldPos.at(0); + for (int i = 0; i < newPos.count(); ++i) { + QDomElement act = m_document->getTrackEffect(documentTrack, new_position); + if (old_position > new_position) { + // Moving up, we need to adjust index + old_position = oldPos.at(i); + new_position = newPos.at(i); + } + QDomElement before = m_document->getTrackEffect(documentTrack, old_position); + if (!act.isNull() && !before.isNull()) { + m_document->setTrackEffect(documentTrack, new_position, before); + m_document->renderer()->mltMoveEffect(m_document->tracksCount() - track, pos, old_position, new_position); + } else emit displayMessage(i18n("Cannot move effect"), ErrorMessage); + } + emit showTrackEffects(m_document->tracksCount() - track, m_document->trackInfoAt(documentTrack)); return; } ClipItem *clip = getClipItemAt((int)pos.frames(m_document->fps()), m_document->tracksCount() - track); if (clip) { - int new_position = newPos.at(0); - if (new_position > clip->effectsCount()) { - new_position = clip->effectsCount(); - } - int old_position = oldPos.at(0); - for (int i = 0; i < newPos.count(); ++i) { - QDomElement act = clip->effectAtIndex(new_position); - if (old_position > new_position) { - // Moving up, we need to adjust index - old_position = oldPos.at(i); - new_position = newPos.at(i); - } - QDomElement before = clip->effectAtIndex(old_position); - if (act.isNull() || before.isNull()) { - emit displayMessage(i18n("Cannot move effect"), ErrorMessage); - return; - } - clip->moveEffect(before, new_position); - // special case: speed effect, which is a pseudo-effect, not appearing in MLT's effects - if (act.attribute("id") == "speed") { - m_document->renderer()->mltUpdateEffectPosition(track, pos, old_position, new_position); - } else if (before.attribute("id") == "speed") { - m_document->renderer()->mltUpdateEffectPosition(track, pos, new_position, old_position); - } else m_document->renderer()->mltMoveEffect(track, pos, old_position, new_position); - } - clip->setSelectedEffect(newPos.at(0)); - emit clipItemSelected(clip); + int new_position = newPos.at(0); + if (new_position > clip->effectsCount()) { + new_position = clip->effectsCount(); + } + int old_position = oldPos.at(0); + for (int i = 0; i < newPos.count(); ++i) { + QDomElement act = clip->effectAtIndex(new_position); + if (old_position > new_position) { + // Moving up, we need to adjust index + old_position = oldPos.at(i); + new_position = newPos.at(i); + } + QDomElement before = clip->effectAtIndex(old_position); + if (act.isNull() || before.isNull()) { + emit displayMessage(i18n("Cannot move effect"), ErrorMessage); + return; + } + clip->moveEffect(before, new_position); + // special case: speed effect, which is a pseudo-effect, not appearing in MLT's effects + if (act.attribute("id") == "speed") { + m_document->renderer()->mltUpdateEffectPosition(track, pos, old_position, new_position); + } else if (before.attribute("id") == "speed") { + m_document->renderer()->mltUpdateEffectPosition(track, pos, new_position, old_position); + } else m_document->renderer()->mltMoveEffect(track, pos, old_position, new_position); + } + clip->setSelectedEffect(newPos.at(0)); + emit clipItemSelected(clip); setDocumentModified(); } else emit displayMessage(i18n("Cannot move effect"), ErrorMessage); } @@ -2382,22 +2382,22 @@ void CustomTrackView::slotChangeEffectState(ClipItem *clip, int track, QList tracksCount() - track, GenTime(-1), effectIndexes, disable, false, true); } else { - // Check if we have a speed effect, disabling / enabling it needs a special procedure since it is a pseudoo effect - QList speedEffectIndexes; - for (int i = 0; i < effectIndexes.count(); ++i) { - QDomElement effect = clip->effectAtIndex(effectIndexes.at(i)); - if (effect.attribute("id") == "speed") { - // speed effect - speedEffectIndexes << effectIndexes.at(i); - QDomElement newEffect = effect.cloneNode().toElement(); - newEffect.setAttribute("disable", (int) disable); - EditEffectCommand *editcommand = new EditEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), effect, newEffect, effectIndexes.at(i), false, true); - m_commandStack->push(editcommand); - } - } - for (int j = 0; j < speedEffectIndexes.count(); j++) { - effectIndexes.removeAll(speedEffectIndexes.at(j)); - } + // Check if we have a speed effect, disabling / enabling it needs a special procedure since it is a pseudoo effect + QList speedEffectIndexes; + for (int i = 0; i < effectIndexes.count(); ++i) { + QDomElement effect = clip->effectAtIndex(effectIndexes.at(i)); + if (effect.attribute("id") == "speed") { + // speed effect + speedEffectIndexes << effectIndexes.at(i); + QDomElement newEffect = effect.cloneNode().toElement(); + newEffect.setAttribute("disable", (int) disable); + EditEffectCommand *editcommand = new EditEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), effect, newEffect, effectIndexes.at(i), false, true); + m_commandStack->push(editcommand); + } + } + for (int j = 0; j < speedEffectIndexes.count(); j++) { + effectIndexes.removeAll(speedEffectIndexes.at(j)); + } command = new ChangeEffectStateCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), effectIndexes, disable, false, true); } m_commandStack->push(command); @@ -2448,12 +2448,12 @@ ClipItem *CustomTrackView::cutClip(ItemInfo info, GenTime cutTime, bool cut, Eff } if (execute) { - if (!m_document->renderer()->mltCutClip(m_document->tracksCount() - info.track, cutTime)) { - // Error cuting clip in playlist - m_blockRefresh = false; - return NULL; - } - } + if (!m_document->renderer()->mltCutClip(m_document->tracksCount() - info.track, cutTime)) { + // Error cuting clip in playlist + m_blockRefresh = false; + return NULL; + } + } int cutPos = (int) cutTime.frames(m_document->fps()); ItemInfo newPos; newPos.startPos = cutTime; @@ -2493,7 +2493,7 @@ ClipItem *CustomTrackView::cutClip(ItemInfo info, GenTime cutTime, bool cut, Eff item->resizeEnd(cutPos); scene()->addItem(dup); - + if (item->checkKeyFrames(m_document->width(), m_document->height(), info.cropDuration.frames(m_document->fps()))) slotRefreshEffects(item); @@ -2505,11 +2505,11 @@ ClipItem *CustomTrackView::cutClip(ItemInfo info, GenTime cutTime, bool cut, Eff setDocumentModified(); KdenliveSettings::setSnaptopoints(snap); if (execute && item->isSelected()) { - m_scene->clearSelection(); - dup->setSelected(true); - m_dragItem = dup; + m_scene->clearSelection(); + dup->setSelected(true); + m_dragItem = dup; emit clipItemSelected(dup); - } + } return dup; } else { // uncut clip @@ -2548,7 +2548,7 @@ ClipItem *CustomTrackView::cutClip(ItemInfo info, GenTime cutTime, bool cut, Eff bool success = m_document->renderer()->mltResizeClipEnd(clipinfo, info.endPos - info.startPos, false); if (success) { item->resizeEnd((int) info.endPos.frames(m_document->fps())); - item->setEffectList(oldStack); + item->setEffectList(oldStack); setDocumentModified(); } else { emit displayMessage(i18n("Error when resizing clip"), ErrorMessage); @@ -2628,31 +2628,31 @@ void CustomTrackView::slotAddTransitionToSelectedClips(QDomElement transition) } } } else for (int i = 0; i < itemList.count(); ++i) { - if (itemList.at(i)->type() == AVWIDGET) { - ClipItem *item = (ClipItem *) itemList.at(i); - ItemInfo info; - info.startPos = item->startPos(); - info.endPos = info.startPos + GenTime(65, m_document->fps()); - info.track = item->track(); + if (itemList.at(i)->type() == AVWIDGET) { + ClipItem *item = (ClipItem *) itemList.at(i); + ItemInfo info; + info.startPos = item->startPos(); + info.endPos = info.startPos + GenTime(65, m_document->fps()); + info.track = item->track(); - // Check there is no other transition at that place - double startY = info.track * m_tracksHeight + 1 + m_tracksHeight / 2; - QRectF r(info.startPos.frames(m_document->fps()), startY, (info.endPos - info.startPos).frames(m_document->fps()), m_tracksHeight / 2); - QList selection = m_scene->items(r); - bool transitionAccepted = true; - for (int i = 0; i < selection.count(); ++i) { - if (selection.at(i)->type() == TRANSITIONWIDGET) { - Transition *tr = static_cast (selection.at(i)); - if (tr->startPos() - info.startPos > GenTime(5, m_document->fps())) { - if (tr->startPos() < info.endPos) info.endPos = tr->startPos(); - } else transitionAccepted = false; - } + // Check there is no other transition at that place + double startY = info.track * m_tracksHeight + 1 + m_tracksHeight / 2; + QRectF r(info.startPos.frames(m_document->fps()), startY, (info.endPos - info.startPos).frames(m_document->fps()), m_tracksHeight / 2); + QList selection = m_scene->items(r); + bool transitionAccepted = true; + for (int i = 0; i < selection.count(); ++i) { + if (selection.at(i)->type() == TRANSITIONWIDGET) { + Transition *tr = static_cast (selection.at(i)); + if (tr->startPos() - info.startPos > GenTime(5, m_document->fps())) { + if (tr->startPos() < info.endPos) info.endPos = tr->startPos(); + } else transitionAccepted = false; } - int transitiontrack = getPreviousVideoTrack(info.track); - if (transitionAccepted) slotAddTransition(item, info, transitiontrack, transition); - else emit displayMessage(i18n("Cannot add transition"), ErrorMessage); } + int transitiontrack = getPreviousVideoTrack(info.track); + if (transitionAccepted) slotAddTransition(item, info, transitiontrack, transition); + else emit displayMessage(i18n("Cannot add transition"), ErrorMessage); } + } } void CustomTrackView::slotAddTransition(ClipItem* /*clip*/, ItemInfo transitionInfo, int endTrack, QDomElement transition) @@ -2752,10 +2752,10 @@ void CustomTrackView::dragMoveEvent(QDragMoveEvent * event) emit mousePosition((int)(m_selectionGroup->scenePos().x() + 0.5)); event->acceptProposedAction(); } else if (m_dragItem) { - m_dragItem->setPos(pos); + m_dragItem->setPos(pos); emit mousePosition((int)(m_dragItem->scenePos().x() + 0.5)); event->acceptProposedAction(); - } else { + } else { // Drag enter was not possible, try again at mouse position insertDropClips(event->mimeData(), event->pos()); event->accept(); @@ -2771,14 +2771,14 @@ void CustomTrackView::dragLeaveEvent(QDragLeaveEvent * event) m_thumbsTimer.stop(); m_waitingThumbs.clear(); QList items; - QMutexLocker lock(&m_selectionMutex); - if (m_selectionGroup) items = m_selectionGroup->childItems(); - else if (m_dragItem) items.append(m_dragItem); + QMutexLocker lock(&m_selectionMutex); + if (m_selectionGroup) items = m_selectionGroup->childItems(); + else if (m_dragItem) items.append(m_dragItem); qDeleteAll(items); if (m_selectionGroup) scene()->destroyItemGroup(m_selectionGroup); m_selectionGroup = NULL; - m_dragItem = NULL; - event->accept(); + m_dragItem = NULL; + event->accept(); } else QGraphicsView::dragLeaveEvent(event); } @@ -2786,18 +2786,18 @@ void CustomTrackView::dropEvent(QDropEvent * event) { if ((m_selectionGroup || m_dragItem) && m_clipDrag) { QList items; - if (m_selectionGroup) items = m_selectionGroup->childItems(); - else if (m_dragItem) items.append(m_dragItem); + if (m_selectionGroup) items = m_selectionGroup->childItems(); + else if (m_dragItem) items.append(m_dragItem); resetSelectionGroup(); - m_dragItem = NULL; + m_dragItem = NULL; m_scene->clearSelection(); bool hasVideoClip = false; QUndoCommand *addCommand = new QUndoCommand(); addCommand->setText(i18n("Add timeline clip")); QList brokenClips; - - // Add refresh command for undo - new RefreshMonitorCommand(this, false, true, addCommand); + + // Add refresh command for undo + new RefreshMonitorCommand(this, false, true, addCommand); for (int i = 0; i < items.count(); ++i) { ClipItem *item = static_cast (items.at(i)); @@ -2833,16 +2833,16 @@ void CustomTrackView::dropEvent(QDropEvent * event) if (item->baseClip()->isTransparent() && getTransitionItemAtStart(info.startPos, info.track) == NULL) { // add transparency transition if space is available - if (canBePastedTo(info, TRANSITIONWIDGET)) { - QDomElement trans = MainWindow::transitions.getEffectByTag("affine", QString()).cloneNode().toElement(); - new AddTransitionCommand(this, info, getPreviousVideoTrack(info.track), trans, false, true, addCommand); - } + if (canBePastedTo(info, TRANSITIONWIDGET)) { + QDomElement trans = MainWindow::transitions.getEffectByTag("affine", QString()).cloneNode().toElement(); + new AddTransitionCommand(this, info, getPreviousVideoTrack(info.track), trans, false, true, addCommand); + } } item->setSelected(true); } // Add refresh command for redo - new RefreshMonitorCommand(this, false, false, addCommand); - + new RefreshMonitorCommand(this, false, false, addCommand); + qDeleteAll(brokenClips); brokenClips.clear(); if (addCommand->childCount() > 0) m_commandStack->push(addCommand); @@ -2883,7 +2883,7 @@ void CustomTrackView::dropEvent(QDropEvent * event) event->accept(); /// \todo enable when really working -// alignAudio(); + // alignAudio(); } else QGraphicsView::dropEvent(event); setFocus(); @@ -2922,8 +2922,8 @@ void CustomTrackView::adjustTimelineClips(EDITMODE mode, ClipItem *item, ItemInf new ResizeClipCommand(this, dupInfo, newdupInfo, false, false, command); ClipItem *dup = cutClip(clipInfo, info.startPos, true, EffectsList(), false); if (dup) { - dup->resizeStart(info.endPos.frames(m_document->fps())); - } + dup->resizeStart(info.endPos.frames(m_document->fps())); + } } else { ItemInfo newclipInfo = clip->info(); newclipInfo.endPos = info.startPos; @@ -3064,7 +3064,7 @@ void CustomTrackView::addTrack(TrackInfo type, int ix) QRectF r(0, startY, sceneRect().width(), sceneRect().height() - startY); QList selection = m_scene->items(r); resetSelectionGroup(); - m_selectionMutex.lock(); + m_selectionMutex.lock(); m_selectionGroup = new AbstractGroupItem(m_document->fps()); scene()->addItem(m_selectionGroup); for (int i = 0; i < selection.count(); ++i) { @@ -3108,15 +3108,15 @@ void CustomTrackView::addTrack(TrackInfo type, int ix) }*/ } // Sync transition tracks with MLT playlist - Transition *tr; - TransitionInfo info; - for (int i = 0; i < transitionInfos.count(); ++i) { - info = transitionInfos.at(i); - tr = getTransitionItem(info); - if (tr) tr->setForcedTrack(info.forceTrack, info.a_track); - else kDebug()<<"// Cannot update TRANSITION AT: "<fps()); - } - m_selectionMutex.unlock(); + Transition *tr; + TransitionInfo info; + for (int i = 0; i < transitionInfos.count(); ++i) { + info = transitionInfos.at(i); + tr = getTransitionItem(info); + if (tr) tr->setForcedTrack(info.forceTrack, info.a_track); + else kDebug()<<"// Cannot update TRANSITION AT: "<fps()); + } + m_selectionMutex.unlock(); resetSelectionGroup(false); m_document->renderer()->unlockService(tractor); } @@ -3209,7 +3209,7 @@ void CustomTrackView::removeTrack(int ix) //QTimer::singleShot(500, this, SIGNAL(trackHeightChanged())); } -void CustomTrackView::configTracks(QList < TrackInfo > trackInfos) +void CustomTrackView::configTracks(const QList < TrackInfo > &trackInfos) { for (int i = 0; i < trackInfos.count(); ++i) { m_document->setTrackType(i, trackInfos.at(i)); @@ -3429,12 +3429,12 @@ void CustomTrackView::slotRemoveSpace() // We need to fix the move length length = info.startPos.frames(m_document->fps()) - transitionCorrection; } - + // Make sure we don't send transition before 0 if (info.startPos.frames(m_document->fps()) < length) { // reduce length to maximum possible length = info.startPos.frames(m_document->fps()); - } + } } InsertSpaceCommand *command = new InsertSpaceCommand(this, clipsToMove, transitionsToMove, track, GenTime(-length, m_document->fps()), true); @@ -3453,7 +3453,7 @@ void CustomTrackView::slotInsertSpace() track = (int)(mapToScene(m_menuPosition).y() / m_tracksHeight) + 1; } QPointer d = new SpacerDialog(GenTime(65, m_document->fps()), - m_document->timecode(), track, m_document->tracksList(), this); + m_document->timecode(), track, m_document->tracksList(), this); if (d->exec() != QDialog::Accepted) { delete d; return; @@ -3527,31 +3527,31 @@ void CustomTrackView::insertSpace(QList clipsToMove, QList t } if (!clipsToMove.isEmpty()) for (int i = 0; i < clipsToMove.count(); ++i) { - clip = getClipItemAtStart(clipsToMove.at(i).startPos + offset, clipsToMove.at(i).track); - if (clip) { - if (clip->parentItem()) { - m_selectionGroup->addItem(clip->parentItem()); - } else { - m_selectionGroup->addItem(clip); - } - if (trackClipStartList.value(m_document->tracksCount() - clipsToMove.at(i).track) == -1 || clipsToMove.at(i).startPos.frames(m_document->fps()) < trackClipStartList.value(m_document->tracksCount() - clipsToMove.at(i).track)) - trackClipStartList[m_document->tracksCount() - clipsToMove.at(i).track] = clipsToMove.at(i).startPos.frames(m_document->fps()); - } else emit { - displayMessage(i18n("Cannot move clip at position %1, track %2", m_document->timecode().getTimecodeFromFrames((clipsToMove.at(i).startPos + offset).frames(m_document->fps())), clipsToMove.at(i).track), ErrorMessage); - } + clip = getClipItemAtStart(clipsToMove.at(i).startPos + offset, clipsToMove.at(i).track); + if (clip) { + if (clip->parentItem()) { + m_selectionGroup->addItem(clip->parentItem()); + } else { + m_selectionGroup->addItem(clip); } - if (!transToMove.isEmpty()) for (int i = 0; i < transToMove.count(); ++i) { - transition = getTransitionItemAtStart(transToMove.at(i).startPos + offset, transToMove.at(i).track); - if (transition) { - if (transition->parentItem()) { - m_selectionGroup->addItem(transition->parentItem()); - } else { - m_selectionGroup->addItem(transition); - } - if (trackTransitionStartList.value(m_document->tracksCount() - transToMove.at(i).track) == -1 || transToMove.at(i).startPos.frames(m_document->fps()) < trackTransitionStartList.value(m_document->tracksCount() - transToMove.at(i).track)) - trackTransitionStartList[m_document->tracksCount() - transToMove.at(i).track] = transToMove.at(i).startPos.frames(m_document->fps()); - } else emit displayMessage(i18n("Cannot move transition at position %1, track %2", m_document->timecode().getTimecodeFromFrames(transToMove.at(i).startPos.frames(m_document->fps())), transToMove.at(i).track), ErrorMessage); + if (trackClipStartList.value(m_document->tracksCount() - clipsToMove.at(i).track) == -1 || clipsToMove.at(i).startPos.frames(m_document->fps()) < trackClipStartList.value(m_document->tracksCount() - clipsToMove.at(i).track)) + trackClipStartList[m_document->tracksCount() - clipsToMove.at(i).track] = clipsToMove.at(i).startPos.frames(m_document->fps()); + } else { + emit displayMessage(i18n("Cannot move clip at position %1, track %2", m_document->timecode().getTimecodeFromFrames((clipsToMove.at(i).startPos + offset).frames(m_document->fps())), clipsToMove.at(i).track), ErrorMessage); } + } + if (!transToMove.isEmpty()) for (int i = 0; i < transToMove.count(); ++i) { + transition = getTransitionItemAtStart(transToMove.at(i).startPos + offset, transToMove.at(i).track); + if (transition) { + if (transition->parentItem()) { + m_selectionGroup->addItem(transition->parentItem()); + } else { + m_selectionGroup->addItem(transition); + } + if (trackTransitionStartList.value(m_document->tracksCount() - transToMove.at(i).track) == -1 || transToMove.at(i).startPos.frames(m_document->fps()) < trackTransitionStartList.value(m_document->tracksCount() - transToMove.at(i).track)) + trackTransitionStartList[m_document->tracksCount() - transToMove.at(i).track] = transToMove.at(i).startPos.frames(m_document->fps()); + } else emit displayMessage(i18n("Cannot move transition at position %1, track %2", m_document->timecode().getTimecodeFromFrames(transToMove.at(i).startPos.frames(m_document->fps())), transToMove.at(i).track), ErrorMessage); + } m_selectionGroup->translate(diff, 0); // update items coordinates @@ -3586,10 +3586,10 @@ void CustomTrackView::deleteClip(const QString &clipId) if (itemList.at(i)->type() == AVWIDGET) { ClipItem *item = (ClipItem *)itemList.at(i); if (item->clipProducer() == clipId) { - count++; + count++; if (item->parentItem()) { - // Clip is in a group, destroy the group - new GroupClipsCommand(this, QList() << item->info(), QList(), false, deleteCommand); + // Clip is in a group, destroy the group + new GroupClipsCommand(this, QList() << item->info(), QList(), false, deleteCommand); } new AddTimelineClipCommand(this, item->xml(), item->clipProducer(), item->info(), item->effectList(), false, false, true, true, deleteCommand); } @@ -3598,8 +3598,8 @@ void CustomTrackView::deleteClip(const QString &clipId) if (count == 0) { delete deleteCommand; } else { - deleteCommand->setText(i18np("Delete timeline clip", "Delete timeline clips", count)); - new RefreshMonitorCommand(this, true, false, deleteCommand); + deleteCommand->setText(i18np("Delete timeline clip", "Delete timeline clips", count)); + new RefreshMonitorCommand(this, true, false, deleteCommand); updateTrackDuration(-1, deleteCommand); m_commandStack->push(deleteCommand); } @@ -3620,10 +3620,10 @@ int CustomTrackView::seekPosition() const void CustomTrackView::setCursorPos(int pos) { if (pos != m_cursorPos) { - emit cursorMoved((int)(m_cursorPos), (int)(pos)); - m_cursorPos = pos; - m_cursorLine->setPos(m_cursorPos, 0); - if (m_autoScroll) checkScrolling(); + emit cursorMoved((int)(m_cursorPos), (int)(pos)); + m_cursorPos = pos; + m_cursorLine->setPos(m_cursorPos, 0); + if (m_autoScroll) checkScrolling(); } else emit updateRuler(); } @@ -3633,19 +3633,19 @@ void CustomTrackView::updateCursorPos() m_cursorLine->setPos(m_cursorPos, 0); } -int CustomTrackView::cursorPos() +int CustomTrackView::cursorPos() const { - return (int)(m_cursorPos); + return m_cursorPos; } void CustomTrackView::moveCursorPos(int delta) { int currentPos = m_document->renderer()->requestedSeekPosition; if (currentPos == SEEK_INACTIVE) { - currentPos = m_document->renderer()->seekPosition().frames(m_document->fps()) + delta; + currentPos = m_document->renderer()->seekPosition().frames(m_document->fps()) + delta; } else { - currentPos += delta; + currentPos += delta; } m_document->renderer()->seek(qMax(0, currentPos)); emit updateRuler(); @@ -3653,7 +3653,7 @@ void CustomTrackView::moveCursorPos(int delta) void CustomTrackView::initCursorPos(int pos) { - emit cursorMoved((int)(m_cursorPos), (int)(pos)); + emit cursorMoved(m_cursorPos, pos); m_cursorPos = pos; m_cursorLine->setPos(pos, 0); checkScrolling(); @@ -3668,21 +3668,21 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) { if (m_moveOpMode == SEEK) m_moveOpMode = NONE; if (m_operationMode == SCROLLTIMELINE) { - m_operationMode = NONE; - setDragMode(QGraphicsView::NoDrag); - QGraphicsView::mouseReleaseEvent(event); - return; + m_operationMode = NONE; + setDragMode(QGraphicsView::NoDrag); + QGraphicsView::mouseReleaseEvent(event); + return; } if (!m_controlModifier && m_operationMode != RUBBERSELECTION) { - //event->accept(); - setDragMode(QGraphicsView::NoDrag); - if (m_clipDrag) QGraphicsView::mouseReleaseEvent(event); + //event->accept(); + setDragMode(QGraphicsView::NoDrag); + if (m_clipDrag) QGraphicsView::mouseReleaseEvent(event); } m_clipDrag = false; //setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); #if QT_VERSION >= 0x040800 if (m_dragItem) { - m_dragItem->setGraphicsEffect(NULL); + m_dragItem->setGraphicsEffect(NULL); } #endif if (m_scrollTimer.isActive()) m_scrollTimer.stop(); @@ -3704,7 +3704,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) } m_dragGuide = NULL; m_dragItem = NULL; - QGraphicsView::mouseReleaseEvent(event); + QGraphicsView::mouseReleaseEvent(event); return; } else if (m_operationMode == SPACER && m_selectionGroup) { int track; @@ -3713,7 +3713,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) track = -1; } else track = (int)(mapToScene(m_clickEvent).y() / m_tracksHeight); GenTime timeOffset = GenTime((int)(m_selectionGroup->scenePos().x()), m_document->fps()) - m_selectionGroupInfo.startPos; - QList groups; + QList groups; if (timeOffset != GenTime()) { QList items = m_selectionGroup->childItems(); @@ -3732,10 +3732,10 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) for (int i = 0; i < items.count(); ++i) { if (items.at(i)->type() == GROUPWIDGET) { - AbstractGroupItem* group = (AbstractGroupItem*)items.at(i); - if (!groups.contains(group)) groups.append(group); - items += items.at(i)->childItems(); - } + AbstractGroupItem* group = (AbstractGroupItem*)items.at(i); + if (!groups.contains(group)) groups.append(group); + items += items.at(i)->childItems(); + } } for (int i = 0; i < items.count(); ++i) { @@ -3766,27 +3766,27 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) } resetSelectionGroup(); for (int i = 0; i < groups.count(); ++i) { - rebuildGroup(groups.at(i)); - } + rebuildGroup(groups.at(i)); + } + - clearSelection(); - + m_operationMode = NONE; } else if (m_operationMode == RUBBERSELECTION) { - //event->accept(); - QGraphicsView::mouseReleaseEvent(event); - setDragMode(QGraphicsView::NoDrag); - setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); - if (event->modifiers() != Qt::ControlModifier) m_dragItem = NULL; + //event->accept(); + QGraphicsView::mouseReleaseEvent(event); + setDragMode(QGraphicsView::NoDrag); + setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate); + if (event->modifiers() != Qt::ControlModifier) m_dragItem = NULL; resetSelectionGroup(); groupSelectedItems(); m_operationMode = NONE; - if (m_selectionGroup == NULL && m_dragItem) { - // Only 1 item selected - if (m_dragItem->type() == AVWIDGET) - emit clipItemSelected(static_cast(m_dragItem)); - } + if (m_selectionGroup == NULL && m_dragItem) { + // Only 1 item selected + if (m_dragItem->type() == AVWIDGET) + emit clipItemSelected(static_cast(m_dragItem)); + } } if (m_dragItem == NULL && m_selectionGroup == NULL) { @@ -3952,10 +3952,10 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) QGraphicsItemGroup *group; if (m_selectionGroup) { group = static_cast (m_selectionGroup); - } + } else { group = static_cast (m_dragItem->parentItem()); - } + } QList items = group->childItems(); QList clipsToMove; QList transitionsToMove; @@ -4039,42 +4039,42 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) if (m_selectionGroup) { m_selectionGroupInfo.startPos = GenTime(m_selectionGroup->scenePos().x(), m_document->fps()); m_selectionGroupInfo.track = m_selectionGroup->track(); - items = m_selectionGroup->childItems(); - resetSelectionGroup(false); - - QSet groupList; - QSet itemList; - while (!items.isEmpty()) { - QGraphicsItem *first = items.takeFirst(); - if (first->type() == GROUPWIDGET) { - if (first != m_selectionGroup) { - groupList.insert(first); - } + items = m_selectionGroup->childItems(); + resetSelectionGroup(false); + + QSet groupList; + QSet itemList; + while (!items.isEmpty()) { + QGraphicsItem *first = items.takeFirst(); + if (first->type() == GROUPWIDGET) { + if (first != m_selectionGroup) { + groupList.insert(first); + } } else if (first->type() == AVWIDGET || first->type() == TRANSITIONWIDGET) { - if (first->parentItem() && first->parentItem()->type() == GROUPWIDGET) { - if (first->parentItem() != m_selectionGroup) { - groupList.insert(first->parentItem()); - } - else itemList.insert(first); - } - else itemList.insert(first); - } - } - foreach(QGraphicsItem *item, groupList) { - itemList.unite(item->childItems().toSet()); - rebuildGroup(static_cast (item)); - } + if (first->parentItem() && first->parentItem()->type() == GROUPWIDGET) { + if (first->parentItem() != m_selectionGroup) { + groupList.insert(first->parentItem()); + } + else itemList.insert(first); + } + else itemList.insert(first); + } + } + foreach(QGraphicsItem *item, groupList) { + itemList.unite(item->childItems().toSet()); + rebuildGroup(static_cast (item)); + } foreach(QGraphicsItem *item, itemList) { - item->setSelected(true); + item->setSelected(true); if (item->parentItem()) item->parentItem()->setSelected(true); } resetSelectionGroup(); groupSelectedItems(itemList.toList()); } else { - AbstractGroupItem *grp = static_cast (group); + AbstractGroupItem *grp = static_cast (group); rebuildGroup(grp); } setDocumentModified(); @@ -4104,7 +4104,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) } } else { prepareResizeClipStart(m_dragItem, m_dragItemInfo, m_dragItem->startPos().frames(m_document->fps())); - if (m_dragItem->type() == AVWIDGET) static_cast (m_dragItem)->slotUpdateRange(); + if (m_dragItem->type() == AVWIDGET) static_cast (m_dragItem)->slotUpdateRange(); } } else if (m_operationMode == RESIZEEND && m_dragItem->endPos() != m_dragItemInfo.endPos) { // resize end @@ -4130,7 +4130,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) } } else { prepareResizeClipEnd(m_dragItem, m_dragItemInfo, m_dragItem->endPos().frames(m_document->fps())); - if (m_dragItem->type() == AVWIDGET) static_cast (m_dragItem)->slotUpdateRange(); + if (m_dragItem->type() == AVWIDGET) static_cast (m_dragItem)->slotUpdateRange(); } } else if (m_operationMode == FADEIN) { // resize fade in effect @@ -4322,7 +4322,7 @@ void CustomTrackView::deleteSelectedClips() int groupCount = 0; int clipCount = 0; int transitionCount = 0; - // expand & destroy groups + // expand & destroy groups for (int i = 0; i < itemList.count(); ++i) { if (itemList.at(i)->type() == GROUPWIDGET) { groupCount++; @@ -4435,15 +4435,15 @@ void CustomTrackView::razorGroup(AbstractGroupItem* group, GenTime cutPos) { if (group) { QList children = group->childItems(); - QUndoCommand *command = new QUndoCommand; - command->setText(i18n("Cut Group")); - groupClips(false, children, command); + QUndoCommand *command = new QUndoCommand; + command->setText(i18n("Cut Group")); + groupClips(false, children, command); QList clips1, transitions1; QList transitionsCut; QList clips2, transitions2; - QList clipsToCut; - - // Collect info + QList clipsToCut; + + // Collect info for (int i = 0; i < children.count(); ++i) { children.at(i)->setSelected(false); AbstractClipItem *child = static_cast (children.at(i)); @@ -4453,8 +4453,8 @@ void CustomTrackView::razorGroup(AbstractGroupItem* group, GenTime cutPos) else if (cutPos < child->startPos()) clips2 << child->info(); else { - clipsToCut << child; - } + clipsToCut << child; + } } else { if (cutPos > child->endPos()) transitions1 << child->info(); @@ -4462,25 +4462,25 @@ void CustomTrackView::razorGroup(AbstractGroupItem* group, GenTime cutPos) transitions2 << child->info(); else { //transitionsCut << child->info(); - // Transition cut not implemented, leave it in first group... - transitions1 << child->info(); - } + // Transition cut not implemented, leave it in first group... + transitions1 << child->info(); + } } } if (clipsToCut.isEmpty() && transitionsCut.isEmpty() && ((clips1.isEmpty() && transitions1.isEmpty()) || (clips2.isEmpty() && transitions2.isEmpty()))) { - delete command; + delete command; return; - } - // Process the cut - for (int i = 0; i < clipsToCut.count(); ++i) { - ClipItem *clip = static_cast(clipsToCut.at(i)); - new RazorClipCommand(this, clip->info(), clip->effectList(), cutPos, false, command); - ClipItem *secondClip = cutClip(clip->info(), cutPos, true); - clips1 << clip->info(); - clips2 << secondClip->info(); - } - new GroupClipsCommand(this, clips1, transitions1, true, command); - new GroupClipsCommand(this, clips2, transitions2, true, command); + } + // Process the cut + for (int i = 0; i < clipsToCut.count(); ++i) { + ClipItem *clip = static_cast(clipsToCut.at(i)); + new RazorClipCommand(this, clip->info(), clip->effectList(), cutPos, false, command); + ClipItem *secondClip = cutClip(clip->info(), cutPos, true); + clips1 << clip->info(); + clips2 << secondClip->info(); + } + new GroupClipsCommand(this, clips1, transitions1, true, command); + new GroupClipsCommand(this, clips2, transitions2, true, command); m_commandStack->push(command); } } @@ -4509,12 +4509,12 @@ void CustomTrackView::groupClips(bool group, QList itemList, QU } } if (clipInfos.count() > 0) { - if (command) { - new GroupClipsCommand(this, clipInfos, transitionInfos, group, command); - } else { - GroupClipsCommand *command = new GroupClipsCommand(this, clipInfos, transitionInfos, group); - m_commandStack->push(command); - } + if (command) { + new GroupClipsCommand(this, clipInfos, transitionInfos, group, command); + } else { + GroupClipsCommand *command = new GroupClipsCommand(this, clipInfos, transitionInfos, group); + m_commandStack->push(command); + } } } @@ -4523,14 +4523,14 @@ void CustomTrackView::doGroupClips(QList clipInfos, QList resetSelectionGroup(); m_scene->clearSelection(); if (!group) { - // ungroup, find main group to destroy it... - for (int i = 0; i < clipInfos.count(); ++i) { + // ungroup, find main group to destroy it... + for (int i = 0; i < clipInfos.count(); ++i) { ClipItem *clip = getClipItemAt(clipInfos.at(i).startPos, clipInfos.at(i).track); if (clip == NULL) continue; if (clip->parentItem() && clip->parentItem()->type() == GROUPWIDGET) { AbstractGroupItem *grp = static_cast (clip->parentItem()); m_document->clipManager()->removeGroup(grp); - if (grp == m_selectionGroup) m_selectionGroup = NULL; + if (grp == m_selectionGroup) m_selectionGroup = NULL; scene()->destroyItemGroup(grp); } clip->setFlag(QGraphicsItem::ItemIsMovable, true); @@ -4541,9 +4541,9 @@ void CustomTrackView::doGroupClips(QList clipInfos, QList if (tr->parentItem() && tr->parentItem()->type() == GROUPWIDGET) { AbstractGroupItem *grp = static_cast (tr->parentItem()); m_document->clipManager()->removeGroup(grp); - if (grp == m_selectionGroup) m_selectionGroup = NULL; + if (grp == m_selectionGroup) m_selectionGroup = NULL; scene()->destroyItemGroup(grp); - grp = NULL; + grp = NULL; } tr->setFlag(QGraphicsItem::ItemIsMovable, true); } @@ -4554,14 +4554,14 @@ void CustomTrackView::doGroupClips(QList clipInfos, QList for (int i = 0; i < clipInfos.count(); ++i) { ClipItem *clip = getClipItemAt(clipInfos.at(i).startPos, clipInfos.at(i).track); if (clip) { - list.append(clip); + list.append(clip); //clip->setSelected(true); } } for (int i = 0; i < transitionInfos.count(); ++i) { Transition *clip = getTransitionItemAt(transitionInfos.at(i).startPos, transitionInfos.at(i).track); if (clip) { - list.append(clip); + list.append(clip); //clip->setSelected(true); } } @@ -4882,7 +4882,7 @@ void CustomTrackView::moveGroup(QList startClip, QList sta //m_selectionGroup->moveBy(offset.frames(m_document->fps()), trackOffset *(qreal) m_tracksHeight); QList children = m_selectionGroup->childItems(); - QList groupList; + QList groupList; // Expand groups int max = children.count(); for (int i = 0; i < max; ++i) { @@ -4892,8 +4892,8 @@ void CustomTrackView::moveGroup(QList startClip, QList sta //grp->moveBy(offset.frames(m_document->fps()), trackOffset *(qreal) m_tracksHeight); /*m_document->clipManager()->removeGroup(grp); m_scene->destroyItemGroup(grp);*/ - AbstractGroupItem *group = (AbstractGroupItem*) children.at(i); - if (!groupList.contains(group)) groupList.append(group); + AbstractGroupItem *group = (AbstractGroupItem*) children.at(i); + if (!groupList.contains(group)) groupList.append(group); children.removeAll(children.at(i)); --i; } @@ -4933,11 +4933,11 @@ void CustomTrackView::moveGroup(QList startClip, QList sta m_document->renderer()->mltAddTransition(tr->transitionTag(), newTrack, m_document->tracksCount() - info.track, info.startPos, info.endPos, tr->toXML()); } } - m_selectionMutex.unlock(); + m_selectionMutex.unlock(); resetSelectionGroup(false); - for (int i = 0; i < groupList.count(); ++i) { - rebuildGroup(groupList.at(i)); - } + for (int i = 0; i < groupList.count(); ++i) { + rebuildGroup(groupList.at(i)); + } clearSelection(); @@ -5018,7 +5018,7 @@ void CustomTrackView::resizeClip(const ItemInfo &start, const ItemInfo &end, boo bool success = m_document->renderer()->mltResizeClipStart(clipinfo, end.startPos - clipinfo.startPos); if (success) { item->resizeStart((int) end.startPos.frames(m_document->fps())); - } + } else emit displayMessage(i18n("Error when resizing clip"), ErrorMessage); } else { @@ -5227,16 +5227,16 @@ void CustomTrackView::prepareResizeClipEnd(AbstractClipItem* item, ItemInfo oldI new EditTransitionCommand(this, transition->track(), transition->startPos(), old, xml, false, command); } ItemInfo info = transition->info(); - QPoint p; - ClipItem *transitionClip = getClipItemAt(info.startPos, info.track); - if (transitionClip && transitionClip->baseClip()) { - QString size = transitionClip->baseClip()->getProperty("frame_size"); - double factor = transitionClip->baseClip()->getProperty("aspect_ratio").toDouble(); - if (factor == 0) factor = 1.0; - p.setX((int)(size.section('x', 0, 0).toInt() * factor + 0.5)); - p.setY(size.section('x', 1, 1).toInt()); - } - emit transitionItemSelected(transition, getPreviousVideoTrack(info.track), p, true); + QPoint p; + ClipItem *transitionClip = getClipItemAt(info.startPos, info.track); + if (transitionClip && transitionClip->baseClip()) { + QString size = transitionClip->baseClip()->getProperty("frame_size"); + double factor = transitionClip->baseClip()->getProperty("aspect_ratio").toDouble(); + if (factor == 0) factor = 1.0; + p.setX((int)(size.section('x', 0, 0).toInt() * factor + 0.5)); + p.setY(size.section('x', 1, 1).toInt()); + } + emit transitionItemSelected(transition, getPreviousVideoTrack(info.track), p, true); new MoveTransitionCommand(this, oldInfo, info, false, command); } } @@ -5491,27 +5491,27 @@ void CustomTrackView::slotAddClipMarker(const QString &id, QList { DocClipBase *base = m_document->clipManager()->getClipById(id); if (!base) return; - QUndoCommand *subCommand = NULL; + QUndoCommand *subCommand = NULL; if (newMarkers.count() > 1 && groupCommand == NULL) { - subCommand = new QUndoCommand; - subCommand->setText("Add markers"); + subCommand = new QUndoCommand; + subCommand->setText("Add markers"); } for (int i = 0; i < newMarkers.count(); ++i) { - CommentedTime oldMarker = base->markerAt(newMarkers.at(i).time()); - if (oldMarker == CommentedTime()) { - oldMarker = newMarkers.at(i); - oldMarker.setMarkerType(-1); - } - if (newMarkers.count() == 1 && !groupCommand) { - AddMarkerCommand *command = new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, groupCommand); - m_commandStack->push(command); - } - else if (groupCommand) { - (void) new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, groupCommand); - } - else { - (void) new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, subCommand); - } + CommentedTime oldMarker = base->markerAt(newMarkers.at(i).time()); + if (oldMarker == CommentedTime()) { + oldMarker = newMarkers.at(i); + oldMarker.setMarkerType(-1); + } + if (newMarkers.count() == 1 && !groupCommand) { + AddMarkerCommand *command = new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, groupCommand); + m_commandStack->push(command); + } + else if (groupCommand) { + (void) new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, groupCommand); + } + else { + (void) new AddMarkerCommand(this, oldMarker, newMarkers.at(i), id, subCommand); + } } if (subCommand) m_commandStack->push(subCommand); } @@ -5539,9 +5539,9 @@ void CustomTrackView::slotDeleteAllClipMarkers(const QString &id) deleteMarkers->setText("Delete clip markers"); for (int i = 0; i < markers.size(); ++i) { - CommentedTime oldMarker = markers.at(i); - CommentedTime marker = oldMarker; - marker.setMarkerType(-1); + CommentedTime oldMarker = markers.at(i); + CommentedTime marker = oldMarker; + marker.setMarkerType(-1); new AddMarkerCommand(this, oldMarker, marker, id, deleteMarkers); } m_commandStack->push(deleteMarkers); @@ -5553,45 +5553,45 @@ void CustomTrackView::slotSaveClipMarkers(const QString &id) if (!base) return; QList < CommentedTime > markers = base->commentedSnapMarkers(); if (!markers.isEmpty()) { - // Set up categories - QComboBox *cbox = new QComboBox; - cbox->insertItem(0, i18n("All categories")); - for (int i = 0; i < 5; ++i) { - cbox->insertItem(i + 1, i18n("Category %1", i)); - cbox->setItemData(i + 1, CommentedTime::markerColor(i), Qt::DecorationRole); - } - cbox->setCurrentIndex(0); - KFileDialog fd(KUrl("kfiledialog:///projectfolder"), "text/plain", this, cbox); - fd.setMode(KFile::File); - fd.setOperationMode(KFileDialog::Saving); - if (fd.exec() != QDialog::Accepted) return; - QString url = fd.selectedFile(); - //QString url = KFileDialog::getSaveFileName(KUrl("kfiledialog:///projectfolder"), "text/plain", this, i18n("Save markers")); - if (url.isEmpty()) return; - - QString data; - int category = cbox->currentIndex() - 1; - for (int i = 0; i < markers.count(); ++i) { - if (category >= 0) { - // Save only the markers in selected category - if (markers.at(i).markerType() != category) continue; - } - data.append(QString::number(markers.at(i).time().seconds())); - data.append("\t"); - data.append(QString::number(markers.at(i).time().seconds())); - data.append("\t"); - data.append(markers.at(i).comment()); - data.append("\n"); - } - delete cbox; - - QFile file(url); - if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { - emit displayMessage(i18n("Cannot open file %1", url), ErrorMessage); - return; - } - file.write(data.toUtf8()); - file.close(); + // Set up categories + QComboBox *cbox = new QComboBox; + cbox->insertItem(0, i18n("All categories")); + for (int i = 0; i < 5; ++i) { + cbox->insertItem(i + 1, i18n("Category %1", i)); + cbox->setItemData(i + 1, CommentedTime::markerColor(i), Qt::DecorationRole); + } + cbox->setCurrentIndex(0); + KFileDialog fd(KUrl("kfiledialog:///projectfolder"), "text/plain", this, cbox); + fd.setMode(KFile::File); + fd.setOperationMode(KFileDialog::Saving); + if (fd.exec() != QDialog::Accepted) return; + QString url = fd.selectedFile(); + //QString url = KFileDialog::getSaveFileName(KUrl("kfiledialog:///projectfolder"), "text/plain", this, i18n("Save markers")); + if (url.isEmpty()) return; + + QString data; + int category = cbox->currentIndex() - 1; + for (int i = 0; i < markers.count(); ++i) { + if (category >= 0) { + // Save only the markers in selected category + if (markers.at(i).markerType() != category) continue; + } + data.append(QString::number(markers.at(i).time().seconds())); + data.append("\t"); + data.append(QString::number(markers.at(i).time().seconds())); + data.append("\t"); + data.append(markers.at(i).comment()); + data.append("\n"); + } + delete cbox; + + QFile file(url); + if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) { + emit displayMessage(i18n("Cannot open file %1", url), ErrorMessage); + return; + } + file.write(data.toUtf8()); + file.close(); } } @@ -5599,8 +5599,8 @@ void CustomTrackView::slotLoadClipMarkers(const QString &id) { QComboBox *cbox = new QComboBox; for (int i = 0; i < 5; ++i) { - cbox->insertItem(i, i18n("Category %1", i)); - cbox->setItemData(i, CommentedTime::markerColor(i), Qt::DecorationRole); + cbox->insertItem(i, i18n("Category %1", i)); + cbox->setItemData(i, CommentedTime::markerColor(i), Qt::DecorationRole); } cbox->setCurrentIndex(KdenliveSettings::default_marker_type()); KFileDialog fd(KUrl("kfiledialog:///projectfolder"), "text/plain", this, cbox); @@ -5608,15 +5608,15 @@ void CustomTrackView::slotLoadClipMarkers(const QString &id) fd.setOperationMode(KFileDialog::Opening); if (fd.exec() != QDialog::Accepted) return; QString url = fd.selectedFile(); - + //KUrl url = KFileDialog::getOpenUrl(KUrl("kfiledialog:///projectfolder"), "text/plain", this, i18n("Load marker file")); if (url.isEmpty()) return; int category = cbox->currentIndex(); delete cbox; QFile file(url); if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) { - emit displayMessage(i18n("Cannot open file %1", KUrl(url).fileName()), ErrorMessage); - return; + emit displayMessage(i18n("Cannot open file %1", KUrl(url).fileName()), ErrorMessage); + return; } QString data = QString::fromUtf8(file.readAll()); file.close(); @@ -5628,41 +5628,41 @@ void CustomTrackView::slotLoadClipMarkers(const QString &id) QString markerText; QList markersList; foreach(QString line, lines) { - markerText.clear(); - values = line.split("\t", QString::SkipEmptyParts); - double time1 = values.at(0).toDouble(&ok); - double time2 = -1; - if (!ok) continue; - if (values.count() >1) { - time2 = values.at(1).toDouble(&ok); - if (values.count() == 2) { - // Check if second value is a number or text - if (!ok) { - time2 = -1; - markerText = values.at(1); - } - else markerText = i18n("Marker"); - } - else { - // We assume 3 values per line: in out name - if (!ok) { - // 2nd value is not a number, drop - } - else { - markerText = values.at(2); - } - } - } - if (!markerText.isEmpty()) { - // Marker found, add it - //TODO: allow user to set a marker category - CommentedTime marker1(GenTime(time1), markerText, category); - markersList << marker1; - if (time2 > 0 && time2 != time1) { - CommentedTime marker2(GenTime(time2), markerText, category); - markersList << marker2; - } - } + markerText.clear(); + values = line.split("\t", QString::SkipEmptyParts); + double time1 = values.at(0).toDouble(&ok); + double time2 = -1; + if (!ok) continue; + if (values.count() >1) { + time2 = values.at(1).toDouble(&ok); + if (values.count() == 2) { + // Check if second value is a number or text + if (!ok) { + time2 = -1; + markerText = values.at(1); + } + else markerText = i18n("Marker"); + } + else { + // We assume 3 values per line: in out name + if (!ok) { + // 2nd value is not a number, drop + } + else { + markerText = values.at(2); + } + } + } + if (!markerText.isEmpty()) { + // Marker found, add it + //TODO: allow user to set a marker category + CommentedTime marker1(GenTime(time1), markerText, category); + markersList << marker1; + if (time2 > 0 && time2 != time1) { + CommentedTime marker2(GenTime(time2), markerText, category); + markersList << marker2; + } + } } if (!markersList.isEmpty()) slotAddClipMarker(id, markersList, command); if (command->childCount() > 0) m_commandStack->push(command); @@ -5715,8 +5715,8 @@ void CustomTrackView::buildGuidesMenu(QMenu *goMenu) const void CustomTrackView::editGuide(const GenTime &oldPos, const GenTime &pos, const QString &comment) { if (comment.isEmpty() && pos < GenTime()) { - // Delete guide - bool found = false; + // Delete guide + bool found = false; for (int i = 0; i < m_guides.count(); ++i) { if (m_guides.at(i)->position() == oldPos) { delete m_guides.takeAt(i); @@ -5762,7 +5762,7 @@ void CustomTrackView::slotAddGuide(bool dialog) CommentedTime marker(GenTime(m_cursorPos, m_document->fps()), i18n("Guide")); if (dialog) { QPointer d = new MarkerDialog(NULL, marker, - m_document->timecode(), i18n("Add Guide"), this); + m_document->timecode(), i18n("Add Guide"), this); if (d->exec() != QDialog::Accepted) { delete d; return; @@ -5794,7 +5794,7 @@ void CustomTrackView::slotEditGuide(int guidePos) if (!found) emit displayMessage(i18n("No guide at cursor time"), ErrorMessage); } -void CustomTrackView::slotEditGuide(CommentedTime guide) +void CustomTrackView::slotEditGuide(const CommentedTime &guide) { QPointer d = new MarkerDialog(NULL, guide, m_document->timecode(), i18n("Edit Guide"), this); if (d->exec() == QDialog::Accepted) { @@ -5810,7 +5810,7 @@ void CustomTrackView::slotEditTimeLineGuide() if (m_dragGuide == NULL) return; CommentedTime guide = m_dragGuide->info(); QPointer d = new MarkerDialog(NULL, guide, - m_document->timecode(), i18n("Edit Guide"), this); + m_document->timecode(), i18n("Edit Guide"), this); if (d->exec() == QDialog::Accepted) { EditGuideCommand *command = new EditGuideCommand(this, guide.time(), guide.comment(), d->newMarker().time(), d->newMarker().comment(), true); m_commandStack->push(command); @@ -5858,14 +5858,14 @@ void CustomTrackView::setTool(PROJECTTOOL tool) { m_tool = tool; switch (m_tool) { - case RAZORTOOL: - setCursor(m_razorCursor); - break; - case SPACERTOOL: - setCursor(m_spacerCursor); - break; - default: - unsetCursor(); + case RAZORTOOL: + setCursor(m_razorCursor); + break; + case SPACERTOOL: + setCursor(m_spacerCursor); + break; + default: + unsetCursor(); } } @@ -5880,7 +5880,7 @@ void CustomTrackView::setScale(double scaleFactor, double verticalScale) setMatrix(newmatrix); if (adjust) { double newHeight = m_tracksHeight * m_document->tracksCount() * matrix().m22(); - m_cursorLine->setLine(0, 0, 0, newHeight - 1); + m_cursorLine->setLine(0, 0, 0, newHeight - 1); for (int i = 0; i < m_guides.count(); ++i) { m_guides.at(i)->setLine(0, 0, 0, newHeight - 1); } @@ -6288,8 +6288,8 @@ ClipItem *CustomTrackView::getClipUnderCursor() const QList collisions = scene()->items(rect, Qt::IntersectsItemBoundingRect); for (int i = 0; i < collisions.count(); ++i) { if (collisions.at(i)->type() == AVWIDGET) { - ClipItem *clip = static_cast < ClipItem *>(collisions.at(i)); - if (!clip->isItemLocked()) return clip; + ClipItem *clip = static_cast < ClipItem *>(collisions.at(i)); + if (!clip->isItemLocked()) return clip; } } return NULL; @@ -6351,21 +6351,21 @@ void CustomTrackView::setInPoint() AbstractGroupItem *parent = static_cast (clip->parentItem()); if (parent) { - // Resizing a group - QUndoCommand *resizeCommand = new QUndoCommand(); + // Resizing a group + QUndoCommand *resizeCommand = new QUndoCommand(); resizeCommand->setText(i18n("Resize group")); QList items = parent->childItems(); for (int i = 0; i < items.count(); ++i) { - AbstractClipItem *item = static_cast(items.at(i)); + AbstractClipItem *item = static_cast(items.at(i)); if (item && item->type() == AVWIDGET) { prepareResizeClipStart(item, item->info(), m_cursorPos, true, resizeCommand); } } if (resizeCommand->childCount() > 0) m_commandStack->push(resizeCommand); - else { - //TODO warn user of failed resize - delete resizeCommand; - } + else { + //TODO warn user of failed resize + delete resizeCommand; + } } else prepareResizeClipStart(clip, clip->info(), m_cursorPos, true); } @@ -6383,21 +6383,21 @@ void CustomTrackView::setOutPoint() } AbstractGroupItem *parent = static_cast (clip->parentItem()); if (parent) { - // Resizing a group - QUndoCommand *resizeCommand = new QUndoCommand(); + // Resizing a group + QUndoCommand *resizeCommand = new QUndoCommand(); resizeCommand->setText(i18n("Resize group")); QList items = parent->childItems(); for (int i = 0; i < items.count(); ++i) { - AbstractClipItem *item = static_cast(items.at(i)); + AbstractClipItem *item = static_cast(items.at(i)); if (item && item->type() == AVWIDGET) { prepareResizeClipEnd(item, item->info(), m_cursorPos, true, resizeCommand); } } if (resizeCommand->childCount() > 0) m_commandStack->push(resizeCommand); - else { - //TODO warn user of failed resize - delete resizeCommand; - } + else { + //TODO warn user of failed resize + delete resizeCommand; + } } else prepareResizeClipEnd(clip, clip->info(), m_cursorPos, true); } @@ -6495,7 +6495,7 @@ void CustomTrackView::slotInsertTrack(int ix) info.duration = 0; info.isMute = false; info.isLocked = false; - info.effectsList = EffectsList(true); + info.effectsList = EffectsList(true); if (d->video_track->isChecked()) { info.type = VIDEOTRACK; info.isBlind = false; @@ -6534,7 +6534,7 @@ void CustomTrackView::slotDeleteTrack(int ix) void CustomTrackView::slotConfigTracks(int ix) { QPointer d = new TracksConfigDialog(m_document, - ix, parentWidget()); + ix, parentWidget()); if (d->exec() == QDialog::Accepted) { ConfigTracksCommand *configTracks = new ConfigTracksCommand(this, m_document->tracksList(), d->tracksList()); m_commandStack->push(configTracks); @@ -6555,7 +6555,7 @@ void CustomTrackView::deleteTimelineTrack(int ix, TrackInfo trackinfo) clearSelection(); emit transitionItemSelected(NULL); - double startY = ix * m_tracksHeight + 1 + m_tracksHeight / 2; + double startY = ix * m_tracksHeight + 1 + m_tracksHeight / 2; QRectF r(0, startY, sceneRect().width(), m_tracksHeight / 2 - 1); QList selection = m_scene->items(r); QUndoCommand *deleteTrack = new QUndoCommand(); @@ -6651,7 +6651,7 @@ void CustomTrackView::loadGroups(const QDomNodeList &groups) for (int i = 0; i < groups.count(); ++i) { QDomNodeList children = groups.at(i).childNodes(); scene()->clearSelection(); - QList list; + QList list; for (int nodeindex = 0; nodeindex < children.count(); nodeindex++) { QDomElement elem = children.item(nodeindex).toElement(); int pos = elem.attribute("position").toInt(); @@ -6866,14 +6866,14 @@ void CustomTrackView::doSplitAudio(const GenTime &pos, int track, EffectsList ef } else { ItemInfo info = clip->info(); info.track = m_document->tracksCount() - freetrack; - QDomElement xml = clip->xml(); - xml.setAttribute("audio_only", 1); - scene()->clearSelection(); + QDomElement xml = clip->xml(); + xml.setAttribute("audio_only", 1); + scene()->clearSelection(); addClip(xml, clip->clipProducer(), info, clip->effectList(), false, false, false); clip->setSelected(true); ClipItem *audioClip = getClipItemAt(start, info.track); if (audioClip) { - clip->setVideoOnly(true); + clip->setVideoOnly(true); Mlt::Tractor *tractor = m_document->renderer()->lockService(); if (m_document->renderer()->mltUpdateClipProducer(tractor, m_document->tracksCount() - track, start, clip->baseClip()->videoProducer(info.track)) == false) { emit displayMessage(i18n("Cannot update clip (time: %1, track: %2)", start, track), ErrorMessage); @@ -6939,7 +6939,7 @@ void CustomTrackView::doSplitAudio(const GenTime &pos, int track, EffectsList ef } clip->setFlag(QGraphicsItem::ItemIsMovable, true); m_document->clipManager()->removeGroup(grp); - if (grp == m_selectionGroup) m_selectionGroup = NULL; + if (grp == m_selectionGroup) m_selectionGroup = NULL; scene()->destroyItemGroup(grp); } } @@ -7065,23 +7065,23 @@ void CustomTrackView::updateClipTypeActions(ClipItem *clip) bool hasAV; if (clip == NULL || (clip->clipType() != AV && clip->clipType() != PLAYLIST)) { m_clipTypeGroup->setEnabled(false); - hasAudio = clip != NULL && clip->clipType() == AUDIO; - hasAV = false; + hasAudio = clip != NULL && clip->clipType() == AUDIO; + hasAV = false; } else { - switch (clip->clipType()) { - case AV: - case PLAYLIST: - hasAudio = true; - hasAV = true; - break; - case AUDIO: - hasAudio = true; - hasAV = false; - break; - default: - hasAudio = false; - hasAV = false; - } + switch (clip->clipType()) { + case AV: + case PLAYLIST: + hasAudio = true; + hasAV = true; + break; + case AUDIO: + hasAudio = true; + hasAV = false; + break; + default: + hasAudio = false; + hasAV = false; + } m_clipTypeGroup->setEnabled(true); QList actions = m_clipTypeGroup->actions(); QString lookup; @@ -7097,10 +7097,10 @@ void CustomTrackView::updateClipTypeActions(ClipItem *clip) } for (int i = 0; i < m_audioActions.count(); ++i) { - m_audioActions.at(i)->setEnabled(hasAudio); + m_audioActions.at(i)->setEnabled(hasAudio); } for (int i = 0; i < m_avActions.count(); ++i) { - m_avActions.at(i)->setEnabled(hasAV); + m_avActions.at(i)->setEnabled(hasAV); } } @@ -7192,7 +7192,7 @@ void CustomTrackView::updateProjectFps() } m_document->clipManager()->removeGroup(grp); m_scene->addItem(grp); - if (grp == m_selectionGroup) m_selectionGroup = NULL; + if (grp == m_selectionGroup) m_selectionGroup = NULL; scene()->destroyItemGroup(grp); scene()->clearSelection(); /*for (int j = 0; j < children.count(); j++) { @@ -7280,9 +7280,9 @@ void CustomTrackView::slotSelectClipsInTrack() QList list; for (int i = 0; i < selection.count(); ++i) { if (selection.at(i)->type() == AVWIDGET || selection.at(i)->type() == TRANSITIONWIDGET || selection.at(i)->type() == GROUPWIDGET) { - list.append(selection.at(i)); + list.append(selection.at(i)); } - } + } groupSelectedItems(list, false, true); } @@ -7574,16 +7574,16 @@ EffectsParameterList CustomTrackView::getEffectArgs(const QDomElement &effect) if (effect.hasAttribute("in")) parameters.addParam("in", effect.attribute("in")); if (effect.hasAttribute("out")) parameters.addParam("out", effect.attribute("out")); if (effect.attribute("id") == "region") { - QDomNodeList subeffects = effect.elementsByTagName("effect"); - for (int i = 0; i < subeffects.count(); ++i) { - QDomElement subeffect = subeffects.at(i).toElement(); - int subeffectix = subeffect.attribute("region_ix").toInt(); - parameters.addParam(QString("filter%1").arg(subeffectix), subeffect.attribute("id")); - parameters.addParam(QString("filter%1.tag").arg(subeffectix), subeffect.attribute("tag")); - parameters.addParam(QString("filter%1.kdenlive_info").arg(subeffectix), subeffect.attribute("kdenlive_info")); - QDomNodeList subparams = subeffect.elementsByTagName("parameter"); - adjustEffectParameters(parameters, subparams, m_document->mltProfile(), QString("filter%1.").arg(subeffectix)); - } + QDomNodeList subeffects = effect.elementsByTagName("effect"); + for (int i = 0; i < subeffects.count(); ++i) { + QDomElement subeffect = subeffects.at(i).toElement(); + int subeffectix = subeffect.attribute("region_ix").toInt(); + parameters.addParam(QString("filter%1").arg(subeffectix), subeffect.attribute("id")); + parameters.addParam(QString("filter%1.tag").arg(subeffectix), subeffect.attribute("tag")); + parameters.addParam(QString("filter%1.kdenlive_info").arg(subeffectix), subeffect.attribute("kdenlive_info")); + QDomNodeList subparams = subeffect.elementsByTagName("parameter"); + adjustEffectParameters(parameters, subparams, m_document->mltProfile(), QString("filter%1.").arg(subeffectix)); + } } QDomNodeList params = effect.elementsByTagName("parameter"); @@ -7595,10 +7595,10 @@ EffectsParameterList CustomTrackView::getEffectArgs(const QDomElement &effect) void CustomTrackView::adjustEffectParameters(EffectsParameterList ¶meters, QDomNodeList params, MltVideoProfile profile, const QString &prefix) { - QLocale locale; - for (int i = 0; i < params.count(); ++i) { + QLocale locale; + for (int i = 0; i < params.count(); ++i) { QDomElement e = params.item(i).toElement(); - QString paramname = prefix + e.attribute("name"); + QString paramname = prefix + e.attribute("name"); if (e.attribute("type") == "geometry" && !e.hasAttribute("fixed")) { // effects with geometry param need in / out synced with the clip, request it... parameters.addParam("_sync_in_out", "1"); @@ -7774,7 +7774,7 @@ void CustomTrackView::slotGotFilterJobResults(const QString &/*id*/, int startPo EditEffectCommand *command = new EditEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), effect, newEffect, clip->selectedEffectIndex(), true, true); m_commandStack->push(command); emit clipItemSelected(clip); - } + } } @@ -7782,33 +7782,33 @@ void CustomTrackView::slotImportClipKeyframes(GRAPHICSRECTITEM type) { ClipItem *item = NULL; if (type == TRANSITIONWIDGET) { - // We want to import keyframes to a transition - if (!m_selectionGroup) { - emit displayMessage(i18n("You need to select one clip and one transition"), ErrorMessage); - return; - } - // Make sure there is no collision - QList children = m_selectionGroup->childItems(); - for (int i = 0; i < children.count(); ++i) { - if (children.at(i)->type() == AVWIDGET) { - item = (ClipItem*) children.at(i); - break; - } - } + // We want to import keyframes to a transition + if (!m_selectionGroup) { + emit displayMessage(i18n("You need to select one clip and one transition"), ErrorMessage); + return; + } + // Make sure there is no collision + QList children = m_selectionGroup->childItems(); + for (int i = 0; i < children.count(); ++i) { + if (children.at(i)->type() == AVWIDGET) { + item = (ClipItem*) children.at(i); + break; + } + } } else { - // Import keyframes from current clip to its effect - if (m_dragItem) item = static_cast (m_dragItem); + // Import keyframes from current clip to its effect + if (m_dragItem) item = static_cast (m_dragItem); } if (!item) { - emit displayMessage(i18n("No clip found"), ErrorMessage); - return; + emit displayMessage(i18n("No clip found"), ErrorMessage); + return; } QMap data = item->baseClip()->analysisData(); if (data.isEmpty()) { - emit displayMessage(i18n("No keyframe data found in clip"), ErrorMessage); - return; + emit displayMessage(i18n("No keyframe data found in clip"), ErrorMessage); + return; } QPointer d = new QDialog(this); Ui::ImportKeyframesDialog_UI ui; @@ -7818,15 +7818,15 @@ void CustomTrackView::slotImportClipKeyframes(GRAPHICSRECTITEM type) int ix = 0; QMap::const_iterator i = data.constBegin(); while (i != data.constEnd()) { - ui.data_list->insertItem(ix, i.key()); - ui.data_list->setItemData(ix, i.value(), Qt::UserRole); - ++i; - ix++; + ui.data_list->insertItem(ix, i.key()); + ui.data_list->setItemData(ix, i.value(), Qt::UserRole); + ++i; + ix++; } if (d->exec() != QDialog::Accepted) { - delete d; - return; + delete d; + return; } QString keyframeData = ui.data_list->itemData(ui.data_list->currentIndex()).toString(); @@ -7839,34 +7839,34 @@ void CustomTrackView::slotImportClipKeyframes(GRAPHICSRECTITEM type) newGeometry.insert(gitem); int pos = offset + 1; while (!geometry.next_key(&gitem, pos)) { - pos = gitem.frame(); - gitem.frame(pos - offset); - pos++; - newGeometry.insert(gitem); + pos = gitem.frame(); + gitem.frame(pos - offset); + pos++; + newGeometry.insert(gitem); } QStringList keyframeList = QString(newGeometry.serialise()).split(';', QString::SkipEmptyParts); QString result; if (ui.import_position->isChecked()) { - if (ui.import_size->isChecked()) { - foreach(QString key, keyframeList) { - if (key.count(':') > 1) result.append(key.section(':', 0, 1)); - else result.append(key); - result.append(';'); - } - } - else { - foreach(QString key, keyframeList) { - result.append(key.section(':', 0, 0)); - result.append(';'); - } - } + if (ui.import_size->isChecked()) { + foreach(QString key, keyframeList) { + if (key.count(':') > 1) result.append(key.section(':', 0, 1)); + else result.append(key); + result.append(';'); + } + } + else { + foreach(QString key, keyframeList) { + result.append(key.section(':', 0, 0)); + result.append(';'); + } + } } else if (ui.import_size->isChecked()) { - foreach(QString key, keyframeList) { - result.append(key.section(':', 1, 1)); - result.append(';'); - } + foreach(QString key, keyframeList) { + result.append(key.section(':', 1, 1)); + result.append(';'); + } } emit importKeyframes(type, result, ui.limit_keyframes->isChecked() ? ui.max_keyframes->value() : -1); delete d; diff --git a/src/customtrackview.h b/src/customtrackview.h index 3dff4062..835d1512 100644 --- a/src/customtrackview.h +++ b/src/customtrackview.h @@ -58,8 +58,8 @@ public: void addTrack(TrackInfo type, int ix = -1); void removeTrack(int ix); /** @brief Makes the document use new track infos (name, type, ...). */ - void configTracks(QList trackInfos); - int cursorPos(); + void configTracks(const QList &trackInfos); + int cursorPos() const; void checkAutoScroll(); /** Move the clip at \c start to \c end. @@ -250,7 +250,7 @@ public slots: /** @brief Shows a dialog for adding a guide. * @param dialog (default = true) false = do not show the dialog but use current position as position and comment */ void slotAddGuide(bool dialog = true); - void slotEditGuide(CommentedTime guide); + void slotEditGuide(const CommentedTime &guide); void slotEditGuide(int guidePos = -1); void slotDeleteGuide(int guidePos = -1); void slotDeleteAllGuides(); diff --git a/src/definitions.h b/src/definitions.h index 592156e1..dd04bd2d 100644 --- a/src/definitions.h +++ b/src/definitions.h @@ -28,15 +28,15 @@ #include #include - #include +#include const int MAXCLIPDURATION = 15000; namespace Kdenlive { - enum MONITORID { noMonitor, clipMonitor, projectMonitor, recordMonitor, stopmotionMonitor, dvdMonitor }; - const int DefaultThumbHeight = 100; - /*const QString clipMonitor("clipMonitor"); +enum MONITORID { noMonitor, clipMonitor, projectMonitor, recordMonitor, stopmotionMonitor, dvdMonitor }; +const int DefaultThumbHeight = 100; +/*const QString clipMonitor("clipMonitor"); const QString recordMonitor("recordMonitor"); const QString projectMonitor("projectMonitor"); const QString stopmotionMonitor("stopmotionMonitor");*/ @@ -108,7 +108,7 @@ public: class TransitionInfo { public: -/** startPos is the position where the clip starts on the track */ + /** startPos is the position where the clip starts on the track */ GenTime startPos; /** endPos is the duration where the clip ends on the track */ GenTime endPos; @@ -153,14 +153,14 @@ public: { if (!description.isEmpty() && point.description == description) return true; return point.frame_rate_num == frame_rate_num && - point.frame_rate_den == frame_rate_den && - point.width == width && - point.height == height && - point.progressive == progressive && - point.sample_aspect_num == sample_aspect_num && - point.sample_aspect_den == sample_aspect_den && - point.display_aspect_den == display_aspect_den && - point.colorspace == colorspace; + point.frame_rate_den == frame_rate_den && + point.width == width && + point.height == height && + point.progressive == progressive && + point.sample_aspect_num == sample_aspect_num && + point.sample_aspect_den == sample_aspect_den && + point.display_aspect_den == display_aspect_den && + point.colorspace == colorspace; } bool operator!=(const MltVideoProfile &other) const { return !(*this == other); @@ -183,20 +183,20 @@ public: QString groupName; QString toString() const { QStringList data; - // effect collapsed state: 0 = effect not collapsed, 1 = effect collapsed, - // 2 = group collapsed - effect not, 3 = group and effect collapsed - int collapsedState = (int) isCollapsed; - if (groupIsCollapsed) collapsedState += 2; - data << QString::number(collapsedState) << QString::number(groupIndex) << groupName; - return data.join("/"); + // effect collapsed state: 0 = effect not collapsed, 1 = effect collapsed, + // 2 = group collapsed - effect not, 3 = group and effect collapsed + int collapsedState = (int) isCollapsed; + if (groupIsCollapsed) collapsedState += 2; + data << QString::number(collapsedState) << QString::number(groupIndex) << groupName; + return data.join("/"); } void fromString(QString value) { - if (value.isEmpty()) return; - QStringList data = value.split("/"); - isCollapsed = data.at(0).toInt() == 1 || data.at(0).toInt() == 3; - groupIsCollapsed = data.at(0).toInt() >= 2; - if (data.count() > 1) groupIndex = data.at(1).toInt(); - if (data.count() > 2) groupName = data.at(2); + if (value.isEmpty()) return; + QStringList data = value.split("/"); + isCollapsed = data.at(0).toInt() == 1 || data.at(0).toInt() == 3; + groupIsCollapsed = data.at(0).toInt() >= 2; + if (data.count() > 1) groupIndex = data.at(1).toInt(); + if (data.count() > 2) groupName = data.at(2); } }; @@ -232,16 +232,16 @@ public: return false; } void setParamValue(const QString &name, const QString &value) { - bool found = false; + bool found = false; for (int i = 0; i < size(); ++i) if (at(i).name() == name) { - // update value - replace(i, EffectParameter(name, value)); - found = true; - } - if (!found) addParam(name, value); + // update value + replace(i, EffectParameter(name, value)); + found = true; + } + if (!found) addParam(name, value); } - + QString paramValue(const QString &name, const QString &defaultValue = QString()) const { for (int i = 0; i < size(); ++i) { if (at(i).name() == name) return at(i).value(); @@ -278,29 +278,29 @@ public: c = comm; } void setMarkerType(int t) { - type = t; + type = t; } int markerType() const { - return type; + return type; } static QColor markerColor(int type) { - switch (type) { - case 0: - return Qt::red; - break; - case 1: - return Qt::blue; - break; - case 2: - return Qt::green; - break; - case 3: - return Qt::yellow; - break; - default: - return Qt::cyan; - break; - } + switch (type) { + case 0: + return Qt::red; + break; + case 1: + return Qt::blue; + break; + case 2: + return Qt::green; + break; + case 3: + return Qt::yellow; + break; + default: + return Qt::cyan; + break; + } } /* Implementation of > operator; Works identically as with basic types. */ diff --git a/src/dragvalue.cpp b/src/dragvalue.cpp index 21a99aa6..0dad4689 100644 --- a/src/dragvalue.cpp +++ b/src/dragvalue.cpp @@ -44,14 +44,14 @@ DragValue::DragValue(const QString &label, double defaultValue, int decimals, double min, double max, int id, const QString &suffix, bool showSlider, QWidget* parent) : - QWidget(parent), - m_maximum(max), - m_minimum(min), - m_decimals(decimals), - m_default(defaultValue), - m_id(id), - m_intEdit(NULL), - m_doubleEdit(NULL) + QWidget(parent), + m_maximum(max), + m_minimum(min), + m_decimals(decimals), + m_default(defaultValue), + m_id(id), + m_intEdit(NULL), + m_doubleEdit(NULL) { if (showSlider) setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); else setSizePolicy(QSizePolicy::Maximum, QSizePolicy::MinimumExpanding); @@ -69,7 +69,7 @@ DragValue::DragValue(const QString &label, double defaultValue, int decimals, do m_label->setStep(1); m_intEdit = new QSpinBox(this); m_intEdit->setObjectName("dragBox"); - m_intEdit->setFocusPolicy(Qt::StrongFocus); + m_intEdit->setFocusPolicy(Qt::StrongFocus); if (!suffix.isEmpty()) m_intEdit->setSuffix(suffix); m_intEdit->setKeyboardTracking(false); m_intEdit->setButtonSymbols(QAbstractSpinBox::NoButtons); @@ -83,7 +83,7 @@ DragValue::DragValue(const QString &label, double defaultValue, int decimals, do else { m_doubleEdit = new QDoubleSpinBox(this); m_doubleEdit->setDecimals(decimals); - m_doubleEdit->setFocusPolicy(Qt::StrongFocus); + m_doubleEdit->setFocusPolicy(Qt::StrongFocus); m_doubleEdit->setObjectName("dragBox"); if (!suffix.isEmpty()) m_doubleEdit->setSuffix(suffix); m_doubleEdit->setKeyboardTracking(false); @@ -107,7 +107,7 @@ DragValue::DragValue(const QString &label, double defaultValue, int decimals, do else m_label->setMaximumHeight(m_doubleEdit->sizeHint().height()); m_menu = new QMenu(this); - + m_scale = new KSelectAction(i18n("Scaling"), this); m_scale->addAction(i18n("Normal scale")); m_scale->addAction(i18n("Pixel scale")); @@ -243,7 +243,7 @@ void DragValue::slotReset() void DragValue::slotSetValue(int value) { - setValue(value, true); + setValue(value, true); } void DragValue::slotSetValue(double value) @@ -358,7 +358,7 @@ CustomLabel::CustomLabel(const QString &label, bool showSlider, int range, QWidg m_dragMode(false), m_showSlider(showSlider), m_step(10.0) - //m_precision(pow(10, precision)), + //m_precision(pow(10, precision)), { setFont(KGlobalSettings::toolBarFont()); setFormat(' ' + label); @@ -491,12 +491,12 @@ void CustomLabel::setStep(double step) void CustomLabel::focusInEvent(QFocusEvent*) { - setFocusPolicy(Qt::WheelFocus); + setFocusPolicy(Qt::WheelFocus); } void CustomLabel::focusOutEvent(QFocusEvent*) { - setFocusPolicy(Qt::StrongFocus); + setFocusPolicy(Qt::StrongFocus); } #include "dragvalue.moc" diff --git a/src/dvdwizard.cpp b/src/dvdwizard.cpp index bdd4d29f..1d87611b 100644 --- a/src/dvdwizard.cpp +++ b/src/dvdwizard.cpp @@ -487,7 +487,7 @@ void DvdWizard::processSpumux() processDvdauthor(menuMovieUrl, buttons, buttonsTarget); } -void DvdWizard::processDvdauthor(QString menuMovieUrl, QMap buttons, QStringList buttonsTarget) +void DvdWizard::processDvdauthor(const QString &menuMovieUrl, const QMap &buttons, const QStringList &buttonsTarget) { // create dvdauthor xml QListWidgetItem *authitem = m_status.job_progress->item(3); diff --git a/src/dvdwizard.h b/src/dvdwizard.h index 6806a34a..c5451616 100644 --- a/src/dvdwizard.h +++ b/src/dvdwizard.h @@ -77,7 +77,7 @@ private: void cleanup(); void errorMessage(const QString &text); void infoMessage(const QString &text); - void processDvdauthor(QString menuMovieUrl = QString(), stringRectMap buttons = stringRectMap(), QStringList buttonsTarget = QStringList()); + void processDvdauthor(const QString &menuMovieUrl = QString(), const stringRectMap &buttons = stringRectMap(), const QStringList &buttonsTarget = QStringList()); private slots: void slotPageChanged(int page); diff --git a/src/dvdwizardchapters.cpp b/src/dvdwizardchapters.cpp index 4af993e7..8b239ca9 100644 --- a/src/dvdwizardchapters.cpp +++ b/src/dvdwizardchapters.cpp @@ -24,10 +24,10 @@ #include DvdWizardChapters::DvdWizardChapters(MonitorManager *manager, DVDFORMAT format, QWidget *parent) : - QWizardPage(parent), - m_format(format), - m_monitor(NULL), - m_manager(manager) + QWizardPage(parent), + m_format(format), + m_monitor(NULL), + m_manager(manager) { m_view.setupUi(this); @@ -46,7 +46,7 @@ DvdWizardChapters::DvdWizardChapters(MonitorManager *manager, DVDFORMAT format, DvdWizardChapters::~DvdWizardChapters() { if (m_monitor) { - m_manager->removeMonitor(m_monitor); + m_manager->removeMonitor(m_monitor); m_monitor->stop(); delete m_monitor; } @@ -119,7 +119,7 @@ void DvdWizardChapters::updateMonitorMarkers() QStringList chapters = m_view.vob_list->itemData(m_view.vob_list->currentIndex(), Qt::UserRole + 1).toStringList(); QList markers; foreach(const QString &frame, chapters) { - markers << CommentedTime(GenTime(frame.toInt(), m_tc.fps()), QString()); + markers << CommentedTime(GenTime(frame.toInt(), m_tc.fps()), QString()); } m_monitor->setMarkers(markers); } @@ -159,9 +159,9 @@ void DvdWizardChapters::createMonitor(DVDFORMAT format) QVBoxLayout *vbox = new QVBoxLayout; vbox->addWidget(m_monitor); m_view.video_frame->setLayout(vbox); - m_monitor->setSizePolicy(QSizePolicy ( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); - m_manager->appendMonitor(m_monitor); - vbox->insertWidget(0, m_monitor, 10); + m_monitor->setSizePolicy(QSizePolicy ( QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding)); + m_manager->appendMonitor(m_monitor); + vbox->insertWidget(0, m_monitor, 10); } }