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

List:       kde-commits
Subject:    [kscreen/saveWhenNeeded] kded: Moved the connected change monitoring to another method
From:       Àlex_Fiestas <afiestas () kde ! org>
Date:       2013-01-04 10:17:07
Message-ID: 20130104101707.DFCE2A60A6 () git ! kde ! org
[Download RAW message or body]

Git commit 8bdc094e7b7397719d2e59467b9205a6fc196305 by Àlex Fiestas.
Committed on 04/01/2013 at 10:50.
Pushed by afiestas into branch 'saveWhenNeeded'.

Moved the connected change monitoring to another method

We always want to monitor when an output is connected/disconnected no
matter what, so moving it out of setMonitorForChanges  into a different
method and call it in the cto.

M  +14   -2    kded/daemon.cpp
M  +1    -0    kded/daemon.h

http://commits.kde.org/kscreen/8bdc094e7b7397719d2e59467b9205a6fc196305

diff --git a/kded/daemon.cpp b/kded/daemon.cpp
index 2931c2d..f59dbb5 100644
--- a/kded/daemon.cpp
+++ b/kded/daemon.cpp
@@ -57,6 +57,7 @@ KScreenDaemon::KScreenDaemon(QObject* parent, const QList< QVariant >& )
     connect(m_timer, SIGNAL(timeout()), SLOT(applyGenericConfig()));
     connect(action, SIGNAL(triggered(bool)), SLOT(displayButton()));
     connect(Generator::self(), SIGNAL(ready()), SLOT(init()));
+    monitorConnectedChange();
 }
 
 KScreenDaemon::~KScreenDaemon()
@@ -141,6 +142,19 @@ void KScreenDaemon::lidClosedChanged()
     applyIdealConfig();
 }
 
+void KScreenDaemon::monitorConnectedChange()
+{
+    if (!m_monitoredConfig) {
+        m_monitoredConfig = KScreen::Config::current();
+        KScreen::ConfigMonitor::instance()->addConfig(m_monitoredConfig);
+    }
+
+    KScreen::OutputList outputs = m_monitoredConfig->outputs();
+    Q_FOREACH(KScreen::Output* output, outputs) {
+        connect(output, SIGNAL(isConnectedChanged()), SLOT(applyConfig()));
+    }
+}
+
 void KScreenDaemon::setMonitorForChanges(bool enabled)
 {
     if (m_monitoring == enabled) {
@@ -165,8 +179,6 @@ void KScreenDaemon::setMonitorForChanges(bool enabled)
 
 void KScreenDaemon::enableMonitor(KScreen::Output* output)
 {
-    connect(output, SIGNAL(isConnectedChanged()), SLOT(applyConfig()));
-
     connect(output, SIGNAL(currentModeChanged()), SLOT(configChanged()));
     connect(output, SIGNAL(isEnabledChanged()), SLOT(configChanged()));
     connect(output, SIGNAL(isPrimaryChanged()), SLOT(configChanged()));
diff --git a/kded/daemon.h b/kded/daemon.h
index 984bc6f..9beff57 100644
--- a/kded/daemon.h
+++ b/kded/daemon.h
@@ -46,6 +46,7 @@ class KDE_EXPORT KScreenDaemon : public KDEDModule
         void lidClosedChanged();
 
     private:
+        void monitorConnectedChange();
         void setMonitorForChanges(bool enabled);
         void enableMonitor(KScreen::Output *output);
         void disableMonitor(KScreen::Output *output);

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

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