fixed slow buffer switches
[quassel.git] / src / qtui / mainwin.cpp
index e88a86d..1f168b6 100644 (file)
@@ -70,7 +70,10 @@ MainWin::MainWin(QtUi *_gui, QWidget *parent)
 
 void MainWin::init() {
   QtUiSettings s;
-  resize(s.value("MainWinSize").toSize());
+  if(s.value("MainWinSize").isValid())
+    resize(s.value("MainWinSize").toSize());
+  else
+    resize(QSize(800, 500));
 
   Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
 
@@ -94,9 +97,9 @@ void MainWin::init() {
   setupMenus();
   setupViews();
   setupNickWidget();
+  setupTopicWidget();
   setupChatMonitor();
   setupInputWidget();
-  setupTopicWidget();
   setupSystray();
 
   
@@ -108,7 +111,7 @@ void MainWin::init() {
   disconnectedFromCore();  // Disable menus and stuff
   showCoreConnectionDlg(true); // autoconnect if appropriate
 
-  // attach the BufferWidget to the PropertyMapper
+  // attach the BufferWidget to the BufferModel and the default selection
   ui.bufferWidget->setModel(Client::bufferModel());
   ui.bufferWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
 
@@ -169,6 +172,7 @@ QDockWidget *MainWin::addBufferView(const QString &viewname, QAbstractItemModel
   dock->show();
 
   addDockWidget(Qt::LeftDockWidgetArea, dock);
+
   ui.menuViews->addAction(dock->toggleViewAction());
 
   netViews.append(dock);
@@ -201,8 +205,13 @@ void MainWin::setupNickWidget() {
   nickDock->setWidget(nickListWidget);
 
   addDockWidget(Qt::RightDockWidgetArea, nickDock);
+
   ui.menuViews->addAction(nickDock->toggleViewAction());
 
+  // attach the NickListWidget to the BufferModel and the default selection
+  nickListWidget->setModel(Client::bufferModel());
+  nickListWidget->setSelectionModel(Client::bufferModel()->standardSelectionModel());
+
   Client::bufferModel()->mapProperty(0, NetworkModel::BufferIdRole, nickListWidget, "currentBuffer");
 }