OSDN Git Service

plasma: correct values for temperature plotter and tooltip
authorIvailo Monev <xakepa10@gmail.com>
Sat, 14 Aug 2021 12:08:11 +0000 (15:08 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Sat, 14 Aug 2021 12:08:49 +0000 (15:08 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
plasma/applets/system-monitor/temperature.cpp

index 94aaaba..6924217 100644 (file)
@@ -196,24 +196,27 @@ void Temperature::dataUpdated(const QString& source,
         return;
     }
     SM::Plotter *plotter = qobject_cast<SM::Plotter*>(visualization(source));
-    QString unit = data["units"].toString();
+    const QString unit = data["units"].toString();
     double doubleValue = data["value"].toDouble() + temperatureOffset(source);
     KTemperature value(doubleValue, unit);
 
+    QString stringValue;
     if (KGlobal::locale()->measureSystem() == KLocale::Metric) {
         doubleValue = value.convertTo(KTemperature::Celsius);
+        stringValue = KTemperature(doubleValue, KTemperature::Celsius).toString();
     } else {
         doubleValue = value.convertTo(KTemperature::Fahrenheit);
+        stringValue = KTemperature(doubleValue, KTemperature::Fahrenheit).toString();
     }
 
     doubleValue = KTemperature::round(doubleValue, 1);
     if (plotter) {
-        plotter->addSample(QList<double>() << value.number());
+        plotter->addSample(QList<double>() << doubleValue);
     }
 
     if (mode() == SM::Applet::Panel) {
         setToolTip(source,
-                   QString("<tr><td>%1</td><td>%2</td></tr>").arg(temperatureTitle(source)).arg(value.toString()));
+                   QString("<tr><td>%1</td><td>%2</td></tr>").arg(temperatureTitle(source)).arg(stringValue));
     }
 }