]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/mediainfo.hpp
Fix memleak in cdda access.
[vlc] / modules / gui / qt4 / dialogs / mediainfo.hpp
index 0884ff44ae0a07d3999a16a21076702ab96d9435..a9ee843af90e084e5768617629ddb6cc70727ba9 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * 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>
 #define _MEDIAINFO_DIALOG_H_
 
 #include "util/qvlcframe.hpp"
-#include <QTabWidget>
-#include <QBoxLayout>
+#include "components/info_panels.hpp"
 
+class QTabWidget;
 class InfoTab;
+class QLineEdit;
 
 class MediaInfoDialog : public QVLCFrame
 {
     Q_OBJECT;
 public:
-    MediaInfoDialog( intf_thread_t *, bool mainInput = false );
+    MediaInfoDialog( intf_thread_t *,
+                     input_item_t *,
+                     bool stats = true,
+                     bool mainInput = false );
+
     static MediaInfoDialog * getInstance( intf_thread_t *p_intf )
     {
-        if( !instance)
-            instance = new MediaInfoDialog( p_intf, true);
+        if( !instance) instance = new MediaInfoDialog( p_intf,
+                                                       NULL,
+                                                       true,
+                                                       true );
         return instance;
     }
+
     static void killInstance()
     {
         if( instance ) delete instance;
         instance= NULL;
     }
+
     virtual ~MediaInfoDialog();
 
     void showTab( int );
-    bool need_update;
+#if 0
     void setInput( input_item_t * );
+#endif
+
 private:
-    input_thread_t *p_input;
-    InfoTab *IT;
+    input_item_t *p_item;
     static MediaInfoDialog *instance;
-    int i_runs;
+
     bool mainInput;
+    bool stats;
+    bool b_cleaned;
+    int i_runs;
+
+    QTabWidget *IT;
+    InputStatsPanel *ISP;
+    MetaPanel *MP;
+    InfoPanel *IP;
+    ExtraMetaPanel *EMP;
+
+    QPushButton *saveMetaButton;
+    QLineEdit *uriLine;
+
 public slots:
-    void update();
+    void update( input_thread_t * );
+    void update( input_item_t *, bool, bool );
+
+private slots:
+    void updateOnTimeOut();
     void close();
+    void clear();
+    void saveMeta();
+    void showMetaSaveButton();
+    void updateButtons( int i_tab );
 };
 
 #endif