18 #ifndef SUBTITLESDOCK_H
19 #define SUBTITLESDOCK_H
21 #include <MltPlaylist.h>
22 #include <QDockWidget>
25 class SubtitlesSelectionModel;
32 class SubtitlesDock :
public QDockWidget
37 explicit SubtitlesDock(QWidget *parent = 0);
39 void setModel(SubtitlesModel *model, SubtitlesSelectionModel *selectionModel);
40 void importSrtFromFile(
const QString &srtPath,
41 const QString &trackName,
43 bool includeNonspoken);
46 void seekRequested(
int pos);
47 void addAllTimeline(Mlt::Playlist *,
bool skipProxy,
bool emptyTrack);
48 void createOrEditFilterOnOutput(Mlt::Filter *,
const QStringList &key_properties);
51 void onPositionChanged(
int position);
52 void onStartColumnToggled(
bool checked);
53 void onEndColumnToggled(
bool checked);
54 void onDurationColumnToggled(
bool checked);
57 void resizeEvent(QResizeEvent *) Q_DECL_OVERRIDE;
61 void onCreateOrEditRequested();
62 void onAddRequested();
63 void onRemoveRequested();
64 void onSetStartRequested();
65 void onSetEndRequested();
66 void onMoveRequested();
69 void updateActionAvailablity();
70 void addSubtitleTrack();
71 void removeSubtitleTrack();
72 void editSubtitleTrack();
73 void refreshTracksCombo();
74 void importSubtitles();
75 void exportSubtitles();
76 void onItemDoubleClicked(
const QModelIndex &index);
77 void resizeTextWidgets();
78 void updateTextWidgets();
79 void setCurrentItem(
int trackIndex,
int itemIndex);
80 void refreshWidgets();
81 void selectItemForTime();
82 QString availableTrackName();
83 bool trackNameExists(
const QString &name);
84 void ensureTrackExists();
85 void burnInOnTimeline();
86 void generateTextOnTimeline();
88 bool findWhisperExe();
90 SubtitlesModel *m_model;
91 SubtitlesSelectionModel *m_selectionModel;
92 QLabel *m_addToTimelineLabel;
93 QComboBox *m_trackCombo;
94 QTreeView *m_treeView;
102 bool m_textEditInProgress;