/*****************************************************************************
* mediainfo.hpp : Information about a stream
****************************************************************************
- * Copyright (C) 2006 the VideoLAN team
+ * Copyright (C) 2006-2007 the VideoLAN team
* $Id$
*
* Authors: Clément Stenac <zorglub@videolan.org>
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
******************************************************************************/
-#ifndef _MEDIAINFO_DIALOG_H_
-#define _MEDIAINFO_DIALOG_H_
+#ifndef QVLC_MEDIAINFO_DIALOG_H_
+#define QVLC_MEDIAINFO_DIALOG_H_ 1
#include "util/qvlcframe.hpp"
-#include <QTabWidget>
-#include <QBoxLayout>
+#include "components/info_panels.hpp"
-class InfoTab;
+class QTabWidget;
class MediaInfoDialog : public QVLCFrame
{
Q_OBJECT;
public:
- MediaInfoDialog( intf_thread_t *, bool mainInput = false );
+ MediaInfoDialog( intf_thread_t *,
+ input_item_t * );
+
static MediaInfoDialog * getInstance( intf_thread_t *p_intf )
{
- if( !instance)
- instance = new MediaInfoDialog( p_intf, true);
+ if( !instance) instance = new MediaInfoDialog( p_intf, NULL );
return instance;
}
+
static void killInstance()
{
- if( instance ) delete instance;
- instance= NULL;
+ delete instance;
+ instance = NULL;
}
- virtual ~MediaInfoDialog();
- bool need_update;
+
+ void showTab( int );
+#if 0
void setInput( input_item_t * );
+#endif
+
private:
- input_thread_t *p_input;
- InfoTab *IT;
+ virtual ~MediaInfoDialog();
+
static MediaInfoDialog *instance;
- int i_runs;
- bool mainInput;
-public slots:
- void update();
- void close();
+ bool isMainInputInfo;
+
+ QTabWidget *infoTabW;
+
+ InputStatsPanel *ISP;
+ MetaPanel *MP;
+ InfoPanel *IP;
+ ExtraMetaPanel *EMP;
+
+ QPushButton *saveMetaButton;
+
+private slots:
+ void updateAllTabs( input_item_t * );
+ void clearAllTabs();
+
+ virtual void close();
+
+ void saveMeta();
+ void updateButtons( int i_tab );
};
#endif