18 #ifndef PLAYLISTDOCK_H
19 #define PLAYLISTDOCK_H
21 #include <QDockWidget>
22 #include <QUndoCommand>
24 #include "models/playlistmodel.h"
30 class QAbstractItemView;
31 class PlaylistIconView;
33 class PlaylistDock :
public QDockWidget
38 explicit PlaylistDock(QWidget *parent = 0);
40 PlaylistModel* model() {
44 void replaceClipsWithHash(
const QString& hash, Mlt::Producer& producer);
47 void clipOpened(Mlt::Producer* producer,
bool play =
false);
48 void itemActivated(
int start);
49 void showStatusMessage(QString);
50 void addAllTimeline(Mlt::Playlist*,
bool skipProxy =
false);
53 void incrementIndex();
54 void decrementIndex();
55 void setIndex(
int row);
58 void on_actionOpen_triggered();
59 void on_actionInsertCut_triggered();
60 void on_actionAppendCut_triggered();
61 void on_actionUpdate_triggered();
62 void on_removeButton_clicked();
63 void setUpdateButtonEnabled(
bool modified);
64 void onProducerOpened();
67 void on_actionCopy_triggered();
68 void on_actionSelectAll_triggered();
69 void on_actionSelectNone_triggered();
70 void onProducerChanged(Mlt::Producer* producer);
71 void on_actionGoto_triggered();
74 void on_menuButton_clicked();
76 void on_actionInsertBlank_triggered();
78 void on_actionAppendBlank_triggered();
80 void viewCustomContextMenuRequested(
const QPoint &pos);
82 void viewDoubleClicked(
const QModelIndex &index);
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);
154 void setPlaylistIndex(Mlt::Producer* producer,
int row);
156 Ui::PlaylistDock *ui;
157 QAbstractItemView *m_view;
158 PlaylistIconView *m_iconsView;
159 PlaylistModel m_model;
160 int m_defaultRowHeight;
161 QTimer m_inChangedTimer;
162 QTimer m_outChangedTimer;
165 #endif // PLAYLISTDOCK_H