summaryrefslogtreecommitdiff
path: root/setup.c
diff options
context:
space:
mode:
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c78
1 files changed, 78 insertions, 0 deletions
diff --git a/setup.c b/setup.c
new file mode 100644
index 0000000..3e9a1e2
--- /dev/null
+++ b/setup.c
@@ -0,0 +1,78 @@
+#include "setup.h"
+
+extern cScraper2VdrConfig config;
+
+cScraper2VdrSetup::cScraper2VdrSetup(cUpdate *update) {
+ this->update = update;
+ tmpConfig = config;
+ strn0cpy(host, tmpConfig.mysqlHost.c_str(), sizeof(host));
+ strn0cpy(dbname, tmpConfig.mysqlDBName.c_str(), sizeof(dbname));
+ strn0cpy(user, tmpConfig.mysqlDBUser.c_str(), sizeof(user));
+ strn0cpy(password, tmpConfig.mysqlDBPass.c_str(), sizeof(password));
+ Setup();
+}
+
+cScraper2VdrSetup::~cScraper2VdrSetup() {
+}
+
+
+void cScraper2VdrSetup::Setup(void) {
+ int currentItem = Current();
+ Clear();
+
+ Add(new cMenuEditBoolItem(tr("Show Main Menu Entry"), &tmpConfig.mainMenuEntry));
+ Add(new cMenuEditStrItem(tr("MySQL Host"), host, sizeof(host), tr(FileNameChars)));
+ Add(new cMenuEditIntItem(tr("MySQL Port"), &tmpConfig.mysqlPort, 1, 99999));
+ Add(new cMenuEditStrItem(tr("MySQL Database Name"), dbname, sizeof(dbname), tr(FileNameChars)));
+ Add(new cMenuEditStrItem(tr("MySQL User"), user, sizeof(user), tr(FileNameChars)));
+ Add(new cMenuEditStrItem(tr("MySQL Password"), password, sizeof(password), tr(FileNameChars)));
+
+ Add(new cOsdItem(tr("Update Scraper Information from Database")));
+ Add(new cOsdItem(tr("Update Scraper Recordings Information from Database")));
+ Add(new cOsdItem(tr("Scan for new recordings in video directory")));
+ Add(new cOsdItem(tr("Scan for new or updated scrapinfo files")));
+ Add(new cOsdItem(tr("Cleanup Recordings in Database")));
+
+ SetCurrent(Get(currentItem));
+ Display();
+}
+
+eOSState cScraper2VdrSetup::ProcessKey(eKeys Key) {
+ bool hadSubMenu = HasSubMenu();
+ eOSState state = cMenuSetupPage::ProcessKey(Key);
+ if (Key == kOk) {
+ tmpConfig.mysqlHost = host;
+ tmpConfig.mysqlDBName = dbname;
+ tmpConfig.mysqlDBUser = user;
+ tmpConfig.mysqlDBPass = password;
+ Store();
+ if (Current() == 6) {
+ Skins.Message(mtInfo, tr("Updating Scraper EPG Information from Database"));
+ update->ForceUpdate();
+ } else if (Current() == 7) {
+ Skins.Message(mtInfo, tr("Updating Scraper Recordings Information from Database"));
+ update->ForceRecordingUpdate();
+ } else if (Current() == 8) {
+ Skins.Message(mtInfo, tr("Scanning for new recordings in video directory"));
+ update->ForceVideoDirUpdate();
+ } else if (Current() == 9) {
+ Skins.Message(mtInfo, tr("Scanning for new or updated scrapinfo files"));
+ update->ForceScrapInfoUpdate();
+ } else if (Current() == 10) {
+ Skins.Message(mtInfo, tr("Cleaning up Recordings in Database"));
+ update->TriggerCleanRecordingsDB();
+ }
+ return osEnd;
+ }
+ return state;
+}
+
+void cScraper2VdrSetup::Store(void) {
+ config = tmpConfig;
+ SetupStore("mainMenuEntry", tmpConfig.mainMenuEntry);
+ SetupStore("mysqlHost", tmpConfig.mysqlHost.c_str());
+ SetupStore("mysqlPort", tmpConfig.mysqlPort);
+ SetupStore("mysqlDBName", tmpConfig.mysqlDBName.c_str());
+ SetupStore("mysqlDBUser", tmpConfig.mysqlDBUser.c_str());
+ SetupStore("mysqlDBPass", tmpConfig.mysqlDBPass.c_str());
+}