IrcChannel::ircUserDestroyed() now sends appropriate signals. Plus some other small...
[quassel.git] / src / qtopia / qtopiamainwin.cpp
index 225823f..6348a02 100644 (file)
@@ -21,6 +21,8 @@
 #include "qtopiamainwin.h"
 
 #include "buffertreemodel.h"
+#include "bufferviewwidget.h"
+#include "nicklistwidget.h"
 #include "chatline.h"
 #include "coreconnectdlg.h"
 #include "global.h"
@@ -29,6 +31,8 @@
 #include "qtopiaui.h"
 #include "signalproxy.h"
 
+#include <Qtopia>
+
 // 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) {
@@ -45,10 +49,6 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
   QCoreApplication::setApplicationName("Quassel IRC");
   QCoreApplication::setOrganizationName("Quassel IRC Team");
 
-  QSettings s(QSettings::UserScope, "quassel", "quassel");
-  s.setValue("foo", "bar");
-  
-  //Style::init();
   QtopiaUi *gui = new QtopiaUi(this);
   Client::init(gui);
 
@@ -59,11 +59,18 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
   mainWidget = new MainWidget(this);
   setCentralWidget(mainWidget);
 
-  QToolBar *toolBar = new QToolBar(this);
+  BufferTreeModel *model = Client::bufferModel();
+  connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
+
+  toolBar = new QToolBar(this);
   toolBar->setIconSize(QSize(16, 16));
-  toolBar->addAction(QIcon(":icon/trash"), "Trash");
   addToolBar(toolBar);
 
+  bufferViewWidget = new BufferViewWidget(this);
+  nickListWidget = new NickListWidget(this);
+
+  setupActions();
+
   init();
   //gui->init();
 
@@ -72,7 +79,6 @@ QtopiaMainWin::QtopiaMainWin(QWidget *parent, Qt::WFlags flags) : QMainWindow(pa
 // 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);
@@ -83,6 +89,12 @@ 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() {
@@ -108,5 +120,18 @@ AbstractUiMsg *QtopiaMainWin::layoutMsg(const Message &msg) {
 
 void QtopiaMainWin::showBuffer(Buffer *b) {
   mainWidget->setBuffer(b);
+  bufferViewWidget->hide();
+  //nickListWidget->
 
 }
+
+void QtopiaMainWin::showBufferView() {
+  bufferViewWidget->showMaximized();
+
+}
+
+void QtopiaMainWin::showNickList() {
+  nickListWidget->showMaximized();
+}
+
+