summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2014-12-10 19:04:58 +0100
committerMartin Schirrmacher <vdr.skinflatplus@schirrmacher.eu>2014-12-10 19:04:58 +0100
commit7f3be15fd4f9189bffeba6f7ce9b04b05e7369e8 (patch)
tree27ec63647bda92c09a8221fb7f6a399c478f9e49
parent03438a82e284cfd458954de53cca44af6e3fe1ee (diff)
downloadskin-flatplus-7f3be15fd4f9189bffeba6f7ce9b04b05e7369e8.tar.gz
skin-flatplus-7f3be15fd4f9189bffeba6f7ce9b04b05e7369e8.tar.bz2
fix,update timer widget
-rw-r--r--HISTORY3
-rw-r--r--config.c4
-rw-r--r--config.h2
-rw-r--r--displaymenu.c87
-rw-r--r--po/de_DE.po36
-rw-r--r--setup.c20
6 files changed, 104 insertions, 48 deletions
diff --git a/HISTORY b/HISTORY
index 048714c1..7469c30f 100644
--- a/HISTORY
+++ b/HISTORY
@@ -3,6 +3,9 @@ VDR Plugin 'skinflatplus' Revision History
2014-XX-XX: Version 0.5.1
- [fix] topbar number recordings
+- [fix] timer widget
+- [update] timer widget
+ new options to select which timer to show (recording, active)
2014-12-04: Version 0.5.0
- [fix] femon receiver - do not get data from previous channel
diff --git a/config.c b/config.c
index 1018fab1..0e827820 100644
--- a/config.c
+++ b/config.c
@@ -91,6 +91,8 @@ cFlatConfig::cFlatConfig(void) {
MainMenuWidgetActiveTimerPosition = 3;
MainMenuWidgetActiveTimerMaxCount = 2;
MainMenuWidgetActiveTimerHideEmpty = false;
+ MainMenuWidgetActiveTimerShowActive = true;
+ MainMenuWidgetActiveTimerShowRecording = true;
MainMenuWidgetLastRecShow = false;
MainMenuWidgetLastRecPosition = 4;
@@ -359,6 +361,8 @@ bool cFlatConfig::SetupParse(const char *Name, const char *Value) {
else if (strcmp(Name, "RecordingDimmOnPause") == 0) RecordingDimmOnPause = atoi(Value);
else if (strcmp(Name, "RecordingDimmOnPauseDelay") == 0) RecordingDimmOnPauseDelay = atoi(Value);
else if (strcmp(Name, "RecordingDimmOnPauseOpaque") == 0) RecordingDimmOnPauseOpaque = atoi(Value);
+ else if (strcmp(Name, "MainMenuWidgetActiveTimerShowActive") == 0) MainMenuWidgetActiveTimerShowActive = atoi(Value);
+ else if (strcmp(Name, "MainMenuWidgetActiveTimerShowRecording") == 0) MainMenuWidgetActiveTimerShowRecording = atoi(Value);
else return false;
diff --git a/config.h b/config.h
index 0e3381e8..fdbeb48c 100644
--- a/config.h
+++ b/config.h
@@ -270,6 +270,8 @@ class cFlatConfig
int MainMenuWidgetActiveTimerShow;
int MainMenuWidgetActiveTimerPosition;
int MainMenuWidgetActiveTimerMaxCount;
+ int MainMenuWidgetActiveTimerShowActive;
+ int MainMenuWidgetActiveTimerShowRecording;
int MainMenuWidgetActiveTimerHideEmpty;
int MainMenuWidgetLastRecShow;
diff --git a/displaymenu.c b/displaymenu.c
index 07ce4f17..670e5617 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -4096,46 +4096,79 @@ int cFlatDisplayMenu::DrawMainMenuWidgetActiveTimers(int wLeft, int wWidth, int
if( img ) {
contentWidget.AddImage(img, cRect(marginItem, ContentTop + marginItem, fontHeight, fontHeight));
}
- contentWidget.AddText(tr("Active Timer"), false, cRect(marginItem*2 + fontHeight, ContentTop, 0, 0), Theme.Color(clrMenuEventFontTitle), Theme.Color(clrMenuEventBg), font);
+ contentWidget.AddText(tr("Timer"), false, cRect(marginItem*2 + fontHeight, ContentTop, 0, 0), Theme.Color(clrMenuEventFontTitle), Theme.Color(clrMenuEventBg), font);
ContentTop += fontHeight;
contentWidget.AddRect(cRect(0, ContentTop, wWidth, 3), Theme.Color(clrMenuEventTitleLine));
ContentTop += 6;
// look for timers
- time_t t;
- time(&t);
- int index = 0, numRec = 0;
- for(cTimer *ti = Timers.First(); ti && index < Config.MainMenuWidgetActiveTimerMaxCount; ti = Timers.Next(ti), index++) {
- if( ti->Matches(t) && ti->HasFlags(tfRecording) ) {
+ int numRec = 0, numActive = 0;
+ for(cTimer *ti = Timers.First(); ti; ti = Timers.Next(ti) ) {
+ if( ti->HasFlags(tfRecording) && Config.MainMenuWidgetActiveTimerShowRecording )
numRec++;
- }
+ if( ti->HasFlags(tfActive) && Config.MainMenuWidgetActiveTimerShowActive )
+ numActive++;
+
+ if( numRec + numActive >= Config.MainMenuWidgetActiveTimerMaxCount )
+ break;
}
- if( numRec == 0 && Config.MainMenuWidgetActiveTimerHideEmpty )
+ if( (numRec == 0 && numActive == 0) && Config.MainMenuWidgetActiveTimerHideEmpty )
return 0;
- else if( numRec == 0 ) {
- contentWidget.AddText(tr("no active timer"), false, cRect(marginItem, ContentTop, wWidth - marginItem*2, fontSmlHeight),
+ else if( numRec == 0 && numActive == 0 ) {
+ contentWidget.AddText(tr("no active/recording timer"), false, cRect(marginItem, ContentTop, wWidth - marginItem*2, fontSmlHeight),
Theme.Color(clrMenuEventFontInfo), Theme.Color(clrMenuEventBg), fontSml, wWidth - marginItem*2);
} else {
- index = 0;
- for(cTimer *ti = Timers.First(); ti && index < Config.MainMenuWidgetActiveTimerMaxCount; ti = Timers.Next(ti), index++) {
- if( ti->Matches(t) && ti->HasFlags(tfActive) ) {
- if( ContentTop + marginItem > menuPixmap->ViewPort().Height() )
- continue;
+ int count = -1;
+ // first recording timer
+ if( Config.MainMenuWidgetActiveTimerShowRecording ) {
+ for(cTimer *ti = Timers.First(); ti; ti = Timers.Next(ti)) {
+ if( ti->HasFlags(tfRecording) ) {
+ count++;
+ if( ContentTop + marginItem > menuPixmap->ViewPort().Height() )
+ break;
+ if( count >= Config.MainMenuWidgetActiveTimerMaxCount )
+ break;
+ const cChannel *Channel = ti->Channel();
+ //const cEvent *Event = Timer->Event();
+ std::stringstream strTimer;
+ strTimer << count+1 << ": ";
+ if( Channel )
+ strTimer << Channel->Name() << " - ";
+ else
+ strTimer << tr("Unknown") << " - ";
+ strTimer << ti->File();
- const cChannel *Channel = ti->Channel();
- //const cEvent *Event = Timer->Event();
- std::stringstream strTimer;
- strTimer << index+1 << ": ";
- if( Channel )
- strTimer << Channel->Name() << " - ";
- else
- strTimer << tr("Unknown") << " - ";
- strTimer << ti->File();
+ contentWidget.AddText(strTimer.str().c_str(), false, cRect(marginItem, ContentTop, wWidth - marginItem*2, fontSmlHeight),
+ Theme.Color(clrTopBarRecordingActiveFg), Theme.Color(clrMenuEventBg), fontSml, wWidth - marginItem*2);
- contentWidget.AddText(strTimer.str().c_str(), false, cRect(marginItem, ContentTop, wWidth - marginItem*2, fontSmlHeight),
- Theme.Color(clrMenuEventFontInfo), Theme.Color(clrMenuEventBg), fontSml, wWidth - marginItem*2);
+ ContentTop += fontSmlHeight;
+ }
+ }
+ }
+ if( Config.MainMenuWidgetActiveTimerShowActive ) {
+ for(cTimer *ti = Timers.First(); ti; ti = Timers.Next(ti)) {
+ if( ti->HasFlags(tfActive) && !ti->HasFlags(tfRecording) ) {
+ count++;
+ if( ContentTop + marginItem > menuPixmap->ViewPort().Height() )
+ break;
+ if( count >= Config.MainMenuWidgetActiveTimerMaxCount )
+ break;
- ContentTop += fontSmlHeight;
+ const cChannel *Channel = ti->Channel();
+ //const cEvent *Event = Timer->Event();
+ std::stringstream strTimer;
+ strTimer << count+1 << ": ";
+ if( Channel )
+ strTimer << Channel->Name() << " - ";
+ else
+ strTimer << tr("Unknown") << " - ";
+ strTimer << ti->File();
+
+ contentWidget.AddText(strTimer.str().c_str(), false, cRect(marginItem, ContentTop, wWidth - marginItem*2, fontSmlHeight),
+ Theme.Color(clrMenuEventFontInfo), Theme.Color(clrMenuEventBg), fontSml, wWidth - marginItem*2);
+
+ ContentTop += fontSmlHeight;
+ }
}
}
}
diff --git a/po/de_DE.po b/po/de_DE.po
index 0dc5b878..e861c350 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-skinflat 0.5.0\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-11-30 16:17+0100\n"
+"POT-Creation-Date: 2014-12-10 19:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -150,11 +150,11 @@ msgstr "Nimmt auf"
msgid "not used"
msgstr "Nicht verwendet"
-msgid "Active Timer"
-msgstr "Aktive Timer"
+msgid "Timer"
+msgstr "Timer"
-msgid "no active timer"
-msgstr "Keine aktiven Timer"
+msgid "no active/recording timer"
+msgstr "keine aktiven/aufnehmenden Timer"
msgid "Last Recordings"
msgstr "Letzte Aufnahmen"
@@ -807,20 +807,26 @@ msgstr "DVB Geräte-Widget: Unbekannt ausblenden"
msgid "Widget DVB devices: don't show not used"
msgstr "DVB Geräte-Widget: Nicht verw. ausblenden"
-msgid "Widget active timer"
-msgstr "Aktive Timer-Widget"
+msgid "Widget timer"
+msgstr "Timer-Widget"
-msgid "Widget active timer: enable"
-msgstr "Aktive Timer-Widget: Anzeigen"
+msgid "Widget timer: enable"
+msgstr "Timer-Widget: Anzeigen"
-msgid "Widget active timer: position"
-msgstr "Aktive Timer-Widget: Position"
+msgid "Widget timer: position"
+msgstr "Timer-Widget: Position"
-msgid "Widget active timer: max show"
-msgstr "Aktive Timer-Widget: Zeige max."
+msgid "Widget timer: show recording timer"
+msgstr "Timer-Widget: zeige aufnehmende Timer"
-msgid "Widget active timer: hide if empty"
-msgstr "Aktive Timer-Widget: Verstecken wenn Leer"
+msgid "Widget timer: show active timer"
+msgstr "Timer-Widget: zeige aktive Timer"
+
+msgid "Widget timer: max show"
+msgstr "Timer-Widget: Zeige max."
+
+msgid "Widget timer: hide if empty"
+msgstr "Timer-Widget: Verstecken wenn Leer"
msgid "Widget last recordings"
msgstr "Letzte Aufnahmen-Widget"
diff --git a/setup.c b/setup.c
index b9f8f58c..aece129e 100644
--- a/setup.c
+++ b/setup.c
@@ -318,6 +318,8 @@ void cFlatSetup::Store(void) {
SetupStore("RecordingDimmOnPause", Config.RecordingDimmOnPause);
SetupStore("RecordingDimmOnPauseDelay", Config.RecordingDimmOnPauseDelay);
SetupStore("RecordingDimmOnPauseOpaque", Config.RecordingDimmOnPauseOpaque);
+ SetupStore("MainMenuWidgetActiveTimerShowActive", Config.MainMenuWidgetActiveTimerShowActive);
+ SetupStore("MainMenuWidgetActiveTimerShowRecording", Config.MainMenuWidgetActiveTimerShowRecording);
Config.Init();
}
@@ -501,6 +503,8 @@ bool cFlatSetupGeneral::SetupParse(const char *Name, const char *Value) {
else if (strcmp(Name, "RecordingDimmOnPause") == 0) SetupConfig->RecordingDimmOnPause = atoi(Value);
else if (strcmp(Name, "RecordingDimmOnPauseDelay") == 0) SetupConfig->RecordingDimmOnPauseDelay = atoi(Value);
else if (strcmp(Name, "RecordingDimmOnPauseOpaque") == 0) SetupConfig->RecordingDimmOnPauseOpaque = atoi(Value);
+ else if (strcmp(Name, "MainMenuWidgetActiveTimerShowActive") == 0) SetupConfig->MainMenuWidgetActiveTimerShowActive = atoi(Value);
+ else if (strcmp(Name, "MainMenuWidgetActiveTimerShowRecording") == 0) SetupConfig->MainMenuWidgetActiveTimerShowRecording = atoi(Value);
else return false;
return true;
@@ -666,6 +670,8 @@ void cFlatSetupGeneral::SaveCurrentSettings(void) {
Config.Store("RecordingDimmOnPause", SetupConfig->RecordingDimmOnPause, *Filename);
Config.Store("RecordingDimmOnPauseDelay", SetupConfig->RecordingDimmOnPauseDelay, *Filename);
Config.Store("RecordingDimmOnPauseOpaque", SetupConfig->RecordingDimmOnPauseOpaque, *Filename);
+ Config.Store("MainMenuWidgetActiveTimerShowActive", SetupConfig->MainMenuWidgetActiveTimerShowActive, *Filename);
+ Config.Store("MainMenuWidgetActiveTimerShowRecording", SetupConfig->MainMenuWidgetActiveTimerShowRecording, *Filename);
cString msg = cString::sprintf("%s %s", tr("saved settings in file:"), *File);
Skins.Message(mtInfo, msg);
@@ -1283,12 +1289,14 @@ void cFlatSetupMMWidget::Setup(void) {
Add(new cMenuEditBoolItem(tr("Widget DVB devices: don't show not used"), &SetupConfig->MainMenuWidgetDVBDevicesDiscardNotUsed));
}
- Add(new cOsdItem(tr("Widget active timer"), osUnknown, false));
- Add(new cMenuEditBoolItem(tr("Widget active timer: enable"), &SetupConfig->MainMenuWidgetActiveTimerShow));
+ Add(new cOsdItem(tr("Widget timer"), osUnknown, false));
+ Add(new cMenuEditBoolItem(tr("Widget timer: enable"), &SetupConfig->MainMenuWidgetActiveTimerShow));
if( SetupConfig->MainMenuWidgetActiveTimerShow ) {
- Add(new cMenuEditIntItem(tr("Widget active timer: position"), &SetupConfig->MainMenuWidgetActiveTimerPosition));
- Add(new cMenuEditIntItem(tr("Widget active timer: max show"), &SetupConfig->MainMenuWidgetActiveTimerMaxCount));
- Add(new cMenuEditBoolItem(tr("Widget active timer: hide if empty"), &SetupConfig->MainMenuWidgetActiveTimerHideEmpty));
+ Add(new cMenuEditIntItem(tr("Widget timer: position"), &SetupConfig->MainMenuWidgetActiveTimerPosition));
+ Add(new cMenuEditBoolItem(tr("Widget timer: show recording timer"), &SetupConfig->MainMenuWidgetActiveTimerShowRecording));
+ Add(new cMenuEditBoolItem(tr("Widget timer: show active timer"), &SetupConfig->MainMenuWidgetActiveTimerShowActive));
+ Add(new cMenuEditIntItem(tr("Widget timer: max show"), &SetupConfig->MainMenuWidgetActiveTimerMaxCount));
+ Add(new cMenuEditBoolItem(tr("Widget timer: hide if empty"), &SetupConfig->MainMenuWidgetActiveTimerHideEmpty));
}
Add(new cOsdItem(tr("Widget last recordings"), osUnknown, false));
@@ -1354,7 +1362,7 @@ eOSState cFlatSetupMMWidget::ProcessKey(eKeys Key) {
if( strstr(ItemText, tr("Enable main menu widgets")) != NULL ||
strstr(ItemText, tr("Widget weather: enable")) != NULL ||
strstr(ItemText, tr("Widget DVB devices: enable")) != NULL ||
- strstr(ItemText, tr("Widget active timer: enable")) != NULL ||
+ strstr(ItemText, tr("Widget timer: enable")) != NULL ||
strstr(ItemText, tr("Widget last recordings: enable")) != NULL ||
strstr(ItemText, tr("Widget timer conflicts: enable")) != NULL ||
strstr(ItemText, tr("Widget system information: enable")) != NULL ||