소스 검색

Update loader.cpp

Save only hwmons that are actually used by fancontrol
Maldela 10 년 전
부모
커밋
ab31fc99e2
1개의 변경된 파일16개의 추가작업 그리고 2개의 파일을 삭제
  1. 16 2
      share/src/loader.cpp

+ 16 - 2
share/src/loader.cpp

@@ -302,10 +302,24 @@ void Loader::save(const QUrl &url)
 
 void Loader::createConfigFile()
 {
+    QList<Hwmon *> usedHwmons;
+    foreach (Hwmon *hwmon, m_hwmons)
+    {
+        if (hwmon->pwmFans().size() > 0)
+            usedHwmons << hwmon;
+        foreach (QObject *fan, hwmon->pwmFans())
+        {
+            PwmFan *pwmFan = qobject_cast<PwmFan *>(fan);
+            if (pwmFan->hasTemp() && pwmFan->temp())
+                if (!usedHwmons.contains(pwmFan->temp()->parent()))
+                    usedHwmons << pwmFan->temp()->parent();
+        }
+    }
+    
     m_configFile = "INTERVAL=" + QString::number(m_interval) + "\n";
 
     m_configFile += "DEVPATH=";
-    foreach (Hwmon *hwmon, m_hwmons)
+    foreach (Hwmon *hwmon, usedHwmons)
     {
         QString sanitizedPath = hwmon->path();
         sanitizedPath.remove(QRegExp("^/sys/"));
@@ -315,7 +329,7 @@ void Loader::createConfigFile()
     m_configFile += "\n";
 
     m_configFile += "DEVNAME=";
-    foreach (Hwmon *hwmon, m_hwmons)
+    foreach (Hwmon *hwmon, usedHwmons)
     {
         m_configFile += "hwmon" + QString::number(hwmon->index()) + "=" + hwmon->name().split('.').first() + " ";
     }