X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=32a59dff0f1cd9c5c0537f0e408e26a56bd1ec36;hp=b44f7ddebdee5374918054ce56f796833e21c094;hb=620882e248fafe97a736e545d8e3eb72569a078b;hpb=b709cbc76fc0bd0f14839b4c04ba8caf78d775f1 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index b44f7dde..32a59dff 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"); @@ -279,8 +281,8 @@ void MainWin::setupSystray() { systray->setContextMenu(systrayMenu); - QtUiSettings s; - if(s.value("UseSystemTrayIcon").toBool()) { + UiSettings s; + if(s.value("UseSystemTrayIcon", QVariant(true)).toBool()) { systray->show(); } @@ -294,7 +296,7 @@ void MainWin::setupSystray() { void MainWin::changeEvent(QEvent *event) { if(event->type() == QEvent::WindowStateChange) { if(windowState() & Qt::WindowMinimized) { - QtUiSettings s; + UiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnMinimize").toBool()) { toggleVisibility(); event->ignore(); @@ -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); @@ -358,7 +368,7 @@ void MainWin::showAboutDlg() { } void MainWin::closeEvent(QCloseEvent *event) { - QtUiSettings s; + UiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnClose").toBool()) { toggleVisibility(); event->ignore();