Checking in current state of QuasselTopia. Probably doesn't even compile.
[quassel.git] / src / qtopia / qtopiamainwin.cpp
index 8625e02..bbeb456 100644 (file)
 
 #include "qtopiamainwin.h"
 
+#include "buffertreemodel.h"
+#include "chatline.h"
+#include "coreconnectdlg.h"
 #include "global.h"
+#include "mainwidget.h"
 #include "message.h"
 #include "qtopiagui.h"
-#include "coreconnectdlg.h"
+#include "signalproxy.h"
 
 // This constructor is the first thing to be called for a Qtopia app, so we do the init stuff
 // here (rather than in a main.cpp).
@@ -44,13 +48,29 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
   //Style::init();
   QtopiaGui *gui = new QtopiaGui(this);
   Client::init(gui);
-  //gui->init();
 
   setWindowTitle("Quassel IRC");
-  //setWindowTitle(QString::fromUtf8("Κυασελ Εγαρζη"));
   setWindowIcon(QIcon(":/qirc-icon.png"));
   setWindowIconText("Quassel IRC");
 
+  mainWidget = new MainWidget(this);
+  setCentralWidget(mainWidget);
+
+  QToolBar *toolBar = new QToolBar(this);
+  toolBar->setIconSize(QSize(16, 16));
+  toolBar->addAction(QIcon(":icon/trash"), "Trash");
+  addToolBar(toolBar);
+
+  init();
+  //gui->init();
+
+}
+
+// at this point, client is fully initialized
+void QtopiaMainWin::init() {
+  Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferId, QVariant, QVariant)));
+  connect(Client::bufferModel(), SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
+
   CoreConnectDlg *dlg = new CoreConnectDlg(this);
   //setCentralWidget(dlg);
   dlg->showMaximized();
@@ -66,6 +86,11 @@ void QtopiaMainWin::connectedToCore() {
   foreach(BufferId id, Client::allBufferIds()) {
     emit requestBacklog(id, 100, -1);
   }
+  // FIXME just for testing: select first available buffer
+  if(Client::allBufferIds().count()) {
+    Buffer *b = Client::buffer(Client::allBufferIds()[0]);
+    Client::bufferModel()->selectBuffer(b);
+  }
 }
 
 void QtopiaMainWin::disconnectedFromCore() {
@@ -74,6 +99,11 @@ void QtopiaMainWin::disconnectedFromCore() {
 }
 
 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);
+
 }