X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=5137447a3a312d955aa3e1127088eee2705c9a3f;hp=8b5bb1823c03223ad26d178f5ca3e469c35165ef;hb=8f0946673bc3edc84b6f13e16cbe8ece912b4a3b;hpb=d2268cca78024ec7b67e1007dea41f87bef2fc4e diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 8b5bb182..5137447a 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -36,6 +36,7 @@ #include "coreconnectdlg.h" #include "iconloader.h" #include "inputwidget.h" +#include "inputline.h" #include "irclistmodel.h" #include "jumpkeyhandler.h" #include "msgprocessorstatuswidget.h" @@ -75,8 +76,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 +109,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()); @@ -358,6 +359,8 @@ void MainWin::setupInputWidget() { inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel()); _bufferWidget->setFocusProxy(inputWidget); + + inputWidget->inputLine()->installEventFilter(_bufferWidget); } void MainWin::setupTopicWidget() { @@ -370,7 +373,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 +402,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 +410,12 @@ 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(messagesProcessed(const QString &)), this, SLOT(showStatusBarMessage(const QString &))); } void MainWin::saveStatusBarStatus(bool enabled) { - UiSettings uiSettings; + QtUiSettings uiSettings; uiSettings.setValue("ShowStatusBar", enabled); } @@ -429,7 +434,7 @@ void MainWin::setupSystray() { systemTrayIcon()->setContextMenu(systrayMenu); - UiSettings s; + QtUiSettings s; if(s.value("UseSystemTrayIcon", QVariant(true)).toBool()) { systemTrayIcon()->show(); } @@ -444,7 +449,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(); @@ -469,8 +474,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 +530,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 +583,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(); @@ -744,3 +747,7 @@ void MainWin::saveStateToSessionSettings(SessionSettings & s) s.setValue("MainWinPos", pos()); s.setValue("MainWinState", saveState()); } + +void MainWin::showStatusBarMessage(const QString &message) { + statusBar()->showMessage(message, 10); +}