Ok this is the major rework of quassel we've all been waiting for. For the actual...
[quassel.git] / src / qtopia / qtopiamainwin.cpp
index f41cda9..1991da9 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "qtopiamainwin.h"
 
 
 #include "qtopiamainwin.h"
 
+#include "buffertreemodel.h"
+#include "chatline.h"
 #include "coreconnectdlg.h"
 #include "global.h"
 #include "mainwidget.h"
 #include "coreconnectdlg.h"
 #include "global.h"
 #include "mainwidget.h"
 QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) {
   qRegisterMetaType<QVariant>("QVariant");
   qRegisterMetaType<Message>("Message");
 QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) {
   qRegisterMetaType<QVariant>("QVariant");
   qRegisterMetaType<Message>("Message");
-  qRegisterMetaType<BufferId>("BufferId");
+  qRegisterMetaType<BufferInfo>("BufferInfo");
   qRegisterMetaTypeStreamOperators<QVariant>("QVariant");
   qRegisterMetaTypeStreamOperators<Message>("Message");
   qRegisterMetaTypeStreamOperators<QVariant>("QVariant");
   qRegisterMetaTypeStreamOperators<Message>("Message");
-  qRegisterMetaTypeStreamOperators<BufferId>("BufferId");
+  qRegisterMetaTypeStreamOperators<BufferInfo>("BufferInfo");
 
   Global::runMode = Global::ClientOnly;
 
 
   Global::runMode = Global::ClientOnly;
 
@@ -46,8 +48,6 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
   //Style::init();
   QtopiaGui *gui = new QtopiaGui(this);
   Client::init(gui);
   //Style::init();
   QtopiaGui *gui = new QtopiaGui(this);
   Client::init(gui);
-  init();
-  //gui->init();
 
   setWindowTitle("Quassel IRC");
   setWindowIcon(QIcon(":/qirc-icon.png"));
 
   setWindowTitle("Quassel IRC");
   setWindowIcon(QIcon(":/qirc-icon.png"));
@@ -61,11 +61,15 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
   toolBar->addAction(QIcon(":icon/trash"), "Trash");
   addToolBar(toolBar);
 
   toolBar->addAction(QIcon(":icon/trash"), "Trash");
   addToolBar(toolBar);
 
+  init();
+  //gui->init();
+
 }
 
 // at this point, client is fully initialized
 void QtopiaMainWin::init() {
 }
 
 // at this point, client is fully initialized
 void QtopiaMainWin::init() {
-  Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferId, QVariant, QVariant)));
+  Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
+  connect(Client::bufferModel(), SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
 
   CoreConnectDlg *dlg = new CoreConnectDlg(this);
   //setCentralWidget(dlg);
 
   CoreConnectDlg *dlg = new CoreConnectDlg(this);
   //setCentralWidget(dlg);
@@ -79,9 +83,14 @@ QtopiaMainWin::~QtopiaMainWin() {
 }
 
 void QtopiaMainWin::connectedToCore() {
 }
 
 void QtopiaMainWin::connectedToCore() {
-  foreach(BufferId id, Client::allBufferIds()) {
+  foreach(BufferInfo id, Client::allBufferInfos()) {
     emit requestBacklog(id, 100, -1);
   }
     emit requestBacklog(id, 100, -1);
   }
+  // FIXME just for testing: select first available buffer
+  if(Client::allBufferInfos().count()) {
+    Buffer *b = Client::buffer(Client::allBufferInfos()[0]);
+    Client::bufferModel()->selectBuffer(b);
+  }
 }
 
 void QtopiaMainWin::disconnectedFromCore() {
 }
 
 void QtopiaMainWin::disconnectedFromCore() {
@@ -90,10 +99,11 @@ void QtopiaMainWin::disconnectedFromCore() {
 }
 
 AbstractUiMsg *QtopiaMainWin::layoutMsg(const Message &msg) {
 }
 
 AbstractUiMsg *QtopiaMainWin::layoutMsg(const Message &msg) {
-  //return new ChatLine(msg);
-  return 0;
+  return new ChatLine(msg);
+  //return 0;
 }
 
 void QtopiaMainWin::showBuffer(Buffer *b) {
   mainWidget->setBuffer(b);
 }
 
 void QtopiaMainWin::showBuffer(Buffer *b) {
   mainWidget->setBuffer(b);
+
 }
 }