19 #ifndef MELTEDUNITDOCK_H 20 #define MELTEDUNITDOCK_H 22 #include <QDockWidget> 23 #include <QUndoCommand> 24 #include "meltedplaylistmodel.h" 25 #include "transportcontrol.h" 28 class MeltedPlaylistDock;
32 class TransportControl;
35 class MeltedPlaylistDock :
public QDockWidget
40 explicit MeltedPlaylistDock(QWidget *parent = 0);
41 ~MeltedPlaylistDock();
42 QAbstractItemModel* model()
const;
43 const TransportControllable* transportControl()
const;
46 void appendRequested();
47 void insertRequested(
int row);
50 void onConnected(
const QString& address, quint16 port = 5250, quint8 unit = 0);
51 void onDisconnected();
52 void onUnitChanged(quint8 unit);
55 void keyPressEvent(QKeyEvent *);
58 void on_tableView_clicked(
const QModelIndex &index);
60 void on_tableView_doubleClicked(
const QModelIndex &index);
62 void onDropped(QString clip,
int row);
64 void onAppend(QString clip,
int in = -1,
int out = -1);
66 void onInsert(QString clip,
int row,
int in = -1,
int out = -1);
68 void onMoveClip(
int from,
int to);
72 void on_tableView_customContextMenuRequested(
const QPoint &pos);
74 void on_addButton_clicked();
76 void on_removeButton_clicked();
78 void on_menuButton_clicked();
80 void on_actionInsertCut_triggered();
82 void on_actionOpen_triggered();
84 void on_actionGoto_triggered();
86 void on_actionRemoveAll_triggered();
88 void on_actionWipe_triggered();
90 void on_actionClean_triggered();
93 Ui::MeltedPlaylistDock *ui;
94 MeltedPlaylistModel m_model;
95 QList<QUndoCommand*> m_operations;
96 MeltedPlaylist::TransportControl* m_transportControl;
102 class TransportControl :
public TransportControllable
106 explicit TransportControl(MeltedPlaylistModel& model);
109 void play(
double speed = 1.0);
112 void seek(
int position);
115 void previous(
int currentPosition);
116 void next(
int currentPosition);
118 void setOut(
int out);
121 MeltedPlaylistModel& m_model;
124 class AppendCommand :
public QUndoCommand
127 AppendCommand(MeltedPlaylistModel& model,
const QString& clip,
int in = -1,
int out = -1, QUndoCommand * parent = 0);
131 MeltedPlaylistModel& m_model;
138 class InsertCommand :
public QUndoCommand
141 InsertCommand(MeltedPlaylistModel& model,
const QString& clip,
int row,
int in = -1,
int out = -1, QUndoCommand * parent = 0);
145 MeltedPlaylistModel& m_model;
153 class SetInCommand :
public QUndoCommand
156 SetInCommand(MeltedPlaylistModel& model,
const QString& clip,
int row,
int in, QUndoCommand * parent = 0);
160 MeltedPlaylistModel& m_model;
167 class SetOutCommand :
public QUndoCommand
170 SetOutCommand(MeltedPlaylistModel& model,
const QString& clip,
int row,
int out, QUndoCommand * parent = 0);
174 MeltedPlaylistModel& m_model;
181 class RemoveCommand :
public QUndoCommand
184 RemoveCommand(MeltedPlaylistModel& model, QString& clip,
int row,
int in = -1,
int out = -1, QUndoCommand * parent = 0);
188 MeltedPlaylistModel& m_model;
196 class MoveCommand :
public QUndoCommand
199 MoveCommand(MeltedPlaylistModel& model, QString& clip,
int from,
int to, QUndoCommand * parent = 0);
203 MeltedPlaylistModel& m_model;
211 #endif // MELTEDPLAYLISTDOCK_H Definition: addencodepresetdialog.h:24
Definition: meltedplaylistdock.cpp:246