*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ * 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
{
static MessagesDialog * getInstance( intf_thread_t *p_intf )
{
if( !instance)
- instance = new MessagesDialog( p_intf);
+ instance = new MessagesDialog( p_intf );
return instance;
}
- virtual ~MessagesDialog();
+ static void killInstance()
+ {
+ delete instance;
+ instance = NULL;
+ }
+
private:
- MessagesDialog( intf_thread_t *);
+ MessagesDialog( intf_thread_t * );
+ virtual ~MessagesDialog();
+
static MessagesDialog *instance;
+ QTabWidget *mainTab;
QSpinBox *verbosityBox;
+ QLabel *verbosityLabel;
QTextEdit *messages;
-public slots:
- void updateLog();
- void close();
- void clear();
+ 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 updateTab( int );
+ void clearOrUpdate();
bool save();
+private:
+ void clear();
+ void updateTree();
+ void buildTree( QTreeWidgetItem *, vlc_object_t * );
};
#endif