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() {
45 void clipOpened(Mlt::Producer* producer,
bool play =
false);
46 void itemActivated(
int start);
47 void showStatusMessage(QString);
48 void addAllTimeline(Mlt::Playlist*);
51 void incrementIndex();
52 void decrementIndex();
53 void setIndex(
int row);
56 void on_actionOpen_triggered();
57 void on_actionInsertCut_triggered();
58 void on_actionAppendCut_triggered();
59 void on_actionUpdate_triggered();
60 void on_removeButton_clicked();
61 void setUpdateButtonEnabled(
bool modified);
62 void onProducerOpened();
65 void on_actionCopy_triggered();
66 void on_actionSelectAll_triggered();
67 void on_actionSelectNone_triggered();
68 void onProducerChanged(Mlt::Producer* producer);
71 void on_menuButton_clicked();
73 void on_actionInsertBlank_triggered();
75 void on_actionAppendBlank_triggered();
77 void viewCustomContextMenuRequested(
const QPoint &pos);
79 void viewDoubleClicked(
const QModelIndex &index);
81 void on_actionGoto_triggered();
83 void on_actionRemoveAll_triggered();
85 void on_actionSortByName_triggered();
87 void on_actionSortByDate_triggered();
89 void on_actionSetFileDate_triggered();
91 void onPlaylistCreated();
93 void onPlaylistLoaded();
95 void onPlaylistModified();
97 void onPlaylistCleared();
99 void onPlaylistClosed();
101 void onDropped(
const QMimeData *data,
int row);
103 void onMoveClip(
int from,
int to);
105 void onPlayerDragStarted();
107 void on_addButton_clicked();
109 void on_actionThumbnailsHidden_triggered(
bool checked);
111 void on_actionLeftAndRight_triggered(
bool checked);
113 void on_actionTopAndBottom_triggered(
bool checked);
115 void on_actionInOnlySmall_triggered(
bool checked);
117 void on_actionInOnlyLarge_triggered(
bool checked);
119 void on_actionAddToTimeline_triggered();
121 void on_updateButton_clicked();
123 void updateViewModeFromActions();
125 void on_tilesButton_clicked();
127 void on_iconsButton_clicked();
129 void on_detailsButton_clicked();
133 void onInTimerFired();
135 void onOutTimerFired();
137 void on_actionPlayAfterOpen_triggered(
bool checked);
139 void on_actionUpdateThumbnails_triggered();
141 void onProducerModified();
144 void keyPressEvent(QKeyEvent* event);
145 void keyReleaseEvent(QKeyEvent* event);
148 void setViewMode(PlaylistModel::ViewMode mode);
149 void resetPlaylistIndex();
150 void emitDataChanged(
const QVector<int> &roles);
152 Ui::PlaylistDock *ui;
153 QAbstractItemView *m_view;
154 QAbstractItemView *m_iconsView;
155 PlaylistModel m_model;
156 int m_defaultRowHeight;
157 QTimer m_inChangedTimer;
158 QTimer m_outChangedTimer;
161 #endif // PLAYLISTDOCK_H