mediainfo.hpp

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * mediainfo.hpp : Information about a stream
00003  ****************************************************************************
00004  * Copyright (C) 2006-2007 the VideoLAN team
00005  * $Id$
00006  *
00007  * Authors: Clément Stenac <zorglub@videolan.org>
00008  *          Jean-Baptiste Kempf <jb@videolan.org>
00009  *
00010  * This program is free software; you can redistribute it and/or modify
00011  * it under the terms of the GNU General Public License as published by
00012  * the Free Software Foundation; either version 2 of the License, or
00013  * (at your option) any later version.
00014  *
00015  * This program is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  * GNU General Public License for more details.
00019  *
00020  * You should have received a copy of the GNU General Public License
00021  * along with this program; if not, write to the Free Software
00022  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
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

Generated on Wed Aug 13 08:02:38 2008 for VLC by  doxygen 1.5.1