[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/ksysguard/gui
From:       John Tapsell <john.tapsell () kdemail ! net>
Date:       2009-10-23 6:00:47
Message-ID: 1256277647.176229.10533.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1039236 by johnflux:

Set default units to "%1", along with unit test


 M  +1 -0      SensorDisplayLib/SignalPlotter.cc  
 M  +4 -1      SensorDisplayLib/SignalPlotter.h  
 M  +22 -0     tests/signalplottertest.cpp  
 M  +1 -0      tests/signalplottertest.h  


--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/SignalPlotter.cc \
#1039235:1039236 @@ -84,6 +84,7 @@
     mStackBeams = false;
     mFillOpacity = 20;
     mRescaleTime = 0;
+    mUnit = ki18n("%1");
 }
 
 KSignalPlotter::~KSignalPlotter()
--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/SignalPlotter.h \
#1039235:1039236 @@ -167,11 +167,12 @@
      *
      * \code
      *   KSignalPlotter plotter;
-     *   plotter.setUnit( ki18ncp("Units", "1 second", "%1 seconds") );
+     *   plotter.setUnit( ki18ncp("Units", "%1 second", "%1 seconds") );
      *   QString formattedString = plotter.valueAsString(3.4); //returns "3.4 \
                seconds"
      * \endcode
      *
      * Typically a new unit would be set when setScaleDownBy is called.
+     * Note that even the singular should use "%1 second" instead of "1 second", so \
                that a value of -1 works correctly.
      *
      * \see unit(), setScaleDownBy()
      */
@@ -181,6 +182,8 @@
      *
      * The returns the localizable string set with setUnit().
      *
+     * Default is the string "%1" - i.e. to just display the number.
+     *
      * \see setUnit
      */
     KLocalizedString unit() const;
--- trunk/KDE/kdebase/workspace/ksysguard/gui/tests/signalplottertest.cpp \
#1039235:1039236 @@ -244,6 +244,24 @@
     QCOMPARE(s->currentMinimumRangeValue(), 0.0);
 }
 
+void TestSignalPlotter::testNegativeMinimumRange()
+{
+    s->setMinimumValue(-1000);
+    s->setMaximumValue(4000);
+    QCOMPARE(s->minimumValue(), -1000.0);
+    QCOMPARE(s->maximumValue(),  4000.0);
+    QCOMPARE(s->currentMinimumRangeValue(), -1000.0);
+    QCOMPARE(s->currentMaximumRangeValue(), 4000.0);
+
+    s->setScaleDownBy(1024);
+    QCOMPARE(s->minimumValue(), -1000.0);
+    QCOMPARE(s->maximumValue(),  4000.0);
+    QCOMPARE(s->currentMinimumRangeValue(), -1000.0);
+    QCOMPARE(s->currentMaximumRangeValue(), 4120.0);
+
+    QCOMPARE(s->valueAsString(4096,1), QString("4.0"));
+    QCOMPARE(s->valueAsString(-4096,1), QString("-4.0"));
+}
 void TestSignalPlotter::testSetBeamColor() {
     s->addBeam(Qt::red);
     s->setBeamColor(0, Qt::blue);
@@ -271,6 +289,10 @@
 }
 
 void TestSignalPlotter::testSetUnit() {
+    //Test default
+    QCOMPARE(s->valueAsString(3e20,1), QString("3e+20"));
+    QCOMPARE(s->valueAsString(-3e20,1), QString("-3e+20"));
+
     s->setUnit(ki18ncp("Units", "%1 second", "%1 seconds") );
 
     QCOMPARE(s->valueAsString(3e20,1), QString("3e+20 seconds"));
--- trunk/KDE/kdebase/workspace/ksysguard/gui/tests/signalplottertest.h \
#1039235:1039236 @@ -15,6 +15,7 @@
         void testReorderBeams();
         void testReorderBeamsWithData();
         void testMaximumRange();
+        void testNegativeMinimumRange();
         void testSetBeamColor();
         void testSetUnit();
         void testGettersSetters();


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic