X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fqtopia%2Fqtopiamainwin.cpp;h=02bbe7125e6993da5e22007ee7cbd0bcf25d66d5;hb=8a3c3f283e33a9ae87b4b3bed94e676f12dd5d2e;hp=081201f77ccfb945c1542be18b1e3e72df623218;hpb=ec17201104f75eafaddccc174de8709b42b15ccb;p=quassel.git diff --git a/src/qtopia/qtopiamainwin.cpp b/src/qtopia/qtopiamainwin.cpp index 081201f7..02bbe712 100644 --- a/src/qtopia/qtopiamainwin.cpp +++ b/src/qtopia/qtopiamainwin.cpp @@ -32,6 +32,9 @@ #include "signalproxy.h" #include +#include + +#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). @@ -79,7 +82,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); @@ -92,21 +94,42 @@ QtopiaMainWin::~QtopiaMainWin() { } +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() { @@ -121,7 +144,8 @@ AbstractUiMsg *QtopiaMainWin::layoutMsg(const Message &msg) { void QtopiaMainWin::showBuffer(Buffer *b) { mainWidget->setBuffer(b); - //nickListWidget-> + bufferViewWidget->hide(); + nickListWidget->setBuffer(b); }