qt4: Replace redundant virtual with Q_DECL_OVERRIDE
[vlc.git] / modules / gui / qt4 / components / sout / profile_selector.hpp
1 /*****************************************************************************
2  * profile_selector.hpp : A small profile selector and editor
3  ****************************************************************************
4  * Copyright (C) 2009 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Jean-Baptiste Kempf <jb@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 #ifndef _PROFILE_H_
25 #define _PROFILE_H_
26
27 #include "qt4.hpp"
28
29 #include <QWidget>
30 #include <QSet>
31 #include <QHash>
32
33 #include "util/qvlcframe.hpp"
34 #include "ui/profiles.h"
35
36 class QComboBox;
37
38 class VLCProfileSelector : public QWidget
39 {
40     Q_OBJECT
41
42 public:
43     VLCProfileSelector( QWidget *_parent );
44     QString getMux() { return mux; }
45     QString getTranscode() { return transcode; }
46 private:
47     QComboBox *profileBox;
48     void fillProfilesCombo();
49     void editProfile( const QString&, const QString& );
50     void saveProfiles();
51     QString mux;
52     QString transcode;
53 private slots:
54     void newProfile();
55     void editProfile();
56     void deleteProfile();
57     void updateOptions( int i );
58     void updateOptionsOldFormat( int i );
59 signals:
60     void optionsChanged();
61 };
62
63 class VLCProfileEditor : public QVLCDialog
64 {
65     Q_OBJECT
66
67     Ui::Profiles ui;
68 public:
69     VLCProfileEditor( const QString&, const QString&, QWidget * );
70
71     QString name;
72     QString muxValue;
73     QString transcodeValue();
74     QStringList qpcodecsList;
75 private:
76     void registerCodecs();
77     void registerFilters();
78     void fillProfile( const QString& qs );
79     void fillProfileOldFormat( const QString& qs );
80     typedef QSet<QString> resultset;
81     QHash<QString, resultset> caps;
82     void loadCapabilities();
83     void reset();
84 protected slots:
85     void close() Q_DECL_OVERRIDE;
86 private slots:
87     void muxSelected();
88     void codecSelected();
89     void activatePanels();
90     void fixBirateState();
91     void fixQPState();
92 };
93
94 #endif