}
QString Buffer::topic() const {
- // FIXME check if we got a networkInfo() object
+ if(ircChannel()) return ircChannel()->topic();
return QString();
}
QString Buffer::ownNick() const {
- // FIXME check if we got a networkInfo() object
+ // FIXME if(ircChannel()) return ircChannel()->ownNick();
return QString();
}
}
_ircChannel = ircchan;
if(_ircChannel) {
+ emit topicSet(_ircChannel->topic());
+ connect(_ircChannel, SIGNAL(topicSet(QString)), this, SIGNAL(topicSet(QString)));
connect(_ircChannel, SIGNAL(destroyed()), this, SLOT(setIrcChannel()));
}
_nickModel->setIrcChannel(ircChannel());
// no longer needed
// back reference:
-// void Buffer::setTopic(QString t) {
-// _topic = t;
-// emit topicSet(t);
-// emit bufferUpdated(this);
-// }
// void Buffer::addNick(QString nick, QVariantMap props) {
// if(nick == ownNick()) setActive(true);
chatWidget->setContents(lines);
connect(buf, SIGNAL(msgAppended(AbstractUiMsg *)), chatWidget, SLOT(appendMsg(AbstractUiMsg *)));
connect(buf, SIGNAL(msgPrepended(AbstractUiMsg *)), chatWidget, SLOT(prependMsg(AbstractUiMsg *)));
- //connect(buf, SIGNAL(topicSet(QString)), this, SLOT(setTopic(QString)));
+ connect(buf, SIGNAL(topicSet(QString)), this, SLOT(setTopic(QString)));
//connect(buf, SIGNAL(ownNickSet(QString)), this, SLOT(setOwnNick(QString)));
ui.stack->addWidget(chatWidget);
chatWidgets.insert(buf, chatWidget);
}
ui.inputLine->clear();
}
+
+// FIXME make this more elegant, we don't need to send a string around...
+void MainWidget::setTopic(QString topic) {
+ Q_UNUSED(topic);
+ if(currentBuffer) {
+ QString title = QString("%1 (%2): \"%3\"").arg(currentBuffer->name()).arg(currentBuffer->networkName()).arg(currentBuffer->topic());
+ ui.topicBar->setContents(title);
+ }
+}
~MainWidget();
public slots:
+ void setTopic(QString topic);
void setBuffer(Buffer *);
private slots:
/***************************************************************************
- * 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 *
void QtopiaMainWin::init() {
Client::signalProxy()->attachSignal(this, SIGNAL(requestBacklog(BufferInfo, QVariant, QVariant)));
+ showMaximized();
CoreConnectDlg *dlg = new CoreConnectDlg(this);
//setCentralWidget(dlg);
dlg->showMaximized();
[Desktop Entry]
Comment[]=A Next-Gen IRC Client
Exec=quasseltopia
-Icon=quasselirc/qirc-icon
+Icon=/pics/quasselirc/qirc-icon.png
Type=Application
Name[]=QuasselTopia
fillText = " *** ";
oneshot = true;
timer = new QTimer(this);
- timer->setInterval(20);
+ timer->setInterval(25);
connect(timer, SIGNAL(timeout()), this, SLOT(updateOffset()));
connect(this, SIGNAL(clicked()), this, SLOT(startScrolling()));
}
}
void TopicBar::updateOffset() {
- offset++;
+ offset+=1;
if(offset >= secondTextStart) {
offset = 0;
if(oneshot) timer->stop(); // only scroll once!