18 #ifndef PLAYLISTDOCK_H 19 #define PLAYLISTDOCK_H 21 #include <QDockWidget> 22 #include <QUndoCommand> 24 #include "models/playlistmodel.h" 30 class QAbstractItemView;
32 class PlaylistDock :
public QDockWidget
37 explicit PlaylistDock(QWidget *parent = 0);
39 PlaylistModel* model() {
43 void replaceClipsWithHash(
const QString& hash, Mlt::Producer& producer);
46 void clipOpened(Mlt::Producer* producer,
bool play =
false);
47 void itemActivated(
int start);
48 void showStatusMessage(QString);
49 void addAllTimeline(Mlt::Playlist*,
bool skipProxy =
false);
52 void incrementIndex();
53 void decrementIndex();
54 void setIndex(
int row);
57 void on_actionOpen_triggered();
58 void on_actionInsertCut_triggered();
59 void on_actionAppendCut_triggered();
60 void on_actionUpdate_triggered();
61 void on_removeButton_clicked();
62 void setUpdateButtonEnabled(
bool modified);
63 void onProducerOpened();
66 void on_actionCopy_triggered();
67 void on_actionSelectAll_triggered();
68 void on_actionSelectNone_triggered();
69 void onProducerChanged(Mlt::Producer* producer);
72 void on_menuButton_clicked();
74 void on_actionInsertBlank_triggered();
76 void on_actionAppendBlank_triggered();
78 void viewCustomContextMenuRequested(
const QPoint &pos);
80 void viewDoubleClicked(
const QModelIndex &index);
82 void on_actionGoto_triggered();
84 void on_actionRemoveAll_triggered();
86 void on_actionSortByName_triggered();
88 void on_actionSortByDate_triggered();
90 void on_actionSetFileDate_triggered();
92 void onPlaylistCreated();
94 void onPlaylistLoaded();
96 void onPlaylistModified();
98 void onPlaylistCleared();
100 void onPlaylistClosed();
102 void onDropped(
const QMimeData *data,
int row);
104 void onMoveClip(
int from,
int to);
106 void onPlayerDragStarted();
108 void on_addButton_clicked();
110 void on_actionThumbnailsHidden_triggered(
bool checked);
112 void on_actionLeftAndRight_triggered(
bool checked);
114 void on_actionTopAndBottom_triggered(
bool checked);
116 void on_actionInOnlySmall_triggered(
bool checked);
118 void on_actionInOnlyLarge_triggered(
bool checked);
120 void on_actionAddToTimeline_triggered();
122 void on_actionAddToSlideshow_triggered();
124 void on_updateButton_clicked();
126 void updateViewModeFromActions();
128 void on_tilesButton_clicked();
130 void on_iconsButton_clicked();
132 void on_detailsButton_clicked();
136 void onInTimerFired();
138 void onOutTimerFired();
140 void on_actionPlayAfterOpen_triggered(
bool checked);
142 void on_actionUpdateThumbnails_triggered();
144 void onProducerModified();
147 void keyPressEvent(QKeyEvent* event);
148 void keyReleaseEvent(QKeyEvent* event);
151 void setViewMode(PlaylistModel::ViewMode mode);
152 void resetPlaylistIndex();
153 void emitDataChanged(
const QVector<int> &roles);
155 Ui::PlaylistDock *ui;
156 QAbstractItemView *m_view;
157 QAbstractItemView *m_iconsView;
158 PlaylistModel m_model;
159 int m_defaultRowHeight;
160 QTimer m_inChangedTimer;
161 QTimer m_outChangedTimer;
164 #endif // PLAYLISTDOCK_H