[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/base/bluedevil/src/kcmodule
From:       Rafael Fernández López <ereslibre () kde ! org>
Date:       2010-03-15 12:39:17
Message-ID: 1268656757.937583.20994.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1103582 by ereslibre:

Change interface to use a checkbox that loads/unloads the kded module


 M  +19 -20    bluedevil.cpp  
 M  +5 -3      bluedevil.h  


--- trunk/playground/base/bluedevil/src/kcmodule/bluedevil.cpp #1103581:1103582
@@ -19,7 +19,7 @@
 
 #include "bluedevil.h"
 
-#include <QtGui/QLabel>
+#include <QtGui/QCheckBox>
 #include <QtGui/QBoxLayout>
 
 #include <QtDBus/QDBusMessage>
@@ -34,15 +34,16 @@
 
 KCMBlueDevil::KCMBlueDevil(QWidget *parent, const QVariantList&)
     : KCModule(BlueDevilFactory::componentData(), parent)
-    , m_kdedNotRunningWarning(new QWidget(this))
+    , m_enable(new QCheckBox(i18n("Enable Bluetooth"), this))
 {
-    generateUi();
     checkKDEDModuleLoaded();
 
     QVBoxLayout *layout = new QVBoxLayout;
-    layout->addWidget(m_kdedNotRunningWarning);
+    layout->addWidget(m_enable);
     layout->addStretch();
     setLayout(layout);
+
+    connect(m_enable, SIGNAL(stateChanged(int)), SLOT(stateChanged(int)));
 }
 
 KCMBlueDevil::~KCMBlueDevil()
@@ -55,26 +56,23 @@
 
 void KCMBlueDevil::save()
 {
-}
+    if (!m_isEnabled && m_enable->isChecked()) {
+        QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kded", "/kded", \
QString(), "loadModule"); +        msg.setArguments(QVariantList() << "bluedevil");
+        QDBusConnection::sessionBus().call(msg);
+    } else if (m_isEnabled && !m_enable->isChecked()) {
+        QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kded", "/kded", \
QString(), "unloadModule"); +        msg.setArguments(QVariantList() << "bluedevil");
+        QDBusConnection::sessionBus().call(msg);
+    }
 
-void KCMBlueDevil::launchService()
-{
-    QDBusMessage msg = QDBusMessage::createMethodCall("org.kde.kded", "/kded", \
                QString(), "loadModule");
-    msg.setArguments(QVariantList() << "bluedevil");
-    QDBusConnection::sessionBus().call(msg);
-
     checkKDEDModuleLoaded();
 }
 
-void KCMBlueDevil::generateUi()
+void KCMBlueDevil::stateChanged(int)
 {
-    {
-        QHBoxLayout *layout = new QHBoxLayout;
-        layout->addWidget(new QLabel(i18n("Bluetooth backend is not running"), \
                this));
-        KPushButton *launch = new KPushButton(i18n("Launch"), this);
-        connect(launch, SIGNAL(clicked()), this, SLOT(launchService()));
-        layout->addWidget(launch);
-        m_kdedNotRunningWarning->setLayout(layout);
+    if (sender() == m_enable) {
+        emit changed(m_enable->isChecked() != m_isEnabled);
     }
 }
 
@@ -89,5 +87,6 @@
             break;
         }
     }
-    m_kdedNotRunningWarning->setVisible(!moduleLoaded);
+    m_enable->setChecked(moduleLoaded);
+    m_isEnabled = moduleLoaded;
 }
--- trunk/playground/base/bluedevil/src/kcmodule/bluedevil.h #1103581:1103582
@@ -22,6 +22,8 @@
 
 #include <kcmodule.h>
 
+class QCheckBox;
+
 class KCMBlueDevil
     : public KCModule
 {
@@ -35,14 +37,14 @@
     virtual void save();
 
 private Q_SLOTS:
-    void launchService();
+    void stateChanged(int state);
 
 private:
-    void generateUi();
     void checkKDEDModuleLoaded();
 
 private:
-    QWidget *m_kdedNotRunningWarning;
+    QCheckBox *m_enable;
+    bool       m_isEnabled;
 };
 
 #endif


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic