X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtopia%2Fqtopiamainwin.cpp;h=618b2e63577b6f41e14cce0576f8cb0260ac4252;hp=7a4a48053ffa0175a01ee70a5f5d44c5dd18cd5a;hb=0208d04a0b8c25f3c77727a68eef94ce2d608690;hpb=64773d0bbb9ad9e7b0a26aa9751447fa7288ca56 diff --git a/src/qtopia/qtopiamainwin.cpp b/src/qtopia/qtopiamainwin.cpp index 7a4a4805..618b2e63 100644 --- a/src/qtopia/qtopiamainwin.cpp +++ b/src/qtopia/qtopiamainwin.cpp @@ -20,10 +20,15 @@ #include "qtopiamainwin.h" +#include "buffertreemodel.h" +#include "bufferviewwidget.h" +#include "nicklistwidget.h" +#include "chatline.h" #include "coreconnectdlg.h" #include "global.h" +#include "mainwidget.h" #include "message.h" -#include "qtopiagui.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 @@ -31,33 +36,52 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(parent, flags) { qRegisterMetaType("QVariant"); qRegisterMetaType("Message"); - qRegisterMetaType("BufferId"); + qRegisterMetaType("BufferInfo"); qRegisterMetaTypeStreamOperators("QVariant"); qRegisterMetaTypeStreamOperators("Message"); - qRegisterMetaTypeStreamOperators("BufferId"); + qRegisterMetaTypeStreamOperators("BufferInfo"); Global::runMode = Global::ClientOnly; QCoreApplication::setOrganizationDomain("quassel-irc.org"); QCoreApplication::setApplicationName("Quassel IRC"); - QCoreApplication::setOrganizationName("Quassel IRC Development Team"); + QCoreApplication::setOrganizationName("Quassel IRC Team"); + QSettings s(QSettings::UserScope, "quassel", "quassel"); + s.setValue("foo", "bar"); + //Style::init(); - QtopiaGui *gui = new QtopiaGui(this); + QtopiaUi *gui = new QtopiaUi(this); Client::init(gui); - init(); - //gui->init(); setWindowTitle("Quassel IRC"); - //setWindowTitle(QString::fromUtf8("Κυασελ Εγαρζη")); setWindowIcon(QIcon(":/qirc-icon.png")); setWindowIconText("Quassel IRC"); + mainWidget = new MainWidget(this); + setCentralWidget(mainWidget); + + BufferTreeModel *model = Client::bufferModel(); + connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *))); + + toolBar = new QToolBar(this); + toolBar->setIconSize(QSize(16, 16)); + addToolBar(toolBar); + + bufferViewWidget = new BufferViewWidget(this); + nickListWidget = new NickListWidget(this); + + setupActions(); + + init(); + //gui->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); @@ -68,12 +92,23 @@ void QtopiaMainWin::init() { QtopiaMainWin::~QtopiaMainWin() { +} + +void QtopiaMainWin::setupActions() { + showBuffersAction = toolBar->addAction(QIcon(":icon/options-hide"), "Show Buffers", this, SLOT(showBufferView())); // FIXME provide real icon + showNicksAction = toolBar->addAction(QIcon(":icon/list"), "Show Nicks", this, SLOT(showNickList())); + } 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() > 1) { + Buffer *b = Client::buffer(Client::allBufferInfos()[1]); + Client::bufferModel()->selectBuffer(b); + } } void QtopiaMainWin::disconnectedFromCore() { @@ -82,6 +117,23 @@ 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); + //nickListWidget-> + +} + +void QtopiaMainWin::showBufferView() { + bufferViewWidget->showMaximized(); + +} + +void QtopiaMainWin::showNickList() { + nickListWidget->showMaximized(); } + +