~ubuntu-branches/ubuntu/wily/smplayer/wily

« back to all changes in this revision

Viewing changes to src/subtracks.h

  • Committer: Bazaar Package Importer
  • Author(s): Maia Kozheva
  • Date: 2009-03-31 23:05:43 UTC
  • mfrom: (1.2.2 upstream)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20090331230543-0h2hfwpwlu9opbv2
* New upstream release. (Closes: #523791)
  - Reworked subtitle font preferences. (Closes: #503295)
  - No longer installs qt_fr.qm. (Closes: #486314)
* debian/control:
  - Bumped Standards-Version to 3.8.1.
  - Changed maintainer name (still the same person and GPG key).
  - Changed section to video.
  - Build-depend on zlib1g-dev for findsubtitles.
  - Require Qt >= 4.3 per readme.
  - Added ${misc:Depends}.
  - Make smplayer-translations depend on smplayer and smplayer recommend
    smplayer-translations, not the other way round. (Closes: #489375)
* debian/copyright:
  - Significantly expanded per-file with new upstream authors.
* debian/rules:
  - Make make use correct uic in install.
  - Clean svn_revision.
  - Removed get-orig-source - not needed with uscan --repack.
* debian/patches/01_gl_translation.patch:
  - Added patch to fix lrelease error on smplayer_gl.ts.
* Added debian/README.source for simple-patchsys.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*  smplayer, GUI front-end for mplayer.
 
2
    Copyright (C) 2006-2009 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
        enum ParseResult { SubtitleUnchanged = 0, SubtitleAdded = 1, SubtitleChanged = 2 };
 
84
 
 
85
        SubTracks();
 
86
        ~SubTracks();
 
87
 
 
88
        void clear();
 
89
        int find( SubData::Type t, int ID );
 
90
 
 
91
        void add( SubData::Type t, int ID );
 
92
        bool changeLang( SubData::Type t, int ID, QString lang );
 
93
        bool changeName( SubData::Type t, int ID, QString name );
 
94
        bool changeFilename( SubData::Type t, int ID, QString filename );
 
95
 
 
96
        int numItems();
 
97
        bool existsItemAt(int n);
 
98
 
 
99
        SubData itemAt(int n);
 
100
        SubData findItem( SubData::Type t, int ID );
 
101
 
 
102
        int findLang(QString expr);
 
103
        int selectOne(QString preferred_lang, int default_sub=0);
 
104
 
 
105
        //! Parses a line from mplayer output with subtitle info
 
106
        ParseResult parse(QString text);
 
107
 
 
108
        void list();
 
109
        void listNames();
 
110
        /* void test(); */
 
111
 
 
112
protected:
 
113
        SubList subs;
 
114
        int index;
 
115
};
 
116
 
 
117
#endif