r2404 - in trunk/src/target/OM-2007/applications/openmoko-calculator: . po src

ortalo at sita.openmoko.org ortalo at sita.openmoko.org
Thu Jul 26 22:53:26 CEST 2007


Author: ortalo
Date: 2007-07-26 22:53:24 +0200 (Thu, 26 Jul 2007)
New Revision: 2404

Modified:
   trunk/src/target/OM-2007/applications/openmoko-calculator/configure.ac
   trunk/src/target/OM-2007/applications/openmoko-calculator/po/Calculator.pot
   trunk/src/target/OM-2007/applications/openmoko-calculator/po/fr.po
   trunk/src/target/OM-2007/applications/openmoko-calculator/po/ru.po
   trunk/src/target/OM-2007/applications/openmoko-calculator/po/sv.po
   trunk/src/target/OM-2007/applications/openmoko-calculator/src/calc-main.c
Log:
Improved display of non-finite numbers (with some special treatment for repeated NaN results...:-)


Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/configure.ac
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/configure.ac	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/configure.ac	2007-07-26 20:53:24 UTC (rev 2404)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.53)
-AC_INIT(openmoko-calculator, 0.0.4, rodolphe.ortalo at free.fr)
+AC_INIT(openmoko-calculator, 0.0.5, rodolphe.ortalo at free.fr)
 AM_INIT_AUTOMAKE()
 AC_CONFIG_SRCDIR(src/calc-main.c)
 AM_CONFIG_HEADER(config.h)

Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/po/Calculator.pot
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/po/Calculator.pot	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/po/Calculator.pot	2007-07-26 20:53:24 UTC (rev 2404)
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-07-25 22:19+0200\n"
+"POT-Creation-Date: 2007-07-26 22:34+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
 "Language-Team: LANGUAGE <LL at li.org>\n"
@@ -16,24 +16,36 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear All"
 msgstr ""
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear"
 msgstr ""
 
-#: src/calc-main.c:86
+#: src/calc-main.c:87
 msgid "<big><b>.</b></big>"
 msgstr ""
 
+#: src/calc-main.c:132
+msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>"
+msgstr ""
+
+#: src/calc-main.c:136
+msgid ""
+"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n"
+"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</"
+"span>"
+msgstr ""
+
 #. application object
 #. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
-#: src/calc-main.c:350
+#: src/calc-main.c:374
 msgid "Calculator"
 msgstr ""
 
-#: src/calc-main.c:357
+#: src/calc-main.c:381
 msgid "Close"
 msgstr ""

Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/po/fr.po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/po/fr.po	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/po/fr.po	2007-07-26 20:53:24 UTC (rev 2404)
@@ -7,8 +7,8 @@
 msgstr ""
 "Project-Id-Version: openmoko-calculator 0.0.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-07-25 22:19+0200\n"
-"PO-Revision-Date: 2007-03-23 21:34+0100\n"
+"POT-Creation-Date: 2007-07-26 22:34+0200\n"
+"PO-Revision-Date: 2007-07-26 22:39+0200\n"
 "Last-Translator: ortalo <rodolphe.ortalo at free.fr>\n"
 "Language-Team: French <traduc at traduc.org>\n"
 "MIME-Version: 1.0\n"
@@ -16,24 +16,40 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear All"
 msgstr "RAZ"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear"
 msgstr "Effacer"
 
-#: src/calc-main.c:86
+#: src/calc-main.c:87
 msgid "<big><b>.</b></big>"
 msgstr "<big><b>,</b></big>"
 
+#: src/calc-main.c:132
+msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>"
+msgstr ""
+
+#: src/calc-main.c:136
+msgid ""
+"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n"
+"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</"
+"span>"
+msgstr ""
+"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+"<span foreground=\"darkgrey\" size=\"smaller\">canal_cach&#x00E9;/ok</span>\n"
+"<span foreground=\"orange\" style=\"italic\">T&#x00E9;l&#x00E9;portation "
+"demand&#x00E9;e...</span>"
+
 #. application object
 #. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
-#: src/calc-main.c:350
+#: src/calc-main.c:374
 msgid "Calculator"
 msgstr "Calculatrice"
 
-#: src/calc-main.c:357
+#: src/calc-main.c:381
 msgid "Close"
 msgstr "Fermer"

Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/po/ru.po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/po/ru.po	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/po/ru.po	2007-07-26 20:53:24 UTC (rev 2404)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: openmoko-calculator 0.0.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-07-25 22:19+0200\n"
+"POT-Creation-Date: 2007-07-26 22:34+0200\n"
 "PO-Revision-Date: 2007-04-03 17:33+0300\n"
 "Last-Translator:  Evgeny Ginzburg <Nad.Oby at gmail.com>\n"
 "Language-Team: \n"
@@ -15,24 +15,36 @@
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear All"
 msgstr "Очистить всё"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear"
 msgstr "Очистить"
 
-#: src/calc-main.c:86
+#: src/calc-main.c:87
 msgid "<big><b>.</b></big>"
 msgstr "<big><b>.</b></big>"
 
+#: src/calc-main.c:132
+msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>"
+msgstr ""
+
+#: src/calc-main.c:136
+msgid ""
+"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n"
+"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</"
+"span>"
+msgstr ""
+
 #. application object
 #. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
-#: src/calc-main.c:350
+#: src/calc-main.c:374
 msgid "Calculator"
 msgstr "Калькулятор"
 
-#: src/calc-main.c:357
+#: src/calc-main.c:381
 msgid "Close"
 msgstr "Закрыть"

Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/po/sv.po
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/po/sv.po	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/po/sv.po	2007-07-26 20:53:24 UTC (rev 2404)
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: openmoko calculator\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-07-25 22:19+0200\n"
+"POT-Creation-Date: 2007-07-26 22:34+0200\n"
 "PO-Revision-Date: 2007-04-04 11:18+0100\n"
 "Last-Translator: Daniel Nylander <po at danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
@@ -15,24 +15,36 @@
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear All"
 msgstr "Töm allt"
 
-#: src/calc-main.c:82
+#: src/calc-main.c:83
 msgid "Clear"
 msgstr "Töm"
 
-#: src/calc-main.c:86
+#: src/calc-main.c:87
 msgid "<big><b>.</b></big>"
 msgstr "<big><b>.</b></big>"
 
+#: src/calc-main.c:132
+msgid "<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>"
+msgstr ""
+
+#: src/calc-main.c:136
+msgid ""
+"<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+"<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n"
+"<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</"
+"span>"
+msgstr ""
+
 #. application object
 #. MokoApplication* app = MOKO_APPLICATION(moko_application_get_instance());
-#: src/calc-main.c:350
+#: src/calc-main.c:374
 msgid "Calculator"
 msgstr "Miniräknare"
 
-#: src/calc-main.c:357
+#: src/calc-main.c:381
 msgid "Close"
 msgstr "Stäng"

Modified: trunk/src/target/OM-2007/applications/openmoko-calculator/src/calc-main.c
===================================================================
--- trunk/src/target/OM-2007/applications/openmoko-calculator/src/calc-main.c	2007-07-26 20:50:21 UTC (rev 2403)
+++ trunk/src/target/OM-2007/applications/openmoko-calculator/src/calc-main.c	2007-07-26 20:53:24 UTC (rev 2404)
@@ -21,6 +21,7 @@
 
 #include <stdio.h>
 #include <math.h>
+#include <string.h>
 
 #include <libmokoui/moko-application.h>
 #include <libmokoui/moko-finger-tool-box.h>
@@ -122,16 +123,39 @@
 {
   if (the_state.n_digits == 0) {
     /* We are certainly displaying a computation result */
-    /* Manually build the display string ala %g */
-    double value = v;
-    int expof10;
+    if (!isfinite(v)) {
+      /* first gets rid of very special cases... */
+      if (isnan(v)) {
+	static int toomany = 0;
+	if ((the_state.func != &noop_func) || (++toomany % 7))
+	  gtk_label_set_markup(GTK_LABEL(displayed_label),
+			       _("<big>Not a Number</big><span font_desc=\"48\" > <b>NaN</b></span>"));
+	else
+	  /* ok, let's have some fun too... */
+	  gtk_label_set_markup(GTK_LABEL(displayed_label),
+			       _("<big>Not a Number</big> <span font_desc=\"48\" ><b>NaN</b></span>\n"
+				 "<span foreground=\"darkgrey\" size=\"smaller\">covert_channel/ack</span>\n"
+				 "<span foreground=\"orange\" style=\"italic\">Beam request transmitted...</span>"));
+      } else if (isinf(v)>0) {
+	/* positive infinity */
+	gtk_label_set_markup(GTK_LABEL(displayed_label),"<span font_desc=\"48\" >&#x221E;</span>");
+      } else {
+	/* only negative infinity remains... */
+	gtk_label_set_markup(GTK_LABEL(displayed_label),"<span font_desc=\"48\" >-&#x221E;</span>");
+      }
+      return; /* short-cut out */
+    } else {
+      /* Manually build the display string ala %g */
+      double value = v;
+      int expof10;
 
-    expof10 = (int) log10((value>=0.)?(value):(-value));
-    value *= pow(10,-expof10);
-    if (expof10 >= MAX_DISPLAY_CHARS)
-      snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g <small>e</small><sup><big>%d</big></sup></span>",(MAX_DISPLAY_CHARS-2),value,expof10);
-    else
-      snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g</span>",MAX_DISPLAY_CHARS,v);
+      expof10 = (int) log10(fabs(value));
+      value *= pow(10,-expof10);
+      if (expof10 >= MAX_DISPLAY_CHARS)
+	snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g <small>e</small><sup><big>%d</big></sup></span>",(MAX_DISPLAY_CHARS-2),value,expof10);
+      else
+	snprintf(dispstring,MAX_DISPLAY_MARKUP,"<span font_desc=\"48\" >%.*g</span>",MAX_DISPLAY_CHARS,v);
+    }
   } else {
     /* We display entered value including trailing 0s */
     if (the_state.decimal_point == TRUE)
@@ -144,7 +168,7 @@
   calc_debug("n_digits = %i  n_fractional = %i  dec_point = %i", the_state.n_digits, the_state.n_fractional, the_state.decimal_point);
   calc_debug(dispstring);
 #endif
-	  
+
   gtk_label_set_markup(GTK_LABEL(displayed_label), dispstring);
 }
 





More information about the commitlog mailing list