summaryrefslogtreecommitdiff
path: root/menusetup.c
diff options
context:
space:
mode:
Diffstat (limited to 'menusetup.c')
-rw-r--r--menusetup.c222
1 files changed, 163 insertions, 59 deletions
diff --git a/menusetup.c b/menusetup.c
index ddf9613..dd98538 100644
--- a/menusetup.c
+++ b/menusetup.c
@@ -3,7 +3,7 @@
*
* See the README file for copyright information and how to reach the author.
*
- * $Id: menusetup.c 0.2 2004/10/10 12:23:20 hflor Exp $
+ * $Id: menusetup.c 0.5 2005/11/17 21:05:05 hflor Exp $
*/
#include "menusetup.h"
@@ -11,14 +11,19 @@
#include "menuundelete.h"
#include "i18n.h"
#include "vdrtools.h"
+#include "menueditkeys.h"
+#include "menunoselectitem.h"
#include <vdr/plugin.h>
+#include <vdr/interface.h>
+#include <typeinfo>
// --- cMenuSetupUndelete -------------------------------------------------------
-cMenuSetupUndelete::cMenuSetupUndelete(void)
+cMenuSetupUndelete::cMenuSetupUndelete(int FunctionToChange)
{
-#ifdef PL_Debug2
- dsyslog("%s: cMenuSetupUndelete::cMenuSetupUndelete", plugin_name);
+#ifdef UND_Debug
+ objID = ++cMenuSetupUndelete_nextID;
+ d2syslog("cMenuSetupUndelete::cMenuSetupUndelete", "%s", "");
#endif
store = false;
@@ -27,25 +32,36 @@ cMenuSetupUndelete::cMenuSetupUndelete(void)
// var pos7
StoreValue (commandline_preference);
- StoreValue (confirmdel);
- StoreValue (confirmdeldir);
- StoreValue (confirmundel);
- StoreValue (confirmundeldir);
+ StoreValue (confirmpurge);
+ StoreValue (confirmpurgedir);
+ StoreValue (confirmpurgeall);
+ StoreValue (confirmsalvage);
+ StoreValue (confirmsalvagedir);
+ StoreValue (confirmsalvageall);
+ StoreValue (firstsalvage);
+ for (int i = 2; i < MaxFunctionName; i++)
+ StoreValue (functionkey[i]);
StoreValueFile (mainmenu_name);
StoreValue (mainmenu_visible);
+ StoreValue (numkey);
+ StoreValue (okkey);
+ for (int i = 0; i < 2; i++)
+ {
+ StoreValue (functionline_b_e[i]);
+ StoreValue (functionline_num[i]);
+ }
StoreValue (verbose);
#undef StoreValue
#undef StoreValueFile
- Set();
+ show_setupfunction = FunctionToChange > 0;
+ Set(FunctionToChange);
}
cMenuSetupUndelete::~cMenuSetupUndelete(void)
{
-#ifdef PL_Debug2
- dsyslog("%s: cMenuSetupUndelete::~cMenuSetupUndelete store=%s", plugin_name, store ? "true" : "false");
-#endif
+ d2syslog("cMenuSetupUndelete::~cMenuSetupUndelete", "store=%s", store ? "true" : "false");
if (!store)
{
@@ -54,12 +70,24 @@ cMenuSetupUndelete::~cMenuSetupUndelete(void)
// var pos8
RestoreValue (commandline_preference);
- RestoreValue (confirmdel);
- RestoreValue (confirmdeldir);
- RestoreValue (confirmundel);
- RestoreValue (confirmundeldir);
+ RestoreValue (confirmpurge);
+ RestoreValue (confirmpurgedir);
+ RestoreValue (confirmpurgeall);
+ RestoreValue (confirmsalvage);
+ RestoreValue (confirmsalvagedir);
+ RestoreValue (confirmsalvageall);
+ RestoreValue (firstsalvage);
+ for (int i = 2; i < MaxFunctionName; i++)
+ RestoreValue (functionkey[i]);
RestoreValueFile (mainmenu_name);
RestoreValue (mainmenu_visible);
+ RestoreValue (numkey);
+ RestoreValue (okkey);
+ for (int i = 0; i < 2; i++)
+ {
+ RestoreValue (functionline_b_e[i]);
+ RestoreValue (functionline_num[i]);
+ }
RestoreValue (verbose);
#undef RestoreValue
@@ -69,21 +97,37 @@ cMenuSetupUndelete::~cMenuSetupUndelete(void)
void cMenuSetupUndelete::Store(void)
{
-#ifdef PL_Debug2
- dsyslog("%s: cMenuSetupUndelete::Store", plugin_name);
-#endif
+ d2syslog("cMenuSetupUndelete::Store", "%s", "");
#define SaveValue(T, N) if (T.u != T.o) SetupStore(N, T.u);
#define SaveValueFile(T, N) if (strcmp(T.u, T.o)) SetupStore(N, T.u);
// var pos9
SaveValue (commandline_preference, "commandline");
- SaveValue (confirmdel, "confdel");
- SaveValue (confirmdeldir, "confdeldir");
- SaveValue (confirmundel, "confundel");
- SaveValue (confirmundeldir, "confundeldir");
+ SaveValue (confirmpurge, "confpurge1");
+ SaveValue (confirmpurgedir, "confpurge2");
+ SaveValue (confirmpurgeall, "confpurge3");
+ SaveValue (confirmsalvage, "confsalvage1");
+ SaveValue (confirmsalvagedir, "confsalvage2");
+ SaveValue (confirmsalvageall, "confsalvage3");
+ SaveValue (firstsalvage, "firstsalvage");
+ SaveValue (functionkey[2], "functionkey02");
+ SaveValue (functionkey[3], "functionkey03");
+ SaveValue (functionkey[4], "functionkey04");
+ SaveValue (functionkey[5], "functionkey05");
+ SaveValue (functionkey[6], "functionkey06");
+ SaveValue (functionkey[7], "functionkey07");
+ SaveValue (functionkey[8], "functionkey08");
+ SaveValue (functionkey[9], "functionkey09");
+ SaveValue (functionkey[10], "functionkey10");
SaveValueFile (mainmenu_name, "name");
SaveValue (mainmenu_visible, "visible");
+ SaveValue (numkey, "numkey");
+ SaveValue (okkey, "okkey");
+ SaveValue (functionline_b_e[0], "purgebe");
+ SaveValue (functionline_num[0], "purgenum");
+ SaveValue (functionline_b_e[1], "salvagebe");
+ SaveValue (functionline_num[1], "salvagenum");
SaveValue (verbose, "verbose");
#undef SaveValue
@@ -92,12 +136,10 @@ void cMenuSetupUndelete::Store(void)
store = true;
}
-void cMenuSetupUndelete::Set(void)
+void cMenuSetupUndelete::Set(int FunctionToSelect)
{
-#ifdef PL_Debug2
- dsyslog("%s: cMenuSetupUndelete::Set Current=%d", plugin_name, Current());
-#endif
int current = Current();
+ d2syslog("cMenuSetupUndelete::Set", "Current=%d", current);
Clear();
#define DisplayLine(T) !T.h && (!commandline_preference.u || !T.c)
@@ -109,61 +151,123 @@ void cMenuSetupUndelete::Set(void)
Add(new cMenuEditBoolItem(tr("Setup$Visible in Mainmenu"), &mainmenu_visible.u));
if (DisplayLine(mainmenu_name) && mainmenu_visible.u)
Add(new cMenuEditStrItem (tr("Setup$ Name for Mainmenu"), mainmenu_name.u, sizeof(mainmenu_name.u), tr(FileNameChars)));
- if (DisplayLine(confirmdel))
- Add(new cMenuEditBoolItem(tr("Setup$Confirm delete deleted recordings"), &confirmdel.u));
- if (DisplayLine(confirmdeldir))
- Add(new cMenuEditBoolItem(tr("Setup$Confirm delete directories"), &confirmdeldir.u));
- if (DisplayLine(confirmundel))
- Add(new cMenuEditBoolItem(tr("Setup$Confirm undelete deleted recordings"), &confirmundel.u));
- if (DisplayLine(confirmundeldir))
- Add(new cMenuEditBoolItem(tr("Setup$Confirm undelete directories"), &confirmundeldir.u));
+ if (DisplayLine(confirmpurge))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm purge deleted recordings"), &confirmpurge.u));
+ if (DisplayLine(confirmpurgedir))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm purge directories"), &confirmpurgedir.u));
+ if (DisplayLine(confirmpurgeall))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm purge all deleted recordings"), &confirmpurgeall.u));
+ if (DisplayLine(confirmsalvage))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm salvage deleted recordings"), &confirmsalvage.u));
+ if (DisplayLine(confirmsalvagedir))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm salvage directories"), &confirmsalvagedir.u));
+ if (DisplayLine(confirmsalvageall))
+ Add(new cMenuEditBoolItem(tr("Setup$Confirm salvage all deleted recordings"), &confirmsalvageall.u));
+ if (DisplayLine(functionline_b_e[0]))
+ Add(new cMenuEditStraItem(tr("Setup$Purgeline position"), &functionline_b_e[0].u, 4, FunctionLine));
+ if (DisplayLine(functionline_num[0]) && functionline_b_e[0].u == 0x3)
+ Add(new cMenuEditIntItem (tr("Setup$ Display bottom purge ex lines"), &functionline_num[0].u, 1, 200));
+ if (DisplayLine(functionline_b_e[1]))
+ Add(new cMenuEditStraItem(tr("Setup$Salvageline position"), &functionline_b_e[1].u, 4, FunctionLine));
+ if (DisplayLine(functionline_num[1]) && functionline_b_e[1].u == 0x3)
+ Add(new cMenuEditIntItem (tr("Setup$ Display bottom salvage ex lines"), &functionline_num[1].u, 1, 200));
+ if ((DisplayLine(functionline_b_e[0]) || DisplayLine(functionline_b_e[1])) && DisplayLine(firstsalvage) && ((functionline_b_e[0].u & functionline_b_e[1].u & 0x1) != 0x0 || (functionline_b_e[0].u & functionline_b_e[1].u & 0x2) != 0x0))
+ Add(new cMenuEditBoolItem(tr("Setup$ inward lines"), &firstsalvage.u, tr("Choise$purge"), tr("Choise$salvage")));
+ if (FunctionToSelect > 0)
+ current = Count(); // pre select this line for display
+ Add(new cMenuEditBoolItem(tr("Setup$Change assigned functionkeys"), &show_setupfunction));
+ if (show_setupfunction)
+ {
+ for (int i = 2; i < MaxFunctionName; i++)
+ {
+ if (FunctionToSelect == i)
+ current = Count();
+ char *name = NULL;
+ asprintf(&name, tr("Setup$ Key for function-%s"), FunctionName[i]);
+ Add(new cMenuEditKeysItem(name, &functionkey[i].u));
+ free(name);
+ }
+ Add(new cMenuOsdNoSelectItem(tr("Setup$ ** Spezial handled keys **")));
+ if (FunctionToSelect == 1 && okkey.u == 1)
+ current = Count();
+ Add(new cMenuEditStraItem(tr("Setup$ OK-key function"), &okkey.u, MaxFunctionName, FunctionName));
+ if (FunctionToSelect == 1 && numkey.u == 1)
+ current = Count();
+ Add(new cMenuEditStraItem(tr("Setup$ Numerickey select the entry and"), &numkey.u, 4, FunctionName));
+ }
if (DisplayLine(verbose))
Add(new cMenuEditBoolItem(tr("Setup$Verbose Log Mode"), &verbose.u));
#undef DisplayLine
-#ifdef PL_Debug2
- dsyslog("%s: Count=%d", plugin_name, Count());
-#endif
+ d2syslog("cMenuSetupUndelete::Set", "Count=%d", Count());
SetCurrent(Get(current));
+ Display();
}
eOSState cMenuSetupUndelete::ProcessKey(eKeys Key)
{
-#ifdef PL_Debug3
- bool noneKey = Key == kNone;
- if (!noneKey)
- dsyslog("%s: cMenuSetupUndelete::ProcessKey Key=%s", plugin_name, KeyName(Key));
-#endif
+ d3ProcessKey1("cMenuSetupUndelete::ProcessKey");
+ static bool oldhelpkeys;
+ bool helpkeys;
int m_commandline_preference = commandline_preference.u;
int m_mainmenu_visible = mainmenu_visible.u;
+ int m_show_setupfunction = show_setupfunction;
+ int m_purge_b_e = functionline_b_e[0].u;
+ int m_salvage_b_e = functionline_b_e[1].u;
- eOSState state = cMenuSetupPage::ProcessKey(Key);
-#ifdef PL_Debug3
- if (!noneKey || (state != osUnknown && state != osContinue))
+ eOSState state = osUnknown;
+
+ if (Key == kOk)
{
- dsyslog("%s: cMenuSetupUndelete::ProcessKey OSState=%s", plugin_name, OSStateName(state));
- noneKey = false;
+ int function1 = 0;
+ int function2 = 0;
+ for (int i = 2; i < MaxFunctionName; i++)
+ if (functionkey[i].u)
+ for (int j = i + 1; j < MaxFunctionName; j++)
+ if (functionkey[j].u && functionkey[i].u == functionkey[j].u && (i != 6 || j != 7) && (i != 8 || j != 9))
+ {
+ function1 = i;
+ function2 = j;
+ i = j = MaxFunctionName;
+ }
+ if (function1)
+ {
+ show_setupfunction = true;
+ Set(function2);
+ char *info = NULL;
+ asprintf(&info, tr("Error$Key for funtion %s and %s identical."), FunctionName[function1], FunctionName[function2]);
+ INFO(info);
+ free(info);
+ state = osContinue;
+ }
}
-#endif
- if (m_commandline_preference != commandline_preference.u || m_mainmenu_visible != mainmenu_visible.u)
- {
+ if (state == osUnknown)
+ state = cMenuSetupPage::ProcessKey(Key);
+ d3ProcessKey2("cMenuSetupUndelete::ProcessKey");
+
+ if (m_commandline_preference != commandline_preference.u || m_mainmenu_visible != mainmenu_visible.u || m_show_setupfunction != show_setupfunction || m_purge_b_e != functionline_b_e[0].u || m_salvage_b_e != functionline_b_e[1].u)
Set();
- Display();
+
+ helpkeys = typeid(*Get(Current())) == typeid(cMenuEditKeysItem);
+ if (oldhelpkeys != helpkeys)
+ {
+ oldhelpkeys = helpkeys;
+ if (helpkeys)
+ SetHelp(tr("Setup$Select"), tr("Setup$Select"), tr("Setup$Select"), tr("Setup$Select"));
+ else
+ SetHelp(NULL, NULL, NULL, NULL);
}
switch (state)
{
- case osUser1: state = AddSubMenu(new cMenuUndelete);
- break;
- default: break;
+ case osUser1: state = AddSubMenu(new cMenuUndelete);
+ break;
+ default: break;
}
-#ifdef PL_Debug3
- if (!noneKey || (state != osUnknown && state != osContinue))
- dsyslog("%s: cMenuSetupUndelete::ProcessKey returned OSState=%s", plugin_name, OSStateName(state));
-#endif
+ d3ProcessKey3("cMenuSetupUndelete::ProcessKey");
return state;
}