summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-10-18 09:11:11 +0200
committerlouis <louis.braun@gmx.de>2014-10-18 09:11:11 +0200
commita9f7a65578ea5ea1017d377d623c1171a33d67d3 (patch)
tree0f7f8cdf9d821456d2c0ecda4dd4fb07e355ed8f
parentdf57e20e06a4274e5cf0d98b05d33701e24842a9 (diff)
downloadvdr-plugin-skindesigner-a9f7a65578ea5ea1017d377d623c1171a33d67d3.tar.gz
vdr-plugin-skindesigner-a9f7a65578ea5ea1017d377d623c1171a33d67d3.tar.bz2
added setup option to choose Menu Item display method
-rw-r--r--HISTORY1
-rw-r--r--config.c4
-rw-r--r--config.h2
-rw-r--r--displaymenu.c18
-rw-r--r--libcore/pixmapcontainer.c2
-rw-r--r--po/de_DE.po11
-rw-r--r--setup.c5
-rw-r--r--setup.h3
8 files changed, 37 insertions, 9 deletions
diff --git a/HISTORY b/HISTORY
index 0c87141..2a52538 100644
--- a/HISTORY
+++ b/HISTORY
@@ -23,3 +23,4 @@ Version 0.0.2
- added vps token in menudetailepg
- implemented cSDDisplayMenu::GetTextAreaFont()
- introduced new viewelement audioinfo in displaychannel
+- added setup option to choose Menu Item display method between "at one go" and "after one another"
diff --git a/config.c b/config.c
index 4deb57a..2f88ac5 100644
--- a/config.c
+++ b/config.c
@@ -20,6 +20,9 @@ cDesignerConfig::cDesignerConfig() {
rerunAmount = 10;
rerunDistance = 2;
rerunMaxChannel = 0;
+ //menu display style, display menu items
+ //one after each other or in one step
+ blockFlush = 1;
}
cDesignerConfig::~cDesignerConfig() {
@@ -114,6 +117,7 @@ bool cDesignerConfig::SetupParse(const char *Name, const char *Value) {
else if (!strcasecmp(Name, "RerunAmount")) rerunAmount = atoi(Value);
else if (!strcasecmp(Name, "RerunDistance")) rerunDistance = atoi(Value);
else if (!strcasecmp(Name, "RerunMaxChannel")) rerunMaxChannel = atoi(Value);
+ else if (!strcasecmp(Name, "BlockFlush")) blockFlush = atoi(Value);
else return false;
return true;
}
diff --git a/config.h b/config.h
index 171ce9b..afb6e17 100644
--- a/config.h
+++ b/config.h
@@ -46,7 +46,9 @@ public:
int rerunAmount;
int rerunDistance;
int rerunMaxChannel;
+ int blockFlush;
};
+
#ifdef DEFINE_CONFIG
bool firstDisplay = true;
cDesignerConfig config;
diff --git a/displaymenu.c b/displaymenu.c
index d452dbf..c029174 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -79,7 +79,8 @@ bool cSDDisplayMenu::SetItemEvent(const cEvent *Event, int Index, bool Current,
return true;
if (!rootView->SubViewAvailable())
return false;
- rootView->LockFlush();
+ if (config.blockFlush)
+ rootView->LockFlush();
if (Current) {
if (Channel) {
rootView->SetChannel(Channel);
@@ -101,7 +102,8 @@ bool cSDDisplayMenu::SetItemTimer(const cTimer *Timer, int Index, bool Current,
return true;
if (!rootView->SubViewAvailable())
return false;
- rootView->LockFlush();
+ if (config.blockFlush)
+ rootView->LockFlush();
cDisplayMenuListView *list = rootView->GetListView();
if (!list)
return false;
@@ -116,7 +118,8 @@ bool cSDDisplayMenu::SetItemChannel(const cChannel *Channel, int Index, bool Cur
return true;
if (!rootView->SubViewAvailable())
return false;
- rootView->LockFlush();
+ if (config.blockFlush)
+ rootView->LockFlush();
cDisplayMenuListView *list = rootView->GetListView();
if (!list)
return false;
@@ -131,7 +134,8 @@ bool cSDDisplayMenu::SetItemRecording(const cRecording *Recording, int Index, bo
return true;
if (!rootView->SubViewAvailable())
return false;
- rootView->LockFlush();
+ if (config.blockFlush)
+ rootView->LockFlush();
cDisplayMenuListView *list = rootView->GetListView();
if (!list)
return false;
@@ -148,7 +152,8 @@ void cSDDisplayMenu::SetItem(const char *Text, int Index, bool Current, bool Sel
if (!list) {
return;
}
- rootView->LockFlush();
+ if (config.blockFlush)
+ rootView->LockFlush();
eMenuCategory cat = MenuCategory();
if (cat == mcMain) {
list->AddMainMenuItem(Index, Text, Current, Selectable);
@@ -243,7 +248,8 @@ void cSDDisplayMenu::Flush(void) {
}
}
if (doFlush) {
- rootView->OpenFlush();
+ if (config.blockFlush)
+ rootView->OpenFlush();
rootView->DoFlush();
}
state = vsIdle;
diff --git a/libcore/pixmapcontainer.c b/libcore/pixmapcontainer.c
index 6329638..4ee651a 100644
--- a/libcore/pixmapcontainer.c
+++ b/libcore/pixmapcontainer.c
@@ -56,7 +56,7 @@ bool cPixmapContainer::CreateOsd(int Left, int Top, int Width, int Height) {
return false;
}
-void cPixmapContainer::LockFlush(void) {
+void cPixmapContainer::LockFlush(void) {
flushState = fsLock;
}
diff --git a/po/de_DE.po b/po/de_DE.po
index 172d3fd..6f131e3 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-skindesigner 0.0.1\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-10-11 07:12+0200\n"
+"POT-Creation-Date: 2014-10-18 07:30+0200\n"
"PO-Revision-Date: 2014-09-27 11:02+0200\n"
"Last-Translator: Louis Braun <louis.braun@gmx.de>\n"
"Language-Team: \n"
@@ -15,6 +15,15 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
+msgid "after one another"
+msgstr "eines nach dem anderen"
+
+msgid "at one go"
+msgstr "alle auf einmal"
+
+msgid "Menu Item display method"
+msgstr "Art der Ausgabe der MenĂ¼elemente"
+
msgid "Reruns"
msgstr "Wiederholungen"
diff --git a/setup.c b/setup.c
index bad237a..20796c5 100644
--- a/setup.c
+++ b/setup.c
@@ -2,6 +2,8 @@
cSkinDesignerSetup::cSkinDesignerSetup() {
data = config;
+ menuDisplayStyle[0] = tr("after one another");
+ menuDisplayStyle[1] = tr("at one go");
Setup();
}
@@ -13,6 +15,8 @@ void cSkinDesignerSetup::Setup(void) {
int current = Current();
Clear();
+ Add(new cMenuEditStraItem(tr("Menu Item display method"), &data.blockFlush, 2, menuDisplayStyle));
+
cString message = cString::sprintf("---------------- %s ----------------", tr("Reruns"));
Add(new cOsdItem(*message));
cList<cOsdItem>::Last()->SetSelectable(false);
@@ -91,4 +95,5 @@ void cSkinDesignerSetup::Store(void) {
SetupStore("RerunAmount", config.rerunAmount);
SetupStore("RerunDistance", config.rerunDistance);
SetupStore("RerunMaxChannel", config.rerunMaxChannel);
+ SetupStore("BlockFlush", config.blockFlush);
} \ No newline at end of file
diff --git a/setup.h b/setup.h
index ea9bf13..627f173 100644
--- a/setup.h
+++ b/setup.h
@@ -8,7 +8,8 @@ class cSkinDesignerSetup : public cMenuSetupPage {
cSkinDesignerSetup(void);
virtual ~cSkinDesignerSetup();
private:
- cDesignerConfig data;
+ cDesignerConfig data;
+ const char *menuDisplayStyle[2];
void Setup(void);
virtual eOSState ProcessKey(eKeys Key);
virtual void Store(void);