diff options
author | louis <louis.braun@gmx.de> | 2013-06-01 11:08:17 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2013-06-01 11:08:17 +0200 |
commit | 10c1a1d8cec7772a2e8975bc8a7c580ecdd19955 (patch) | |
tree | 95a2a29abcc52bca8b2bc1a69cd74d6a3ebfcf26 | |
parent | daac1abd7dc229f4f8ce8b727658fe18a191083a (diff) | |
download | vdr-plugin-tvguide-10c1a1d8cec7772a2e8975bc8a7c580ecdd19955.tar.gz vdr-plugin-tvguide-10c1a1d8cec7772a2e8975bc8a7c580ecdd19955.tar.bz2 |
Added setup option to switch functionality of keys Blue and OK
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | config.c | 2 | ||||
-rw-r--r-- | config.h | 1 | ||||
-rw-r--r-- | footer.c | 6 | ||||
-rwxr-xr-x | po/de_DE.po | 14 | ||||
-rw-r--r-- | setup.c | 4 | ||||
-rw-r--r-- | setup.h | 1 | ||||
-rw-r--r-- | tvguideosd.c | 50 | ||||
-rw-r--r-- | tvguideosd.h | 4 |
9 files changed, 64 insertions, 19 deletions
@@ -40,3 +40,4 @@ VDR Plugin 'tvguide' Revision History - Display of Main Menu Entry configurable - Eliminated setup option "Number of channels to jump", directly jump number of channel columns / rows with green / yellow +- Added setup option to switch functionality of keys "Blue" and "OK" @@ -46,6 +46,7 @@ cTvguideConfig::cTvguideConfig() { hugeStepHours = 24;
channelJumpMode = eNumJump;
jumpChannels = 0;
+ blueKeyMode = 0;
hideLastGroup = 0;
hideChannelLogos = 0;
logoWidthRatio = 13;
@@ -254,6 +255,7 @@ bool cTvguideConfig::SetupParse(const char *Name, const char *Value) { else if (strcmp(Name, "bigStepHours") == 0) bigStepHours = atoi(Value);
else if (strcmp(Name, "hugeStepHours") == 0) hugeStepHours = atoi(Value);
else if (strcmp(Name, "channelJumpMode") == 0) channelJumpMode = atoi(Value);
+ else if (strcmp(Name, "blueKeyMode") == 0) blueKeyMode = atoi(Value);
else if (strcmp(Name, "hideLastGroup") == 0) hideLastGroup = atoi(Value);
else if (strcmp(Name, "hideEpgImages") == 0) hideEpgImages = atoi(Value);
else if (strcmp(Name, "epgImageWidth") == 0) epgImageWidth = atoi(Value);
@@ -46,6 +46,7 @@ class cTvguideConfig { int hugeStepHours;
int channelJumpMode;
int jumpChannels;
+ int blueKeyMode;
int hideLastGroup;
int hideChannelLogos;
int logoWidthRatio;
@@ -63,7 +63,11 @@ void cFooter::drawYellowButton(const char *text) { }
void cFooter::drawBlueButton() {
- cString text(tr("Switch to Channel"));
+ cString text;
+ if (tvguideConfig.blueKeyMode == 0)
+ text = tr("Switch to Channel");
+ else if (tvguideConfig.blueKeyMode == 1)
+ text = tr("Detailed EPG");
DrawButton(*text, theme.Color(clrButtonBlue), theme.Color(clrButtonBlueBorder), 3);
}
diff --git a/po/de_DE.po b/po/de_DE.po index 08111c9..f59fad3 100755 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr-tvguide 0.0.1\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2013-06-01 10:39+0200\n" +"POT-Creation-Date: 2013-06-01 11:02+0200\n" "PO-Revision-Date: 2012-08-25 17:49+0200\n" "Last-Translator: Horst\n" "Language-Team: \n" @@ -33,6 +33,9 @@ msgstr "Kanäle vor" msgid "Switch to Channel" msgstr "Umschalten" +msgid "Detailed EPG" +msgstr "Detailiertes EPG" + msgid "General Settings" msgstr "Allgemeine Einstellungen" @@ -48,6 +51,12 @@ msgstr "x Kanäle zurück / vor" msgid "previous / next channel group" msgstr "vorherige / nächste Kanalgruppe" +msgid "Blue: Channel Switch, Ok: Detailed EPG" +msgstr "Blau: Umschalten, OK: Detailiertes EPG" + +msgid "Blue: Detailed EPG, Ok: Channel Switch" +msgstr "Blau: Detailiertes EPG, OK: Umschalten" + msgid "never" msgstr "nie" @@ -69,6 +78,9 @@ msgstr "Abgerundete Ecken" msgid "Channel Jump Mode (Keys Green / Yellow)" msgstr "Kanalsprung Modus (Tasten grün / gelb)" +msgid "Keys Blue and OK" +msgstr "Tasten Blau und OK" + msgid "Hide last Channel Group" msgstr "Letzte Kanalgruppe verstecken" @@ -62,6 +62,7 @@ void cTvguideSetup::Store(void) { SetupStore("bigStepHours", tvguideConfig.bigStepHours); SetupStore("hugeStepHours", tvguideConfig.hugeStepHours); SetupStore("channelJumpMode", tvguideConfig.channelJumpMode); + SetupStore("blueKeyMode", tvguideConfig.blueKeyMode); SetupStore("hideLastGroup", tvguideConfig.hideLastGroup); SetupStore("hideChannelLogos", tvguideConfig.hideChannelLogos); SetupStore("logoExtension", tvguideConfig.logoExtension); @@ -135,6 +136,8 @@ cMenuSetupGeneral::cMenuSetupGeneral(cTvguideConfig* data) : cMenuSetupSubMenu( timeFormatItems[1] = "24h"; jumpMode[0] = tr("x channels back / forward"); jumpMode[1] = tr("previous / next channel group"); + blueMode[0] = tr("Blue: Channel Switch, Ok: Detailed EPG"); + blueMode[1] = tr("Blue: Detailed EPG, Ok: Channel Switch"); useSubtitleRerunTexts[0] = tr("never"); useSubtitleRerunTexts[1] = tr("if exists"); useSubtitleRerunTexts[2] = tr("always"); @@ -151,6 +154,7 @@ void cMenuSetupGeneral::Set(void) { Add(new cMenuEditBoolItem(tr("Rounded Corners"), &tmpTvguideConfig->roundedCorners)); Add(new cMenuEditStraItem(tr("Channel Jump Mode (Keys Green / Yellow)"), &tmpTvguideConfig->channelJumpMode, 2, jumpMode)); + Add(new cMenuEditStraItem(tr("Keys Blue and OK"), &tmpTvguideConfig->blueKeyMode, 2, blueMode)); Add(new cMenuEditBoolItem(tr("Hide last Channel Group"), &tmpTvguideConfig->hideLastGroup)); Add(new cMenuEditIntItem(tr("Time to display in minutes"), &tmpTvguideConfig->displayTime, 120, 320)); Add(new cMenuEditIntItem(tr("Big Step (Keys 1 / 3) in hours"), &tmpTvguideConfig->bigStepHours, 1, 12)); @@ -30,6 +30,7 @@ class cMenuSetupGeneral : public cMenuSetupSubMenu { cThemes themes; const char * timeFormatItems[2]; const char * jumpMode[2]; + const char * blueMode[2]; const char *useSubtitleRerunTexts[3]; void Set(void); public: diff --git a/tvguideosd.c b/tvguideosd.c index 5da028a..5aaa128 100644 --- a/tvguideosd.c +++ b/tvguideosd.c @@ -444,21 +444,6 @@ void cTvGuideOsd::processKeyRight() { }
}
-void cTvGuideOsd::processKeyOk() {
- if (detailViewActive) {
- delete detailView;
- detailView = NULL;
- detailViewActive = false;
- osdManager.flush();
- } else {
- if (!activeGrid->isDummy()) {
- detailViewActive = true;
- detailView = new cDetailView(activeGrid);
- detailView->Start();
- }
- }
-}
-
void cTvGuideOsd::processKeyRed() {
if ((activeGrid == NULL) || activeGrid->isDummy())
return;
@@ -553,6 +538,24 @@ void cTvGuideOsd::processKeyYellow() { }
eOSState cTvGuideOsd::processKeyBlue() {
+ if (tvguideConfig.blueKeyMode == 0) {
+ return ChannelSwitch();
+ } else if (tvguideConfig.blueKeyMode == 1) {
+ DetailedEPG();
+ }
+ return osContinue;
+}
+
+eOSState cTvGuideOsd::processKeyOk() {
+ if ((tvguideConfig.blueKeyMode == 0) || detailViewActive ) {
+ DetailedEPG();
+ } else if (tvguideConfig.blueKeyMode == 1) {
+ return ChannelSwitch();
+ }
+ return osContinue;
+}
+
+eOSState cTvGuideOsd::ChannelSwitch() {
if (activeGrid == NULL)
return osContinue;
const cChannel *currentChannel = activeGrid->column->getChannel();
@@ -563,6 +566,21 @@ eOSState cTvGuideOsd::processKeyBlue() { return osContinue;
}
+void cTvGuideOsd::DetailedEPG() {
+ if (detailViewActive) {
+ delete detailView;
+ detailView = NULL;
+ detailViewActive = false;
+ osdManager.flush();
+ } else {
+ if (!activeGrid->isDummy()) {
+ detailViewActive = true;
+ detailView = new cDetailView(activeGrid);
+ detailView->Start();
+ }
+ }
+}
+
void cTvGuideOsd::processKey1() {
bool tooFarInPast = myTime->DelStep(tvguideConfig.bigStepHours*60);
if (tooFarInPast)
@@ -642,7 +660,7 @@ eOSState cTvGuideOsd::ProcessKey(eKeys Key) { case kGreen: processKeyGreen(); break;
case kYellow: processKeyYellow(); break;
case kBlue: state = processKeyBlue(); break;
- case kOk: processKeyOk(); break;
+ case kOk: state = processKeyOk(); break;
case kBack: state=osEnd; break;
case k1: processKey1(); break;
case k3: processKey3(); break;
diff --git a/tvguideosd.h b/tvguideosd.h index 0fa9de9..bc46728 100644 --- a/tvguideosd.h +++ b/tvguideosd.h @@ -26,7 +26,7 @@ private: void processKeyGreen();
void processKeyYellow();
eOSState processKeyBlue();
- void processKeyOk();
+ eOSState processKeyOk();
void processKey1();
void processKey3();
void processKey4();
@@ -40,6 +40,8 @@ private: void timeBack();
void ScrollForward();
void ScrollBack();
+ eOSState ChannelSwitch();
+ void DetailedEPG();
void dump();
public:
cTvGuideOsd(void);
|