X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=3c0c702ba37ceeba8a2755aa21470d918c0b669a;hb=266b2710f4c084a425161ce196e47de14192447c;hp=5137447a3a312d955aa3e1127088eee2705c9a3f;hpb=8f0946673bc3edc84b6f13e16cbe8ece912b4a3b;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 5137447a..3c0c702b 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -18,7 +18,7 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ #include "mainwin.h" - +#include #include "aboutdlg.h" #include "action.h" #include "actioncollection.h" @@ -34,6 +34,8 @@ #include "clientbacklogmanager.h" #include "coreinfodlg.h" #include "coreconnectdlg.h" +#include "debuglogwidget.h" +#include "debugmessagemodelfilter.h" #include "iconloader.h" #include "inputwidget.h" #include "inputline.h" @@ -81,6 +83,8 @@ MainWin::MainWin(QWidget *parent) QApplication::setStyle(style); } + QApplication::setQuitOnLastWindowClosed(false); + setWindowTitle("Quassel IRC"); setWindowIconText("Quassel IRC"); updateIcon(); @@ -138,7 +142,6 @@ void MainWin::init() { setDisconnectedState(); // Disable menus and stuff show(); - showCoreConnectionDlg(true); // autoconnect if appropriate } @@ -193,10 +196,14 @@ void MainWin::setupActions() { // Help coll->addAction("AboutQuassel", new Action(SmallIcon("quassel"), tr("&About Quassel..."), coll, this, SLOT(showAboutDlg()))); - coll->addAction("AboutQt", new Action(tr("About &Qt..."), coll, + coll->addAction("AboutQt", new Action(QIcon(":/pics/qt-logo.png"), tr("About &Qt..."), coll, 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()))); } void MainWin::setupMenus() { @@ -231,6 +238,8 @@ 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")); } void MainWin::setupBufferWidget() { @@ -411,6 +420,7 @@ void MainWin::setupStatusBar() { connect(showStatusbar, SIGNAL(toggled(bool)), statusBar(), SLOT(setVisible(bool))); connect(showStatusbar, SIGNAL(toggled(bool)), this, SLOT(saveStatusBarStatus(bool))); + connect(Client::backlogManager(), SIGNAL(messagesRequested(const QString &)), this, SLOT(showStatusBarMessage(const QString &))); connect(Client::backlogManager(), SIGNAL(messagesProcessed(const QString &)), this, SLOT(showStatusBarMessage(const QString &))); } @@ -464,8 +474,8 @@ void MainWin::connectedToCore() { connect(Client::bufferViewManager(), SIGNAL(bufferViewConfigDeleted(int)), this, SLOT(removeBufferView(int))); connect(Client::bufferViewManager(), SIGNAL(initDone()), this, SLOT(loadLayout())); - Client::backlogManager()->requestInitialBacklog(); setConnectedState(); + Client::backlogManager()->requestInitialBacklog(); } void MainWin::setConnectedState() { @@ -559,7 +569,7 @@ void MainWin::showCoreInfoDlg() { } void MainWin::showSettingsDlg() { - SettingsDlg *dlg = new SettingsDlg(); + SettingsDlg *dlg = new SettingsDlg(this); //Category: Appearance dlg->registerSettingsPage(new ColorSettingsPage(dlg)); @@ -589,6 +599,7 @@ void MainWin::closeEvent(QCloseEvent *event) { event->ignore(); } else { event->accept(); + QApplication::quit(); } } @@ -732,6 +743,22 @@ 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(); +} + void MainWin::saveStateToSession(const QString &sessionId) { return; SessionSettings s(sessionId); @@ -749,5 +776,5 @@ void MainWin::saveStateToSessionSettings(SessionSettings & s) } void MainWin::showStatusBarMessage(const QString &message) { - statusBar()->showMessage(message, 10); + statusBar()->showMessage(message, 10000); }