#ifndef SUBTITLEPARSER_H #define SUBTITLEPARSER_H #include #include #include #include class Subtitle { public: Subtitle(const QString &text, quint64 start, quint64 stop); bool isContainedIn(quint64 time) const; void offsetTime(qint64 time); QString text() const; bool isAfter(quint64 time) const; QString toString() const; private: QString formatTime(quint64 time) const; quint64 m_start; quint64 m_stop; qint64 m_offset; QString m_text; }; class SubtitleParser { public: SubtitleParser(QIODevice *toRead, const QString &fileName); void offsetTime(qint64 time); void writeOut(QIODevice *toWrite); QString fileName() const; QString subtitleAtTime(quint64 time); private: quint64 parseTime(const QString &time); QLinkedList m_subtitles; QString m_fileName; QLinkedList::const_iterator m_searchPosition; }; Q_DECLARE_METATYPE(SubtitleParser*) #endif // SUBTITLEPARSER_H