2
0
Эх сурвалжийг харах

improved static methods in loader

Malte Veerman 10 жил өмнө
parent
commit
a841741d12

+ 49 - 0
lib/src/loader.cpp

@@ -537,3 +537,52 @@ QList< QObject* > Loader::allPwmFans() const
     }
     return list;
 }
+
+int Loader::getHwmonNumber(const QString &str)
+{
+    if (str.isEmpty())
+	return -1;
+    
+    QString hwmon = str.split('/', QString::SkipEmptyParts).at(0);
+    
+    if (!hwmon.startsWith("hwmon"))
+	return -1;
+    
+    bool success;
+    
+    hwmon.remove("hwmon");
+    
+    int result = hwmon.toInt(&success);
+    
+    if (success)
+	return result;
+    
+    return -1;
+}
+
+int Loader::getSensorNumber(const QString &str)
+{
+    if (str.isEmpty())
+	return -1;
+    
+    QStringList list = str.split('/', QString::SkipEmptyParts);
+    
+    if (list.size() != 2)
+	return -1;
+    
+    QString sensor = list.at(1);
+    
+    if (!sensor.contains(QRegExp("pwm|fan|temp|_input")))
+	return -1;
+    
+    bool success;
+    
+    sensor.remove(QRegExp("pwm|fan|temp|_input"));
+    
+    int result = sensor.toInt(&success);
+    
+    if (success)
+	return result - 1;
+    
+    return -1;
+}

+ 2 - 2
lib/src/loader.h

@@ -57,8 +57,8 @@ public:
     Hwmon * hwmon(int i) { return m_hwmons.value(i, Q_NULLPTR); }
     QString error() const { return m_error; }
     
-    static int getHwmonNumber(const QString &str) { return str.split('/').value(0).remove("hwmon").toInt(); }
-    static int getSensorNumber(const QString &str) { return str.split('/').value(1).remove(QRegExp("pwm|fan|temp|_input")).toInt() - 1; }
+    static int getHwmonNumber(const QString &str); 
+    static int getSensorNumber(const QString &str);
 
     
 public slots:

+ 3 - 8
package/contents/ui/KCM.qml

@@ -19,10 +19,7 @@
 
 
 import QtQuick 2.4
-import QtQuick.Controls 1.4
-import QtQuick.Window 2.2
-import QtQuick.Dialogs 1.2
-import QtQuick.Layouts 1.1
+import QtQuick.Controls 1.3
 import org.kde.kcm 1.0
 
 TabView {
@@ -31,8 +28,6 @@ TabView {
     property string unit: "Celsius"
 
     id: tabView
-    anchors.fill: parent
-    anchors.margins: 4
     frameVisible: true
     implicitHeight: 480
     implicitWidth: 640
@@ -46,7 +41,7 @@ TabView {
     Tab {
         title: i18n("PwmFans")
         PwmFansTab {
-            size: sizeSlider.value
+            size: 1
             minTemp: tabView.minTemp
             maxTemp: tabView.maxTemp
             unit: tabView.unit
@@ -69,7 +64,7 @@ TabView {
             onMaxTempChanged: tabView.maxTemp = maxTemp
             onUnitChanged: tabView.unit = unit
             loader: kcm.loader
-            systemdCom: kcm.systemdCom
+            systemdCom: kcm.hasSystemdCommunicator() ? kcm.systemdCom : null
         }
     }