]> git.sesse.net Git - vlc/blob - modules/gui/qt4/components/info_panels.hpp
Qt: remove unnecessary includes
[vlc] / modules / gui / qt4 / components / info_panels.hpp
1 /*****************************************************************************
2  * info_panels.hpp : Panels for the information dialogs
3  ****************************************************************************
4  * Copyright (C) 2006-2007 the VideoLAN team
5  * $Id$
6  *
7  * Authors: ClĂ©ment Stenac <zorglub@videolan.org>
8  *          Jean-Baptiste Kempf <jb@videolan.org>
9  *          Ilkka Ollakka <ileoo@videolan.org>
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
24  *****************************************************************************/
25
26 #ifndef _INFOPANELS_H_
27 #define _INFOPANELS_H_
28
29 #ifdef HAVE_CONFIG_H
30 # include "config.h"
31 #endif
32
33 #include <vlc_common.h>
34 #include <QWidget>
35
36 class QTreeWidget;
37 class QTreeWidgetItem;
38 class QSpinBox;
39 class QLineEdit;
40 class CoverArtLabel;
41 class QTextEdit;
42 class QLabel;
43 class VLCStatsView;
44 class QPushButton;
45
46 class MetaPanel: public QWidget
47 {
48     Q_OBJECT
49 public:
50     MetaPanel( QWidget *, struct intf_thread_t * );
51     void saveMeta();
52
53     bool isInEditMode();
54     void setEditMode( bool );
55
56 private:
57     input_item_t *p_input;
58     struct intf_thread_t *p_intf;
59     bool b_inEditMode;
60
61     QLineEdit *title_text;
62     QLineEdit *artist_text;
63     QLineEdit *genre_text;
64     QLineEdit *copyright_text;
65     QLineEdit *collection_text;
66     QLineEdit *seqnum_text;
67     QLineEdit *seqtot_text;
68
69     QTextEdit *description_text;
70 //    QSpinBox *rating_text;
71     QLineEdit *date_text;
72 //    QLineEdit *setting_text;
73     QLineEdit *language_text;
74     QLineEdit *nowplaying_text;
75     QLineEdit *publisher_text;
76     QLineEdit *encodedby_text;
77     CoverArtLabel *art_cover;
78
79     QLabel   *lblURL;
80     QString  currentURL;
81
82     QPushButton *fingerprintButton;
83
84 public slots:
85     void update( input_item_t * );
86     void clear();
87     void fingerprint();
88     void fingerprintUpdate( input_item_t * );
89
90 private slots:
91     void enterEditMode();
92
93 signals:
94     void uriSet( const QString& );
95     void editing();
96 };
97
98 class ExtraMetaPanel: public QWidget
99 {
100     Q_OBJECT
101 public:
102     ExtraMetaPanel( QWidget * );
103 private:
104     QTreeWidget *extraMetaTree;
105 public slots:
106     void update( input_item_t * );
107     void clear();
108 };
109
110 class InputStatsPanel: public QWidget
111 {
112     Q_OBJECT
113 public:
114     InputStatsPanel( QWidget * );
115 protected:
116     virtual void hideEvent( QHideEvent * );
117 private:
118     QTreeWidget *StatsTree;
119     QTreeWidgetItem *input;
120     QTreeWidgetItem *read_media_stat;
121     QTreeWidgetItem *input_bitrate_stat;
122     QTreeWidgetItem *input_bitrate_graph;
123     QTreeWidgetItem *demuxed_stat;
124     QTreeWidgetItem *stream_bitrate_stat;
125     QTreeWidgetItem *corrupted_stat;
126     QTreeWidgetItem *discontinuity_stat;
127
128     QTreeWidgetItem *video;
129     QTreeWidgetItem *vdecoded_stat;
130     QTreeWidgetItem *vdisplayed_stat;
131     QTreeWidgetItem *vlost_frames_stat;
132     QTreeWidgetItem *vfps_stat;
133
134     QTreeWidgetItem *streaming;
135     QTreeWidgetItem *send_stat;
136     QTreeWidgetItem *send_bytes_stat;
137     QTreeWidgetItem *send_bitrate_stat;
138
139     QTreeWidgetItem *audio;
140     QTreeWidgetItem *adecoded_stat;
141     QTreeWidgetItem *aplayed_stat;
142     QTreeWidgetItem *alost_stat;
143
144     VLCStatsView *statsView;
145 public slots:
146     void update( input_item_t * );
147     void clear();
148 };
149
150 class InfoPanel: public QWidget
151 {
152     Q_OBJECT
153 public:
154     InfoPanel( QWidget * );
155 private:
156     QTreeWidget *InfoTree;
157 public slots:
158     void update( input_item_t * );
159     void clear();
160 };
161
162 #endif