* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <QMouseEvent>
-#include <QStylePainter>
-#include <QGraphicsItem>
-#include <QDomDocument>
-#include <QScrollBar>
-#include <QApplication>
-#include <QInputDialog>
-
-#include <KDebug>
-#include <KLocale>
-#include <KUrl>
-#include <KIcon>
-#include <KCursor>
#include "customtrackview.h"
#include "customtrackscene.h"
#include "razorclipcommand.h"
#include "kdenlivesettings.h"
#include "transition.h"
-#include "clipitem.h"
-#include "customtrackview.h"
#include "clipmanager.h"
#include "renderer.h"
#include "markerdialog.h"
#include "initeffects.h"
#include "locktrackcommand.h"
+#include <KDebug>
+#include <KLocale>
+#include <KUrl>
+#include <KIcon>
+#include <KCursor>
+
+#include <QMouseEvent>
+#include <QStylePainter>
+#include <QGraphicsItem>
+#include <QDomDocument>
+#include <QScrollBar>
+#include <QApplication>
+#include <QInputDialog>
+
+
//TODO:
// disable animation if user asked it in KDE's global settings
// http://lists.kde.org/?l=kde-commits&m=120398724717624&w=2
CustomTrackView::CustomTrackView(KdenliveDoc *doc, CustomTrackScene* projectscene, QWidget *parent)
: QGraphicsView(projectscene, parent), m_scene(projectscene), m_cursorPos(0), m_cursorLine(NULL), m_operationMode(NONE), m_dragItem(NULL), m_visualTip(NULL), m_moveOpMode(NONE), m_animation(NULL), m_projectDuration(0), m_clickPoint(QPoint()), m_document(doc), m_autoScroll(KdenliveSettings::autoscroll()), m_tracksHeight(KdenliveSettings::trackheight()), m_tool(SELECTTOOL), m_dragGuide(NULL), m_findIndex(0), m_menuPosition(QPoint()), m_blockRefresh(false), m_selectionGroup(NULL), m_selectedTrack(0), m_copiedItems(QList<AbstractClipItem *> ()), m_scrollOffset(0), m_changeSpeedAction(NULL), m_pasteEffectsAction(NULL) {
if (doc) m_commandStack = doc->commandStack();
- else m_commandStack == NULL;
+ else m_commandStack = NULL;
setMouseTracking(true);
setAcceptDrops(true);
m_animationTimer = new QTimeLine(800);
void CustomTrackView::dragEnterEvent(QDragEnterEvent * event) {
if (event->mimeData()->hasFormat("kdenlive/clip")) {
resetSelectionGroup();
- QStringList list = QString(event->mimeData()->data("kdenlive/clip")).split(";");
+ QStringList list = QString(event->mimeData()->data("kdenlive/clip")).split(';');
m_selectionGroup = new AbstractGroupItem(m_document->fps());
QPoint pos = QPoint();
DocClipBase *clip = m_document->getBaseClip(list.at(0));
scene()->addItem(m_selectionGroup);
event->acceptProposedAction();
} else if (event->mimeData()->hasFormat("kdenlive/producerslist")) {
- QStringList ids = QString(event->mimeData()->data("kdenlive/producerslist")).split(";");
+ QStringList ids = QString(event->mimeData()->data("kdenlive/producerslist")).split(';');
m_scene->clearSelection();
resetSelectionGroup(false);
}
if (effectParams.paramValue("disabled") == "1") {
if (m_document->renderer()->mltRemoveEffect(track, pos, effectParams.paramValue("kdenlive_ix"), false)) {
- kDebug() << "////// DISABLING EFFECT: " << index << ", CURRENTLA: " << clip->selectedEffectIndex();
+ kDebug() << "////// DISABLING EFFECT: " << ix << ", CURRENTLA: " << clip->selectedEffectIndex();
} else emit displayMessage(i18n("Problem deleting effect"), ErrorMessage);
} else if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams))
emit displayMessage(i18n("Problem editing effect"), ErrorMessage);
m_dragItem = NULL;
return;
} else if (m_operationMode == SPACER) {
- int endClick = (int)(mapToScene(event->pos()).x() + 0.5);
- int mappedClick = (int)(mapToScene(m_clickEvent).x() + 0.5);
int track = (int)(mapToScene(m_clickEvent).y() / m_tracksHeight);
if (m_selectionGroup->sceneBoundingRect().height() > m_tracksHeight) {
// We are moving all tracks
}
info.track = m_document->tracksCount() - item->track();
int endPos = m_document->renderer()->mltChangeClipSpeed(info, speed, oldspeed, baseclip->producer());
- kDebug() << "//CH CLIP SPEED: " << speed << "x" << oldspeed << ", END POS: " << endPos;
- item->setSpeed(speed);
- item->updateRectGeometry();
- if (item->cropDuration().frames(m_document->fps()) > endPos)
- item->AbstractClipItem::resizeEnd(info.startPos.frames(m_document->fps()) + endPos, speed);
- m_document->setModified(true);
+ if (endPos >= 0) {
+ item->setSpeed(speed);
+ item->updateRectGeometry();
+ if (item->cropDuration().frames(m_document->fps()) > endPos)
+ item->AbstractClipItem::resizeEnd(info.startPos.frames(m_document->fps()) + endPos, speed);
+ m_document->setModified(true);
+ } else emit displayMessage(i18n("Invalid clip"), ErrorMessage);
}
void CustomTrackView::cutSelectedClips() {
QUndoCommand *deleteAll = new QUndoCommand();
deleteAll->setText("Delete all guides");
for (int i = 0; i < m_guides.count(); i++) {
- EditGuideCommand *command = new EditGuideCommand(this, m_guides.at(i)->position(), m_guides.at(i)->label(), GenTime(), QString(), true, deleteAll);
+ new EditGuideCommand(this, m_guides.at(i)->position(), m_guides.at(i)->label(), GenTime(), QString(), true, deleteAll);
}
m_commandStack->push(deleteAll);
}
}
if (clips.count() == 1 && allowOutsideCursor) return static_cast < ClipItem *>(clips.at(0));
for (int i = 0; i < clips.count(); ++i) {
- if (clips.at(i)->type() == AVWIDGET)
+ if (clips.at(i)->type() == AVWIDGET) {
item = static_cast < ClipItem *>(clips.at(i));
- if (item->startPos().frames(m_document->fps()) <= m_cursorPos && item->endPos().frames(m_document->fps()) >= m_cursorPos) return item;
+ if (item->startPos().frames(m_document->fps()) <= m_cursorPos && item->endPos().frames(m_document->fps()) >= m_cursorPos)
+ return item;
+ }
}
}
return NULL;