/***************************************************************************
- * Copyright (C) 2005-07 by The Quassel IRC Development Team *
+ * Copyright (C) 2005-07 by the Quassel IRC Team *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
#include "qtopiaui.h"
#include "signalproxy.h"
+#include <Qtopia>
+#include <QSoftMenuBar>
+
+#define DEBUGMODE
+
// 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) {
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);
// 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 *)));
+ showMaximized();
CoreConnectDlg *dlg = new CoreConnectDlg(this);
//setCentralWidget(dlg);
dlg->showMaximized();
}
+void QtopiaMainWin::closeEvent(QCloseEvent *event) {
+#ifndef DEBUGMODE
+ QMessageBox *box = new QMessageBox(QMessageBox::Question, tr("Quit Quassel IRC?"), tr("Do you really want to quit Quassel IRC?"),
+ QMessageBox::Cancel, this);
+ QAbstractButton *quit = box->addButton(tr("Quit"), QMessageBox::AcceptRole);
+ box->exec();
+ if(box->clickedButton() == quit) event->accept();
+ else event->ignore();
+ box->deleteLater();
+#else
+ event->accept();
+#endif
+}
+
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()));
+ QMenu *menu = new QMenu(this);
+ menu->addAction(showBuffersAction);
+ menu->addAction(showNicksAction);
+ QSoftMenuBar::addMenuTo(this, menu);
}
void QtopiaMainWin::connectedToCore() {
foreach(BufferInfo id, Client::allBufferInfos()) {
emit requestBacklog(id, 100, -1);
}
+
+#ifdef DEBUGMODE
// FIXME just for testing: select first available buffer
if(Client::allBufferInfos().count() > 1) {
Buffer *b = Client::buffer(Client::allBufferInfos()[1]);
Client::bufferModel()->selectBuffer(b);
}
+#endif
}
void QtopiaMainWin::disconnectedFromCore() {
void QtopiaMainWin::showBuffer(Buffer *b) {
mainWidget->setBuffer(b);
- //nickListWidget->
+ bufferViewWidget->hide();
+ nickListWidget->setBuffer(b);
}