X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=e45576e1c59d14aff378cee8fdfee895b21968b5;hb=952ac961af5ad09fa4105de5c938c147b260b3a0;hp=e7390ea5194b02dac8d6b2179385e6472410df3f;hpb=034708a59ca1ee3195263a90941a2b145c520fef;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index e7390ea5..e45576e1 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -35,6 +35,7 @@ #include "coreinfodlg.h" #include "coreconnectdlg.h" #include "debuglogwidget.h" +#include "debugmessagemodelfilter.h" #include "iconloader.h" #include "inputwidget.h" #include "inputline.h" @@ -82,6 +83,8 @@ MainWin::MainWin(QWidget *parent) QApplication::setStyle(style); } + QApplication::setQuitOnLastWindowClosed(false); + setWindowTitle("Quassel IRC"); setWindowIconText("Quassel IRC"); updateIcon(); @@ -198,6 +201,8 @@ void MainWin::setupActions() { qApp, SLOT(aboutQt()))); coll->addAction("DebugNetworkModel", new Action(SmallIcon("tools-report-bug"), tr("Debug &NetworkModel"), coll, this, SLOT(on_actionDebugNetworkModel_triggered()))); + coll->addAction("DebugMessageModel", new Action(SmallIcon("tools-report-bug"), tr("Debug &MessageModel"), coll, + this, SLOT(on_actionDebugMessageModel_triggered()))); coll->addAction("DebugLog", new Action(SmallIcon("tools-report-bug"), tr("Debug &Log"), coll, this, SLOT(on_actionDebugLog_triggered()))); } @@ -234,6 +239,7 @@ void MainWin::setupMenus() { _helpMenu->addSeparator(); _helpDebugMenu = _helpMenu->addMenu(SmallIcon("tools-report-bug"), tr("Debug")); _helpDebugMenu->addAction(coll->action("DebugNetworkModel")); + _helpDebugMenu->addAction(coll->action("DebugMessageModel")); _helpDebugMenu->addAction(coll->action("DebugLog")); } @@ -594,6 +600,7 @@ void MainWin::closeEvent(QCloseEvent *event) { event->ignore(); } else { event->accept(); + QApplication::quit(); } } @@ -737,6 +744,17 @@ void MainWin::on_actionDebugNetworkModel_triggered() { view->show(); } +void MainWin::on_actionDebugMessageModel_triggered() { + QTableView *view = new QTableView(0); + DebugMessageModelFilter *filter = new DebugMessageModelFilter(view); + filter->setSourceModel(Client::messageModel()); + view->setModel(filter); + view->setAttribute(Qt::WA_DeleteOnClose, true); + view->verticalHeader()->hide(); + view->horizontalHeader()->setStretchLastSection(true); + view->show(); +} + void MainWin::on_actionDebugLog_triggered() { DebugLogWidget *logWidget = new DebugLogWidget(0); logWidget->show();