瀏覽代碼

minimized state is now also saved in kconfig

Malte Veerman 10 年之前
父節點
當前提交
68f3cc84b8
共有 3 個文件被更改,包括 25 次插入2 次删除
  1. 2 1
      share/qml/PwmFan.qml
  2. 18 0
      share/src/sensors.cpp
  3. 5 1
      share/src/sensors.h

+ 2 - 1
share/qml/PwmFan.qml

@@ -44,6 +44,7 @@ Rectangle {
     border.width: 2
     radius: 10
     clip: false
+    state: fan.active ? "" : "minimized"
 
     function update() {
         hasTempCheckBox.checked = fan.hasTemp;
@@ -145,7 +146,7 @@ Rectangle {
                 anchors.fill: parent
                 hoverEnabled: true
                 acceptedButtons: Qt.LeftButton
-                onClicked: root.state = (root.state != "minimized") ? "minimized" : ""
+                onClicked: fan.active = fan.active ? false : true
             }
         }
     }

+ 18 - 0
share/src/sensors.cpp

@@ -138,6 +138,24 @@ void PwmFan::reset()
     setMinStop(255);
 }
 
+bool PwmFan::active() const
+{
+    KConfigGroup active = m_config->group("active");
+    KConfigGroup localActive = active.group(m_parent->name());
+    return localActive.readEntry("pwmfan" + QString::number(m_index), true);
+}
+
+void PwmFan::setActive(bool a)
+{
+    KConfigGroup active = m_config->group("active");
+    KConfigGroup localActive = active.group(m_parent->name());
+    if (a != localActive.readEntry("pwmfan" + QString::number(m_index), true))
+    {
+        localActive.writeEntry("pwmfan" + QString::number(m_index), a);
+        emit activeChanged();
+    }
+}
+
 
 Temp::Temp(Hwmon *parent, uint index) : Sensor(parent, index)
 {

+ 5 - 1
share/src/sensors.h

@@ -137,7 +137,7 @@ protected:
 class FANCONTROL_GUI_EXPORT PwmFan : public Fan
 {
     Q_OBJECT
-    Q_PROPERTY(int pwm READ pwm NOTIFY pwmChanged)
+    Q_PROPERTY(int pwm READ pwm /*WRITE setPwm*/ NOTIFY pwmChanged)
     Q_PROPERTY(Temp * temp READ temp WRITE setTemp NOTIFY tempChanged)
     Q_PROPERTY(bool hasTemp READ hasTemp WRITE setHasTemp NOTIFY hasTempChanged)
     Q_PROPERTY(int minTemp READ minTemp WRITE setMinTemp NOTIFY minTempChanged)
@@ -146,6 +146,7 @@ class FANCONTROL_GUI_EXPORT PwmFan : public Fan
     Q_PROPERTY(int maxPwm READ maxPwm WRITE setMaxPwm NOTIFY maxPwmChanged)
     Q_PROPERTY(int minStart READ minStart WRITE setMinStart NOTIFY minStartChanged)
     Q_PROPERTY(int minStop READ minStop WRITE setMinStop NOTIFY minStopChanged)
+    Q_PROPERTY(bool active READ active WRITE setActive NOTIFY activeChanged)
 
 public:
 
@@ -161,6 +162,7 @@ public:
     int maxPwm() const { return m_maxPwm; }
     int minStart() const { return m_minStart; }
     int minStop() const { return m_minStop; }
+    bool active() const;
     void setTemp(Temp *temp) { setHasTemp(temp != nullptr); if (temp != m_temp) { m_temp = temp; emit tempChanged(); } }
     void setHasTemp(bool hasTemp) { if (hasTemp != m_hasTemp) { m_hasTemp = hasTemp; emit hasTempChanged(); } }
     void setMinTemp(int minTemp) { if (minTemp != m_minTemp) { m_minTemp = minTemp; emit minTempChanged(); } }
@@ -169,6 +171,7 @@ public:
     void setMaxPwm(int maxPwm) { if (maxPwm != m_maxPwm) { m_maxPwm = maxPwm; emit maxPwmChanged(); } }
     void setMinStart(int minStart) { if (minStart != m_minStart) { m_minStart = minStart; emit minStartChanged(); } }
     void setMinStop(int minStop) { if (minStop != m_minStop) { m_minStop = minStop; emit minStopChanged(); } }
+    void setActive(bool active);
     void reset();
 
 
@@ -183,6 +186,7 @@ signals:
     void maxPwmChanged();
     void minStartChanged();
     void minStopChanged();
+    void activeChanged();
 
 
 protected slots: