18#ifndef SUBTITLECOMMANDS_H
19#define SUBTITLECOMMANDS_H
21#include "models/subtitlesmodel.h"
22#include <QUndoCommand>
33class InsertTrackCommand :
public QUndoCommand
36 InsertTrackCommand(SubtitlesModel &model,
const SubtitlesModel::SubtitleTrack &track,
int index);
40 SubtitlesModel &m_model;
41 SubtitlesModel::SubtitleTrack m_track;
45class RemoveTrackCommand :
public QUndoCommand
48 RemoveTrackCommand(SubtitlesModel &model,
int trackIndex);
52 SubtitlesModel &m_model;
54 SubtitlesModel::SubtitleTrack m_saveTrack;
55 QList<Subtitles::SubtitleItem> m_saveSubtitles;
58class EditTrackCommand :
public QUndoCommand
61 EditTrackCommand(SubtitlesModel &model,
const SubtitlesModel::SubtitleTrack &track,
int index);
65 SubtitlesModel &m_model;
66 SubtitlesModel::SubtitleTrack m_oldTrack;
67 SubtitlesModel::SubtitleTrack m_newTrack;
71class OverwriteSubtitlesCommand :
public QUndoCommand
74 OverwriteSubtitlesCommand(SubtitlesModel &model,
int trackIndex,
75 const QList<Subtitles::SubtitleItem> &items);
79 QList<Subtitles::SubtitleItem> m_newSubtitles;
81 SubtitlesModel &m_model;
83 QList<Subtitles::SubtitleItem> m_saveSubtitles;
86class RemoveSubtitlesCommand :
public QUndoCommand
89 RemoveSubtitlesCommand(SubtitlesModel &model,
int trackIndex,
90 const QList<Subtitles::SubtitleItem> &items);
94 SubtitlesModel &m_model;
96 QList<Subtitles::SubtitleItem> m_items;
99class SetTextCommand :
public QUndoCommand
102 SetTextCommand(SubtitlesModel &model,
int trackIndex,
int itemIndex,
const QString &text);
108 return UndoIdSubText;
110 bool mergeWith(
const QUndoCommand *other);
112 SubtitlesModel &m_model;
119class SetStartCommand :
public QUndoCommand
122 SetStartCommand(SubtitlesModel &model,
int trackIndex,
int itemIndex, int64_t msTime);
128 return UndoIdSubStart;
130 bool mergeWith(
const QUndoCommand *other);
132 SubtitlesModel &m_model;
139class SetEndCommand :
public QUndoCommand
142 SetEndCommand(SubtitlesModel &model,
int trackIndex,
int itemIndex, int64_t msTime);
150 bool mergeWith(
const QUndoCommand *other);
152 SubtitlesModel &m_model;
159class MoveSubtitlesCommand :
public QUndoCommand
162 MoveSubtitlesCommand(SubtitlesModel &model,
int trackIndex,
163 const QList<Subtitles::SubtitleItem> &items, int64_t msTime);
169 return UndoIdSubMove;
171 bool mergeWith(
const QUndoCommand *other);
173 SubtitlesModel &m_model;
175 QList<Subtitles::SubtitleItem> m_oldSubtitles;
176 QList<Subtitles::SubtitleItem> m_newSubtitles;