1 /*
2     SPDX-FileCopyrightText: 2003 Sebastian Trueg <trueg@k3b.org>
3     SPDX-FileCopyrightText: 2009 Gustavo Pichorim Boiko <gustavo.boiko@kdemail.net>
4     SPDX-FileCopyrightText: 2010-2011 Michal Malek <michalm@jabster.pl>
5     SPDX-FileCopyrightText: 1998-2009 Sebastian Trueg <trueg@k3b.org>
6 
7     SPDX-License-Identifier: GPL-2.0-or-later
8 */
9 
10 
11 #include "k3bmovixfileitem.h"
12 #include "k3bmovixdoc.h"
13 #include "k3bdiritem.h"
14 
MovixSubtitleItem(const QString & fileName,K3b::MovixDoc & doc,K3b::MovixFileItem * parent,const QString & k3bName)15 K3b::MovixSubtitleItem::MovixSubtitleItem( const QString& fileName,
16                                            K3b::MovixDoc& doc,
17                                            K3b::MovixFileItem* parent,
18                                            const QString& k3bName )
19     : K3b::MovixFileItem( fileName, doc, k3bName ),
20       m_parent( parent )
21 {
22 }
23 
~MovixSubtitleItem()24 K3b::MovixSubtitleItem::~MovixSubtitleItem()
25 {
26 }
27 
MovixFileItem(const QString & fileName,K3b::MovixDoc & doc,const QString & k3bName)28 K3b::MovixFileItem::MovixFileItem( const QString& fileName,
29                                    K3b::MovixDoc& doc,
30                                    const QString& k3bName )
31     : K3b::FileItem( fileName, doc, k3bName ),
32       m_subTitleItem(0)
33 {
34 }
35 
36 
~MovixFileItem()37 K3b::MovixFileItem::~MovixFileItem()
38 {
39     if( m_subTitleItem ) {
40         delete m_subTitleItem;
41         m_subTitleItem = 0;
42     }
43 
44     // remove this from parentdir
45     // it is important to do it here and not
46     // rely on the K3b::FileItem destructor because
47     // otherwise the doc is not informed early enough
48     if( parent() )
49         parent()->takeDataItem( this );
50 }
51 
52 
setK3bName(const QString & newName)53 void K3b::MovixFileItem::setK3bName( const QString& newName )
54 {
55     K3b::FileItem::setK3bName( newName );
56 
57     // take care of the subTitle file
58     if( m_subTitleItem ) {
59         m_subTitleItem->setK3bName( subTitleFileName(k3bName()) );
60     }
61 }
62 
subTitleFileName(const QString & name)63 QString K3b::MovixFileItem::subTitleFileName( const QString& name )
64 {
65     // remove ending from k3bName
66     QString subName = name;
67     int pos = subName.lastIndexOf('.');
68     if( pos > 0 )
69         subName.truncate( pos );
70     subName += ".sub";
71     return subName;
72 }
73 
74