summaryrefslogtreecommitdiff
path: root/menuitems.c
diff options
context:
space:
mode:
Diffstat (limited to 'menuitems.c')
-rw-r--r--menuitems.c39
1 files changed, 38 insertions, 1 deletions
diff --git a/menuitems.c b/menuitems.c
index e60956c0..449f2fe9 100644
--- a/menuitems.c
+++ b/menuitems.c
@@ -4,10 +4,12 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: menuitems.c,v 1.6 2007-05-17 16:13:23 phintuka Exp $
+ * $Id: menuitems.c,v 1.7 2007-05-17 21:41:52 phintuka Exp $
*
*/
+#include <math.h>
+
#include <vdr/i18n.h>
#include "menuitems.h"
@@ -46,7 +48,9 @@ void cMenuEditTypedIntItem::Set(void)
SetValue(buf);
}
}
+
// --- cMenuEditOddIntItem ------------------------------------------------------
+
cMenuEditOddIntItem::cMenuEditOddIntItem(const char *Name, int *Value, int Min, int Max, const char *MinString, const char *MaxString)
:cMenuEditIntItem(Name,Value,Min,Max,MinString,MaxString)
{
@@ -98,6 +102,39 @@ eOSState cMenuEditOddIntItem::ProcessKey(eKeys Key)
return state;
}
+// --- cMenuEditFpIntItem ----------------------------------------------------
+
+cMenuEditFpIntItem::cMenuEditFpIntItem(const char *Name, int *Value, int Min, int Max,
+ int Decimals, const char *ZeroString,
+ const char *MinString, const char *MaxString)
+:cMenuEditIntItem(Name,Value,Min,Max,MinString,MaxString)
+{
+ decimals = Decimals;
+ zeroString = ZeroString ? strdup(ZeroString) : NULL;
+ Set();
+}
+
+cMenuEditFpIntItem::~cMenuEditFpIntItem()
+{
+ if(zeroString)
+ free(zeroString);
+}
+
+void cMenuEditFpIntItem::Set(void)
+{
+ char buf[64];
+ if(zeroString && *value == 0)
+ SetValue(zeroString);
+ else if (minString && *value == min)
+ SetValue(minString);
+ else if (maxString && *value == max)
+ SetValue(maxString);
+ else {
+ snprintf(buf, sizeof(buf), "%1.1f", ((float)(*value)) / exp10f(decimals));
+ SetValue(buf);
+ }
+}
+
// --- cMenuEditStraI18nItem -------------------------------------------------
cMenuEditStraI18nItem::cMenuEditStraI18nItem(const char *Name, int *Value, int NumStrings, const char * const *Strings)