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