00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _MEDIAINFO_DIALOG_H_
00026 #define _MEDIAINFO_DIALOG_H_
00027
00028 #include "util/qvlcframe.hpp"
00029 #include "components/info_panels.hpp"
00030
00031 class QTabWidget;
00032 class InfoTab;
00033 class QLineEdit;
00034
00035 class MediaInfoDialog : public QVLCFrame
00036 {
00037 Q_OBJECT;
00038 public:
00039 MediaInfoDialog( intf_thread_t *,
00040 input_item_t *,
00041 bool stats = true,
00042 bool mainInput = false );
00043
00044 static MediaInfoDialog * getInstance( intf_thread_t *p_intf )
00045 {
00046 if( !instance) instance = new MediaInfoDialog( p_intf,
00047 NULL,
00048 true,
00049 true );
00050 return instance;
00051 }
00052
00053 static void killInstance()
00054 {
00055 if( instance ) delete instance;
00056 instance= NULL;
00057 }
00058
00059 virtual ~MediaInfoDialog();
00060
00061 void showTab( int );
00062 #if 0
00063 void setInput( input_item_t * );
00064 #endif
00065
00066 private:
00067 input_item_t *p_item;
00068 static MediaInfoDialog *instance;
00069
00070 bool mainInput;
00071 bool stats;
00072 bool b_cleaned;
00073 int i_runs;
00074
00075 QTabWidget *IT;
00076 InputStatsPanel *ISP;
00077 MetaPanel *MP;
00078 InfoPanel *IP;
00079 ExtraMetaPanel *EMP;
00080
00081 QPushButton *saveMetaButton;
00082 QLineEdit *uriLine;
00083
00084 public slots:
00085 void update( input_thread_t * );
00086 void update( input_item_t *, bool, bool );
00087
00088 private slots:
00089 void updateOnTimeOut();
00090 void close();
00091 void clear();
00092 void saveMeta();
00093 void showMetaSaveButton();
00094 void updateButtons( int i_tab );
00095 };
00096
00097 #endif