#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 "qtopiaui.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).
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<BufferId>("BufferId");
+ qRegisterMetaTypeStreamOperators<BufferInfo>("BufferInfo");
Global::runMode = Global::ClientOnly;
QCoreApplication::setOrganizationName("Quassel IRC Development Team");
//Style::init();
- QtopiaGui *gui = new QtopiaGui(this);
+ QtopiaUi *gui = new QtopiaUi(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(BufferInfo, QVariant, QVariant)));
+ connect(Client::bufferModel(), SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
+
CoreConnectDlg *dlg = new CoreConnectDlg(this);
//setCentralWidget(dlg);
dlg->showMaximized();
}
void QtopiaMainWin::connectedToCore() {
- foreach(BufferId id, Client::allBufferIds()) {
+ foreach(BufferInfo id, Client::allBufferInfos()) {
emit requestBacklog(id, 100, -1);
}
+ // FIXME just for testing: select first available buffer
+ if(Client::allBufferInfos().count() > 2) {
+ Buffer *b = Client::buffer(Client::allBufferInfos()[2]);
+ Client::bufferModel()->selectBuffer(b);
+ }
}
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);
+
}