Introduce the concept of an "active" bufferview
[quassel.git] / src / qtui / taskbarnotificationbackend.cpp
index 9fda55b..f99706b 100644 (file)
@@ -23,6 +23,7 @@
 #include <QtGui>
 
 #include "clientsettings.h"
+#include "iconloader.h"
 #include "mainwin.h"
 #include "qtui.h"
 
@@ -31,15 +32,14 @@ TaskbarNotificationBackend::TaskbarNotificationBackend(QObject *parent)
 {
   NotificationSettings notificationSettings;
   _enabled = notificationSettings.value("Taskbar/Enabled", true).toBool();
-  _timeout = notificationSettings.value("Taskbar/Timeout", 0).toBool();
+  _timeout = notificationSettings.value("Taskbar/Timeout", 0).toInt();
 
   notificationSettings.notify("Taskbar/Enabled", this, SLOT(enabledChanged(const QVariant &)));
   notificationSettings.notify("Taskbar/Timeout", this, SLOT(timeoutChanged(const QVariant &)));
 }
 
 void TaskbarNotificationBackend::notify(const Notification &notification) {
-  Q_UNUSED(notification)
-  if(_enabled) {
+  if(_enabled && (notification.type == Highlight || notification.type == PrivMsg)) {
     QApplication::alert(QtUi::mainWindow(), _timeout);
   }
 }
@@ -69,15 +69,19 @@ TaskbarNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent) : Settin
 #else
   layout->addWidget(enabledBox = new QCheckBox(tr("Mark taskbar entry, timeout:"), this));
 #endif
+  enabledBox->setIcon(SmallIcon("flag-blue"));
+  enabledBox->setEnabled(true);
+
   timeoutBox = new QSpinBox(this);
-  timeoutBox->setMinimum(0);
+  timeoutBox->setMinimum(1);
   timeoutBox->setMaximum(99);
   timeoutBox->setSpecialValueText(tr("Unlimited"));
-  timeoutBox->setSuffix(tr(" s"));
+  timeoutBox->setSuffix(tr(" seconds"));
   layout->addWidget(timeoutBox);
-  layout->addStretch(1);
+  layout->addStretch(20);
 
   connect(enabledBox, SIGNAL(toggled(bool)), SLOT(widgetChanged()));
+  connect(enabledBox, SIGNAL(toggled(bool)), timeoutBox, SLOT(setEnabled(bool)));
   connect(timeoutBox, SIGNAL(valueChanged(int)), SLOT(widgetChanged()));
 }