22#include <QUndoCommand>
24#include "models/playlistmodel.h"
30class QAbstractItemView;
31class QItemSelectionModel;
33class PlaylistIconView;
35class PlaylistDock :
public QDockWidget
40 explicit PlaylistDock(QWidget *parent = 0);
42 PlaylistModel *model()
47 void replaceClipsWithHash(
const QString &hash, Mlt::Producer &producer);
48 void getSelectionRange(
int *start,
int *end);
51 void clipOpened(Mlt::Producer *producer,
bool play =
false);
52 void itemActivated(
int start);
53 void showStatusMessage(QString);
54 void addAllTimeline(Mlt::Playlist *,
bool skipProxy =
false);
55 void producerOpened();
56 void selectionChanged();
57 void enableUpdate(
bool);
60 void onOpenActionTriggered();
61 void onAppendCutActionTriggered();
62 void onProducerOpened();
65 void onProducerChanged(Mlt::Producer *producer);
66 void onProducerModified();
67 void onPlayerDragStarted();
68 void onPlaylistModified();
69 void onPlaylistCreated();
70 void onPlaylistLoaded();
71 void onPlaylistCleared();
75 void viewCustomContextMenuRequested(
const QPoint &pos);
76 void viewDoubleClicked(
const QModelIndex &index);
77 void onDropped(
const QMimeData *data,
int row);
78 void onMoveClip(
int from,
int to);
80 void onInTimerFired();
81 void onOutTimerFired();
84 void keyPressEvent(QKeyEvent *event);
85 void keyReleaseEvent(QKeyEvent *event);
89 void resetPlaylistIndex();
90 void emitDataChanged(
const QVector<int> &roles);
91 void setPlaylistIndex(Mlt::Producer *producer,
int row);
92 void updateViewMode();
93 void onAddFilesActionTriggered();
94 void onUpdateThumbnailsActionTriggered();
95 void onAddToTimelineActionTriggered();
96 void onAddToSlideshowActionTriggered();
97 void onSetFileDateActionTriggered();
98 void onRemoveAllActionTriggered();
99 void onGotoActionTriggered();
100 void onCopyActionTriggered();
101 void onSelectAllActionTriggered();
102 void onInsertCutActionTriggered();
103 void onUpdateActionTriggered();
104 void onRemoveActionTriggered();
105 void incrementIndex();
106 void decrementIndex();
107 void setIndex(
int row);
111 Ui::PlaylistDock *ui;
112 QAbstractItemView *m_view;
113 PlaylistIconView *m_iconsView;
114 PlaylistModel m_model;
115 QItemSelectionModel *m_selectionModel;
116 int m_defaultRowHeight;
117 QTimer m_inChangedTimer;
118 QTimer m_outChangedTimer;
120 bool m_blockResizeColumnsToContents;