20 #define AUTO_ADVANCE_TIMEOUT 1500 // ms before auto advance when entering characters via numeric keys 22 const char *
FileNameChars =
trNOOP(
"FileNameChars$ abcdefghijklmnopqrstuvwxyz0123456789-.,#~\\^$[]|()*+?{}/:%@&");
28 name = strdup(Name ? Name :
"???");
90 snprintf(buf,
sizeof(buf),
"%d", *
value);
100 int newValue = *
value;
110 newValue = newValue * 10 + (Key -
k0);
113 newValue = *
value - 1;
115 if (!IsRepeat && newValue <
min &&
max != INT_MAX)
119 newValue = *
value + 1;
121 if (!IsRepeat && newValue >
max &&
min != INT_MIN)
205 int l = strlen(
value);
211 int l = strlen(
value);
218 default:
return state;
280 while (Decimals-- > 0)
310 newValue = newValue * 10 + (Key -
k0);
341 allowed = strdup(Allowed ? Allowed :
"");
419 const char *charMap =
tr(
"CharMap$ 0\t-.,1#~\\^$[]|()*+?{}/:%@&\tabc2\tdef3\tghi4\tjkl5\tmno6\tpqrs7\ttuv8\twxyz9");
420 l = strlen(charMap) + 1;
451 SetHelp(
tr(
"Button$ABC/abc"),
insert ?
tr(
"Button$Overwrite") :
tr(
"Button$Insert"),
tr(
"Button$Delete"));
490 if (!font || font->
Width(
"W") != 1)
494 width -= font->
Width(
"[]");
495 width -= font->
Width(
"<>");
499 int WidthFromOffset = 0;
503 if (WidthFromOffset > width) {
508 }
while (WidthFromOffset > width &&
offset <
pos);
551 while (*p && *(p + 1))
825 snprintf(buf,
sizeof(buf),
"%d %s", *
value, Channel ? Channel->
Name() :
"");
843 case kLeft: delta = -1;
848 const cChannel *Channel = Channels->GetByNumber(*
value + delta, delta);
850 *
value = Channel->Number();
854 *
channelID = Channel ? Channel->GetChannelID().ToString() :
"";
872 const cChannel *Channel = Channels->First();
878 Channel = Channels->
Next(Channel);
888 *
source = Channel->Source();
933 for (
unsigned int i = 0; i <
sizeof(
days) /
sizeof(
int); i++)
934 if (WeekDays ==
days[i])
941 #define DATEBUFFERSIZE 32 949 localtime_r(
value, &tm_r);
983 time_t now = time(NULL);
1032 else if (
k1 <= Key && Key <=
k7) {
1078 if (
k0 <= Key && Key <=
k9) {
1085 case 0:
if (n <= 2) {
1091 case 1:
if (
hh + n <= 23) {
1096 case 2:
if (n <= 5) {
1101 case 3:
if (
mm + n <= 59) {
1147 const char *s = NULL;
1156 snprintf(buf,
sizeof(buf),
"%d", n);
1169 int newValue = *
value;
1176 if (
map[++n].userValue >= 0)
1181 if (newValue != *
value) {
static void MsgOsdCurrentItem(const char *Text)
static tChannelID FromString(const char *s)
static cString sprintf(const char *fmt,...) __attribute__((format(printf
void SetupStore(const char *Name, const char *Value=NULL)
static cSkinDisplay * Current(void)
Returns the currently active cSkinDisplay.
static void MsgOsdHelpKeys(const char *Red, const char *Green, const char *Yellow, const char *Blue)
virtual void SetButtons(const char *Red, const char *Green=NULL, const char *Yellow=NULL, const char *Blue=NULL)
Sets the color buttons to the given strings, provided this cSkinDisplay actually has a color button d...
static time_t SetTime(time_t t, int SecondsFromMidnight)
int Transponder(void) const
Returns the transponder frequency in MHz, plus the polarization in case of sat.
#define ISTRANSPONDER(f1, f2)
cString ToString(void) const
#define LOCK_CHANNELS_READ
int MapToUser(int Value, const tDvbParameterMap *Map, const char **String)
bool GroupSep(void) const
void SetText(const char *Text, bool Copy=true)
int DriverIndex(int Value, const tDvbParameterMap *Map)
int Find(const char *s) const
static int GetWDay(time_t t)
virtual eOSState ProcessKey(eKeys Key)
const char * Name(void) const
virtual int Width(void) const =0
Returns the original character width as requested when the font was created, or 0 if the default widt...
tChannelID GetChannelID(void) const
cListObject * Next(void) const
static bool ParseDay(const char *s, time_t &Day, int &WeekDays)
static const cFont * GetFont(eDvbFont Font)
Gets the given Font, which was previously set by a call to SetFont().
static cString PrintDay(time_t Day, int WeekDays, bool SingleByteChars)
bool TimedOut(void) const