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