giving the message model the control over the dynamic backlog requests
[quassel.git] / src / qtui / mainwin.cpp
index 39fd474..1f701f5 100644 (file)
@@ -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"
@@ -77,7 +78,7 @@ MainWin::MainWin(QWidget *parent)
   QtUiSettings uiSettings;
   QString style = uiSettings.value("Style", QString()).toString();
   if(!style.isEmpty()) {
-    QApplication::setStyle("plastique");
+    QApplication::setStyle(style);
   }
 
   setWindowTitle("Quassel IRC");
@@ -358,6 +359,8 @@ void MainWin::setupInputWidget() {
   inputWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
 
   _bufferWidget->setFocusProxy(inputWidget);
+
+  inputWidget->inputLine()->installEventFilter(_bufferWidget);
 }
 
 void MainWin::setupTopicWidget() {
@@ -407,6 +410,9 @@ 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) {
@@ -459,8 +465,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() {
@@ -742,3 +748,7 @@ void MainWin::saveStateToSessionSettings(SessionSettings & s)
   s.setValue("MainWinPos", pos());
   s.setValue("MainWinState", saveState());
 }
+
+void MainWin::showStatusBarMessage(const QString &message) {
+  statusBar()->showMessage(message, 10000);
+}