File indexing completed on 2024-05-12 04:51:08

0001 /*
0002     SPDX-FileCopyrightText: 2003 Sebastian Trueg <trueg@k3b.org>
0003     SPDX-FileCopyrightText: 2009 Gustavo Pichorim Boiko <gustavo.boiko@kdemail.net>
0004     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 
0010 #ifndef _K3B_MOVIX_FILEITEM_H_
0011 #define _K3B_MOVIX_FILEITEM_H_
0012 
0013 #include "k3bfileitem.h"
0014 
0015 namespace K3b {
0016     class MovixDoc;
0017     class MovixSubtitleItem;
0018 
0019     class LIBK3B_EXPORT MovixFileItem : public FileItem
0020     {
0021     public:
0022         MovixFileItem( const QString& fileName, MovixDoc& doc, const QString& k3bName = 0 );
0023         ~MovixFileItem() override;
0024 
0025         virtual bool isSubtitle() { return false; }
0026 
0027         MovixSubtitleItem* subTitleItem() const { return m_subTitleItem; }
0028         void setSubTitleItem( MovixSubtitleItem* i ) { m_subTitleItem = i; }
0029 
0030         /**
0031          * reimplemented from DataItem
0032          * also renames the subTitleItem
0033          */
0034         void setK3bName( const QString& ) override;
0035 
0036         /**
0037          * returns the name that the subtitle file must have in
0038          * order to work with mplayer
0039          */
0040         static QString subTitleFileName( const QString& );
0041 
0042 
0043     private:
0044         MovixSubtitleItem* m_subTitleItem;
0045     };
0046 
0047     class LIBK3B_EXPORT MovixSubtitleItem : public MovixFileItem
0048     {
0049     public:
0050         MovixSubtitleItem( const QString& fileName, MovixDoc& doc, MovixFileItem *parent, const QString& k3bName = 0 );
0051         ~MovixSubtitleItem() override;
0052 
0053         bool isSubtitle() override { return true; }
0054         MovixFileItem *parent() const { return m_parent; }
0055 
0056 
0057     private:
0058         MovixFileItem *m_parent;
0059     };
0060 
0061 
0062 }
0063 
0064 #endif