X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=e6f3a54a92c20fc90d4b1cc647229a5995979afc;hp=b44f7ddebdee5374918054ce56f796833e21c094;hb=dcba0652ac1275877b98b06d6482924ee6df0cd1;hpb=f1e45389df014fb5445ee96769bf02dcf34f1e21 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index b44f7dde..e6f3a54a 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -254,6 +254,8 @@ void MainWin::setupTopicWidget() { VerticalDock *dock = new VerticalDock(tr("Topic"), this); dock->setObjectName("TopicDock"); TopicWidget *topicwidget = new TopicWidget(dock); + connect(topicwidget, SIGNAL(topicChanged(const QString &)), this, SLOT(changeTopic(const QString &))); + dock->setWidget(topicwidget); Client::bufferModel()->mapProperty(1, Qt::DisplayRole, topicwidget, "topic"); @@ -303,6 +305,14 @@ void MainWin::changeEvent(QEvent *event) { } } +// FIXME this should be made prettier... +void MainWin::changeTopic(const QString &topic) { + BufferId id = ui.bufferWidget->currentBuffer(); + if(!id.isValid()) return; + Buffer *buffer = Client::buffer(id); + if(buffer) Client::userInput(buffer->bufferInfo(), QString("/topic %1").arg(topic)); +} + void MainWin::connectedToCore() { foreach(BufferInfo id, Client::allBufferInfos()) { emit requestBacklog(id, 1000, -1);