Merge pull request #148 from Tucos/DMdebug
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 8 Oct 2015 22:04:54 +0000 (00:04 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 8 Oct 2015 22:04:54 +0000 (00:04 +0200)
Disable checkbox if no DockManager is present

src/qtui/dockmanagernotificationbackend.cpp
src/qtui/dockmanagernotificationbackend.h

index c9fdc0d..5654776 100644 (file)
@@ -46,11 +46,11 @@ DockManagerNotificationBackend::DockManagerNotificationBackend(QObject *parent)
         if (_dock->isValid()) {
             _bus.connect("org.freedesktop.DockManager", "/org/freedesktop/DockManager", "org.freedesktop.DockManager", "ItemAdded", this, SLOT(itemAdded(QDBusObjectPath)));
         } else {
-            qDebug() << "No DockManager available";
-            _enabled = false;
+            _available = _enabled = false;
             return;
         }
     }
+    _available = true;
 
     itemAdded(QDBusObjectPath());
 
@@ -171,18 +171,18 @@ void DockManagerNotificationBackend::enabledChanged(const QVariant &v)
 
 SettingsPage *DockManagerNotificationBackend::createConfigWidget() const
 {
-    return new ConfigWidget();
+    return new ConfigWidget(_available);
 }
 
 
 /***************************************************************************/
 
-DockManagerNotificationBackend::ConfigWidget::ConfigWidget(QWidget *parent)
+DockManagerNotificationBackend::ConfigWidget::ConfigWidget(bool enabled, QWidget *parent)
     : SettingsPage("Internal", "DockManagerNotification", parent)
 {
     QHBoxLayout *layout = new QHBoxLayout(this);
     layout->addWidget(enabledBox = new QCheckBox(tr("Mark dockmanager entry"), this));
-    enabledBox->setEnabled(true);
+    enabledBox->setEnabled(enabled);
 
     connect(enabledBox, SIGNAL(toggled(bool)), SLOT(widgetChanged()));
 }
index 70efb00..bbae76c 100644 (file)
@@ -50,6 +50,7 @@ private slots:
 private:
     class ConfigWidget;
     bool _enabled;
+    bool _available;
     QDBusConnection _bus;
     QDBusInterface *_dock;
     QDBusInterface *_item;
@@ -62,7 +63,7 @@ class DockManagerNotificationBackend::ConfigWidget : public SettingsPage
     Q_OBJECT
 
 public:
-    ConfigWidget(QWidget *parent = 0);
+    ConfigWidget(bool enabled, QWidget *parent = 0);
 
     void save();
     void load();