浏览代码

locale improvements

Malte Veerman 10 年之前
父节点
当前提交
ddd3bfd427
共有 3 个文件被更改,包括 14 次插入8 次删除
  1. 6 2
      lib/src/guibase.cpp
  2. 2 2
      package/contents/ui/KCM.qml
  3. 6 4
      package/contents/ui/SettingsTab.qml

+ 6 - 2
lib/src/guibase.cpp

@@ -25,6 +25,7 @@
 #include "hwmon.h"
 
 #include <QtQml>
+#include <QLocale>
 
 GUIBase::GUIBase(QObject *parent) : QObject(parent),    
     
@@ -34,9 +35,12 @@ GUIBase::GUIBase(QObject *parent) : QObject(parent),
 
     m_loader(new Loader(this)),
     m_minTemp(30),
-    m_maxTemp(90),
-    m_unit(0)
+    m_maxTemp(90)
 {
+    QLocale locale = QLocale::system();
+    QLocale::MeasurementSystem system = locale.measurementSystem();
+    m_unit = (system == QLocale::MetricSystem) ? 0 : 2;
+
     qmlRegisterType<Loader>();
     qmlRegisterType<Hwmon>();
     qmlRegisterType<Fan>();

+ 2 - 2
package/contents/ui/KCM.qml

@@ -57,11 +57,11 @@ ColumnLayout {
         id: fan
         enabled: enabledBox.checked
         minimizable: false
+        unit: kcm.base.unit
         fan: kcm.base.loader.allPwmFans[fanCombobox.currentIndex]
         loader: kcm.base.loader
         systemdCom: kcm.base.systemdCom
-        anchors.left: parent.left
-        anchors.right: parent.right
+        Layout.fillWidth: true
         Layout.fillHeight: true
     }
 }

+ 6 - 4
package/contents/ui/SettingsTab.qml

@@ -20,6 +20,7 @@
 import QtQuick 2.4
 import QtQuick.Layouts 1.1
 import QtQuick.Controls 1.2
+import QtQml 2.2
 import "../scripts/arrayfunctions.js" as ArrayFunctions
 import "../scripts/units.js" as Units
 
@@ -30,6 +31,7 @@ Item {
     property int interval: loader ? loader.interval : 1
     property int padding: 10
     property real textWidth: 0
+    property var locale: Qt.locale()
 
     id: root
     anchors.fill: parent
@@ -56,8 +58,8 @@ Item {
                 Layout.minimumWidth: implicitWidth
                 Layout.fillWidth: true
                 inputMethodHints: Qt.ImhDigitsOnly
-                text: interval
-                onTextChanged: if (text && text != "0") loader.interval = parseInt(text)
+                text: Number(interval).toLocaleString(locale)
+                onTextChanged: if (text && text != "0") loader.interval = parseInt(Number.fromLocaleString(locale, text))
             }
         }
         RowLayout {
@@ -75,7 +77,7 @@ Item {
                 Layout.minimumWidth: implicitWidth
                 Layout.fillWidth: true
                 inputMethodHints: Qt.ImhDigitsOnly
-                onTextChanged: if (activeFocus) baseObject.minTemp = Units.toCelsius(text, baseObject.unit)
+                onTextChanged: if (activeFocus) baseObject.minTemp = Units.toCelsius(Number.fromLocaleString(locale, text), baseObject.unit)
                 Component.onCompleted: text = Units.fromCelsius(baseObject.minTemp, baseObject.unit)
                 
                 Connections {
@@ -99,7 +101,7 @@ Item {
                 Layout.minimumWidth: implicitWidth
                 Layout.fillWidth: true
                 inputMethodHints: Qt.ImhDigitsOnly
-                onTextChanged: if (activeFocus) baseObject.maxTemp = Units.toCelsius(text, baseObject.unit)
+                onTextChanged: if (activeFocus) baseObject.maxTemp = Units.toCelsius(Number.fromLocaleString(locale, text), baseObject.unit)
                 Component.onCompleted: text = Units.fromCelsius(baseObject.maxTemp, baseObject.unit)
                 
                 Connections {