#include <QGraphicsItemAnimation>
#include <QTimeLine>
#include <QMenu>
-
-#include <KUndoStack>
+#include <QUndoStack>
#include "kdenlivedoc.h"
#include "docclipbase.h"
#include "guide.h"
+#include "effectslist.h"
class ClipItem;
class AbstractClipItem;
/** move transition, startPos = (old start, old end), endPos = (new start, new end) */
void moveTransition(const ItemInfo start, const ItemInfo end);
void resizeClip(const ItemInfo start, const ItemInfo end);
- void addClip(QDomElement xml, int clipId, ItemInfo info);
+ void addClip(QDomElement xml, int clipId, ItemInfo info, EffectsList list = EffectsList());
void deleteClip(ItemInfo info);
void slotAddClipMarker();
void slotEditClipMarker();
void slotDeleteClipMarker();
+ void slotDeleteAllClipMarkers();
void addMarker(const int id, const GenTime &pos, const QString comment);
void setScale(double scaleFactor);
void deleteClip(int clipId);
void slotSeekToPreviousSnap();
void slotSeekToNextSnap();
double getSnapPointForPos(double pos);
- QDomElement xmlInfo();
void editKeyFrame(const GenTime pos, const int track, const int index, const QString keyframes);
bool findString(const QString &text);
bool findNextString(const QString &text);
void clearSearchStrings();
void clipStart();
void clipEnd();
+ void changeClipSpeed();
+ void doChangeClipSpeed(ItemInfo info, double speed, int id);
public slots:
void setCursorPos(int pos, bool seek = true);
void slotEditGuide(CommentedTime guide);
void slotEditGuide();
void slotDeleteGuide();
+ void slotDeleteAllGuides();
void editGuide(const GenTime oldPos, const GenTime pos, const QString &comment);
+ void copyClip();
+ void pasteClip();
+ void pasteClipEffects();
protected:
virtual void drawBackground(QPainter * painter, const QRectF & rect);
OPERATIONTYPE m_moveOpMode;
AbstractClipItem *m_dragItem;
Guide *m_dragGuide;
- KUndoStack *m_commandStack;
+ QUndoStack *m_commandStack;
QGraphicsItem *m_visualTip;
QGraphicsItemAnimation *m_animation;
QTimeLine *m_animationTimer;
int m_findIndex;
PROJECTTOOL m_tool;
QCursor m_razorCursor;
+ /** list containing items currently copied in the timeline */
+ QList<AbstractClipItem *> m_copiedItems;
+ QList<AbstractClipItem *> m_selectedClipList;
+ /** Used to get the point in timeline where a context menu was opened */
+ QPoint m_menuPosition;
+ bool m_blockRefresh;
+
/** Get the index of the video track that is just below current track */
int getPreviousVideoTrack(int track);
void updateClipFade(ClipItem * item, bool updateFadeOut = false);
+ bool canBePastedTo(ItemInfo info, int type) const;
+ bool canBePasted(QList<AbstractClipItem *> items, GenTime offset, int trackOffset) const;
+ bool canBeMoved(QList<AbstractClipItem *> items, GenTime offset, int trackOffset) const;
private slots:
void slotRefreshGuides();
+ void slotEnableRefresh();
signals:
void cursorMoved(int, int);