X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fqtui%2Fmainwin.cpp;h=e6f3a54a92c20fc90d4b1cc647229a5995979afc;hp=5b430870d35b0115461d77fd5608a421de71c01e;hb=dcba0652ac1275877b98b06d6482924ee6df0cd1;hpb=8010224cf5bfe5685dc2cf535e8dc1ec19c4c364 diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 5b430870..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"); @@ -266,9 +268,8 @@ void MainWin::setupTopicWidget() { void MainWin::setupSystray() { systray = new QSystemTrayIcon(this); systray->setIcon(QIcon(":/icons/quassel-icon.png")); - - QString toolTip("Left click to minimize the Quassel Client to tray"); - systray->setToolTip(toolTip); +// systray->setToolTip("left click to minimize the quassel client to tray"); +// systray->setToolTip(toolTip); systrayMenu = new QMenu(this); systrayMenu->addAction(ui.actionAboutQuassel); @@ -298,11 +299,20 @@ void MainWin::changeEvent(QEvent *event) { QtUiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnMinimize").toBool()) { toggleVisibility(); + event->ignore(); } } } } +// 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); @@ -374,7 +384,7 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas } void MainWin::toggleVisibility() { - if(isHidden() || !isActiveWindow()) { + if(isHidden() /*|| !isActiveWindow()*/) { show(); if(isMinimized()) if (isMaximized()) @@ -383,9 +393,11 @@ void MainWin::toggleVisibility() { showNormal(); raise(); - activateWindow(); + setFocus(Qt::ActiveWindowFocusReason); + // activateWindow(); } else { if(systray->isSystemTrayAvailable ()) { + clearFocus(); hide(); if(!systray->isVisible()) { systray->show();