X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=e7390ea5194b02dac8d6b2179385e6472410df3f;hb=5cc01948319761863c121a74dc1e7b1c182beaa6;hp=8b5bb1823c03223ad26d178f5ca3e469c35165ef;hpb=d2268cca78024ec7b67e1007dea41f87bef2fc4e;p=quassel.git diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 8b5bb182..e7390ea5 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -34,8 +34,10 @@ #include "clientbacklogmanager.h" #include "coreinfodlg.h" #include "coreconnectdlg.h" +#include "debuglogwidget.h" #include "iconloader.h" #include "inputwidget.h" +#include "inputline.h" #include "irclistmodel.h" #include "jumpkeyhandler.h" #include "msgprocessorstatuswidget.h" @@ -75,8 +77,8 @@ MainWin::MainWin(QWidget *parent) _trayIcon(new QSystemTrayIcon(this)) { QtUiSettings uiSettings; - QString style = uiSettings.value("Style", QString("")).toString(); - if(style != "") { + QString style = uiSettings.value("Style", QString()).toString(); + if(!style.isEmpty()) { QApplication::setStyle(style); } @@ -108,26 +110,26 @@ void MainWin::init() { connect(Client::instance(), SIGNAL(networkCreated(NetworkId)), SLOT(clientNetworkCreated(NetworkId))); connect(Client::instance(), SIGNAL(networkRemoved(NetworkId)), SLOT(clientNetworkRemoved(NetworkId))); + // Setup Dock Areas + setDockNestingEnabled(true); + setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); + setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); + setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); + // Order is sometimes important setupActions(); setupBufferWidget(); setupMenus(); setupViews(); + setupTopicWidget(); setupChatMonitor(); setupNickWidget(); - setupTopicWidget(); setupInputWidget(); setupStatusBar(); setupSystray(); setupTitleSetter(); - // Setup Dock Areas - setDockNestingEnabled(true); - setCorner(Qt::TopLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::BottomLeftCorner, Qt::LeftDockWidgetArea); - setCorner(Qt::TopRightCorner, Qt::RightDockWidgetArea); - setCorner(Qt::BottomRightCorner, Qt::RightDockWidgetArea); - // restore mainwin state restoreState(s.value("MainWinState").toByteArray()); @@ -196,6 +198,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("DebugLog", new Action(SmallIcon("tools-report-bug"), tr("Debug &Log"), coll, + this, SLOT(on_actionDebugLog_triggered()))); } void MainWin::setupMenus() { @@ -230,6 +234,7 @@ void MainWin::setupMenus() { _helpMenu->addSeparator(); _helpDebugMenu = _helpMenu->addMenu(SmallIcon("tools-report-bug"), tr("Debug")); _helpDebugMenu->addAction(coll->action("DebugNetworkModel")); + _helpDebugMenu->addAction(coll->action("DebugLog")); } void MainWin::setupBufferWidget() { @@ -358,6 +363,8 @@ void MainWin::setupInputWidget() { inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); _bufferWidget->setFocusProxy(inputWidget); + + inputWidget->inputLine()->installEventFilter(_bufferWidget); } void MainWin::setupTopicWidget() { @@ -370,7 +377,7 @@ void MainWin::setupTopicWidget() { topicwidget->setModel(Client::bufferModel()); topicwidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); - addDockWidget(Qt::TopDockWidgetArea, dock); + addDockWidget(Qt::TopDockWidgetArea, dock, Qt::Vertical); _viewMenu->addAction(dock->toggleViewAction()); dock->toggleViewAction()->setText(tr("Show Topic Line")); @@ -399,7 +406,7 @@ void MainWin::setupStatusBar() { _viewMenu->addSeparator(); QAction *showStatusbar = QtUi::actionCollection("General")->action("ToggleStatusBar"); - UiSettings uiSettings; + QtUiSettings uiSettings; bool enabled = uiSettings.value("ShowStatusBar", QVariant(true)).toBool(); showStatusbar->setChecked(enabled); @@ -407,10 +414,13 @@ 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 &))); } void MainWin::saveStatusBarStatus(bool enabled) { - UiSettings uiSettings; + QtUiSettings uiSettings; uiSettings.setValue("ShowStatusBar", enabled); } @@ -429,7 +439,7 @@ void MainWin::setupSystray() { systemTrayIcon()->setContextMenu(systrayMenu); - UiSettings s; + QtUiSettings s; if(s.value("UseSystemTrayIcon", QVariant(true)).toBool()) { systemTrayIcon()->show(); } @@ -444,7 +454,7 @@ void MainWin::setupSystray() { void MainWin::changeEvent(QEvent *event) { if(event->type() == QEvent::WindowStateChange) { if(windowState() & Qt::WindowMinimized) { - UiSettings s; + QtUiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnMinimize").toBool()) { toggleVisibility(); event->ignore(); @@ -459,8 +469,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() { @@ -469,8 +479,7 @@ void MainWin::setConnectedState() { coll->action("ConnectCore")->setEnabled(false); coll->action("DisconnectCore")->setEnabled(true); coll->action("CoreInfo")->setEnabled(true); - _viewMenu->setEnabled(true); - _bufferWidget->show(); + // _viewMenu->setEnabled(true); statusBar()->showMessage(tr("Connected to core.")); if(sslLabel->width() == 0) sslLabel->setPixmap(SmallIcon("security-low")); @@ -526,8 +535,7 @@ void MainWin::setDisconnectedState() { coll->action("ConnectCore")->setEnabled(true); coll->action("DisconnectCore")->setEnabled(false); coll->action("CoreInfo")->setEnabled(false); - _viewMenu->setEnabled(false); - _bufferWidget->hide(); + //_viewMenu->setEnabled(false); statusBar()->showMessage(tr("Not connected to core.")); sslLabel->setPixmap(QPixmap()); updateIcon(); @@ -580,7 +588,7 @@ void MainWin::showAboutDlg() { } void MainWin::closeEvent(QCloseEvent *event) { - UiSettings s; + QtUiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) { toggleVisibility(); event->ignore(); @@ -729,6 +737,11 @@ void MainWin::on_actionDebugNetworkModel_triggered() { view->show(); } +void MainWin::on_actionDebugLog_triggered() { + DebugLogWidget *logWidget = new DebugLogWidget(0); + logWidget->show(); +} + void MainWin::saveStateToSession(const QString &sessionId) { return; SessionSettings s(sessionId); @@ -744,3 +757,7 @@ void MainWin::saveStateToSessionSettings(SessionSettings & s) s.setValue("MainWinPos", pos()); s.setValue("MainWinState", saveState()); } + +void MainWin::showStatusBarMessage(const QString &message) { + statusBar()->showMessage(message, 10000); +}