]> git.sesse.net Git - vlc/blobdiff - modules/gui/qt4/dialogs/messages.hpp
Qt4: remove bogus vlc_aout.h dependencies
[vlc] / modules / gui / qt4 / dialogs / messages.hpp
index 375248ec8285da245e75ea8594ffc3e8ee791250..def795d0e24692fdf59e4d1c7493231b2bbd5faa 100644 (file)
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  *****************************************************************************/
 
-#ifndef _MESSAGES_DIALOG_H_
-#define _MESSAGES_DIALOG_H_
+#ifndef QVLC_MESSAGES_DIALOG_H_
+#define QVLC_MESSAGES_DIALOG_H_ 1
 
 #include "util/qvlcframe.hpp"
 
+class QTabWidget;
 class QPushButton;
 class QSpinBox;
 class QGridLayout;
 class QLabel;
 class QTextEdit;
+class QTreeWidget;
+class QTreeWidgetItem;
 
 class MessagesDialog : public QVLCFrame
 {
@@ -44,22 +47,37 @@ public:
     }
     static void killInstance()
     {
-        if( instance ) delete instance;
+        delete instance;
         instance = NULL;
     }
 
-    virtual ~MessagesDialog(){ writeSettings( "messages" ); };
 
 private:
     MessagesDialog( intf_thread_t * );
+    virtual ~MessagesDialog();
+
     static MessagesDialog *instance;
+    QTabWidget *mainTab;
     QSpinBox *verbosityBox;
+    QLabel *verbosityLabel;
     QTextEdit *messages;
+    QTreeWidget *modulesTree;
+    QPushButton *clearUpdateButton;
+    QPushButton *saveLogButton;
+    msg_subscription_t *sub;
+    msg_cb_data_t *cbData;
+    static void sinkMessage( msg_cb_data_t *, msg_item_t *, unsigned );
+    void customEvent( QEvent * );
+    void sinkMessage( msg_item_t *item );
+
 private slots:
-    void updateLog();
-    void close();
-    void clear();
+    void updateTab( int );
+    void clearOrUpdate();
     bool save();
+private:
+    void clear();
+    void updateTree();
+    void buildTree( QTreeWidgetItem *, vlc_object_t * );
 };
 
 #endif