~ubuntu-branches/debian/sid/smplayer/sid

« back to all changes in this revision

Viewing changes to src/corelib/subtracks.h

  • Committer: Bazaar Package Importer
  • Author(s): Maia Kozheva
  • Date: 2009-03-31 23:05:43 UTC
  • mto: (1.1.9 upstream) (3.1.2 squeeze)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20090331230543-nsklbxenl2hf2n6h
Tags: upstream-0.6.7
ImportĀ upstreamĀ versionĀ 0.6.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*  smplayer, GUI front-end for mplayer.
2
 
    Copyright (C) 2006-2008 Ricardo Villalba <rvm@escomposlinux.org>
3
 
 
4
 
    This program is free software; you can redistribute it and/or modify
5
 
    it under the terms of the GNU General Public License as published by
6
 
    the Free Software Foundation; either version 2 of the License, or
7
 
    (at your option) any later version.
8
 
 
9
 
    This program is distributed in the hope that it will be useful,
10
 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
 
    GNU General Public License for more details.
13
 
 
14
 
    You should have received a copy of the GNU General Public License
15
 
    along with this program; if not, write to the Free Software
16
 
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17
 
*/
18
 
 
19
 
 
20
 
#ifndef _SUBTRACKS_H_
21
 
#define _SUBTRACKS_H_
22
 
 
23
 
#include <QString>
24
 
#include <QFileInfo>
25
 
#include <QList>
26
 
 
27
 
class SubData 
28
 
{
29
 
 
30
 
public:
31
 
        enum Type { None = -1, Vob = 0, Sub = 1, File = 2 };
32
 
 
33
 
        SubData() { _ID=-1; _lang=""; _name=""; _filename=""; _type = None; };
34
 
        ~SubData() {};
35
 
 
36
 
        void setType( Type t ) { _type = t; };
37
 
        void setID(int id) { _ID = id; };
38
 
        void setLang(QString lang) { _lang = lang; };
39
 
        void setName(QString name) { _name = name; };
40
 
        void setFilename(QString f) { _filename = f; };
41
 
 
42
 
        Type type() { return _type; };
43
 
        int ID() { return _ID; };
44
 
        QString lang() { return _lang; };
45
 
        QString name() { return _name; };
46
 
        QString filename() { return _filename; };
47
 
 
48
 
        QString displayName() {
49
 
                QString dname="";
50
 
 
51
 
            if (!_name.isEmpty()) {
52
 
                        dname = _name;
53
 
                }
54
 
                else
55
 
                if (!_lang.isEmpty()) {
56
 
                        dname = _lang;
57
 
                }
58
 
                else
59
 
                if (!_filename.isEmpty()) {
60
 
                        QFileInfo f(_filename);
61
 
                        dname = f.fileName();
62
 
                }
63
 
                else
64
 
                dname = QString::number(_ID);
65
 
 
66
 
                return dname;
67
 
        };
68
 
 
69
 
protected:
70
 
        Type _type;
71
 
        int _ID;
72
 
        QString _lang;
73
 
        QString _name;
74
 
        QString _filename;
75
 
};
76
 
 
77
 
typedef QList <SubData> SubList;
78
 
 
79
 
 
80
 
class SubTracks
81
 
{
82
 
public:
83
 
        SubTracks();
84
 
        ~SubTracks();
85
 
 
86
 
        void clear();
87
 
        int find( SubData::Type t, int ID );
88
 
 
89
 
        void add( SubData::Type t, int ID );
90
 
        bool changeLang( SubData::Type t, int ID, QString lang );
91
 
        bool changeName( SubData::Type t, int ID, QString name );
92
 
        bool changeFilename( SubData::Type t, int ID, QString filename );
93
 
 
94
 
        int numItems();
95
 
        bool existsItemAt(int n);
96
 
 
97
 
        SubData itemAt(int n);
98
 
        SubData findItem( SubData::Type t, int ID );
99
 
 
100
 
        int findLang(QString expr);
101
 
        int selectOne(QString preferred_lang, int default_sub=0);
102
 
 
103
 
        void process(QString text);
104
 
 
105
 
        void list();
106
 
        void listNames();
107
 
        /* void test(); */
108
 
 
109
 
protected:
110
 
        SubList subs;
111
 
        int index;
112
 
};
113
 
 
114
 
#endif