summaryrefslogtreecommitdiff
path: root/Config.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2015-05-17 21:13:14 +0200
committerchriszero <zerov83@gmail.com>2015-05-17 21:13:14 +0200
commitd15cd5a30174c7864051d42ba58cd31570fc8ed5 (patch)
treec3f62de9cf1f43ad28864012bbce168f323a3308 /Config.cpp
parent80d1c613e8055567644abab38707378960b5d809 (diff)
downloadvdr-plugin-plex-d15cd5a30174c7864051d42ba58cd31570fc8ed5.tar.gz
vdr-plugin-plex-d15cd5a30174c7864051d42ba58cd31570fc8ed5.tar.bz2
...
Diffstat (limited to 'Config.cpp')
-rw-r--r--Config.cpp117
1 files changed, 104 insertions, 13 deletions
diff --git a/Config.cpp b/Config.cpp
index 392b895..f4a0614 100644
--- a/Config.cpp
+++ b/Config.cpp
@@ -1,11 +1,45 @@
#include "Config.h"
+const char* Config::viewModeNames[]
+{
+ "Cover",
+ "List",
+ "Detail"
+};
+
Config::Config() {
s_username = "username";
s_password = "password";
- GridColumns = 7;
- GridRows = 2;
+ CoverGridColumns = 7;
+ CoverGridRows = 2;
+ ListGridColumns = 1;
+ ListGridRows = 12;
+ DetailGridColumns = 1;
+ DetailGridRows = 4;
+
+ DefaultViewMode = ViewMode::Cover;
+
+ ViewEntry en;
+ en.Name = "Recently Added";
+ en.PlexPath = "/library/recentlyAdded";
+ m_viewentries.push_back(en);
+
+ ViewEntry en2;
+ en2.Name = "On Deck";
+ en2.PlexPath = "/library/onDeck";
+ m_viewentries.push_back(en2);
+
+ ViewEntry en3;
+ en3.Name = "Library";
+ en3.PlexPath = "/library/sections";
+ m_serverViewentries.push_back(en3);
+
+ ViewEntry en4;
+ en4.Name = "Video Channels";
+ en4.PlexPath = "/video";
+ m_serverViewentries.push_back(en4);
+
}
std::string Config::GetUUID() {
@@ -45,6 +79,37 @@ std::string Config::GetPassword() {
return s_password;
}
+
+bool Config::Parse(const char *name, const char *value)
+{
+ //dsyslog("[plex]%s: '%s' = '%s'\n", __FUNCTION__, name, value);
+ bool parsed = true;
+ if (strcasecmp(name, "HideMainMenuEntry") == 0) Config::GetInstance().HideMainMenuEntry = atoi(value) ? true : false;
+ else if (strcasecmp(name, "UsePlexAccount") == 0) Config::GetInstance().UsePlexAccount = atoi(value) ? true : false;
+ else if (strcasecmp(name, "UseCustomTranscodeProfile") == 0) Config::GetInstance().UseCustomTranscodeProfile = atoi(value) ? true : false;
+ else if (strcasecmp(name, "Username") == 0) Config::GetInstance().s_username = std::string(value);
+ else if (strcasecmp(name, "Password") == 0) Config::GetInstance().s_password = std::string(value);
+ else if (strcasecmp(name, "UUID") == 0) Config::GetInstance().SetUUID(value);
+ else if (strcasecmp(name, "UseConfiguredServer") == 0) Config::GetInstance().UseConfiguredServer = atoi(value) ? true : false;
+ else if (strcasecmp(name, "ServerHost") == 0) Config::GetInstance().s_serverHost = std::string(value);
+ else if (strcasecmp(name, "ServerPort") == 0) Config::GetInstance().ServerPort = atoi(value);
+ else if (strcasecmp(name, "CoverGridColumns") == 0) Config::GetInstance().CoverGridColumns = atoi(value);
+ else if (strcasecmp(name, "CoverGridRows") == 0) Config::GetInstance().CoverGridRows = atoi(value);
+ else if (strcasecmp(name, "DetailGridColumns") == 0) Config::GetInstance().DetailGridColumns = atoi(value);
+ else if (strcasecmp(name, "DetailGridRows") == 0) Config::GetInstance().DetailGridRows = atoi(value);
+ else if (strcasecmp(name, "ListGridColumns") == 0) Config::GetInstance().ListGridColumns = atoi(value);
+ else if (strcasecmp(name, "ListGridRows") == 0) Config::GetInstance().ListGridRows = atoi(value);
+ else parsed = false;
+
+ if(!parsed) {
+ // Parse ViewEntries
+
+ }
+
+ return parsed;
+}
+
+
//////////////////////////////////////////////////////////////////////////////
// cMenuSetupPage
//////////////////////////////////////////////////////////////////////////////
@@ -64,7 +129,7 @@ eOSState cMyMenuSetupPage::ProcessKey(eKeys key)
*/
cMyMenuSetupPage::cMyMenuSetupPage(void)
{
- strn0cpy(Username, Config::GetInstance().s_username.c_str(), STRING_SIZE);
+ strn0cpy(Username, Config::GetInstance().s_username.c_str(), STRING_SIZE);
strn0cpy(Password, Config::GetInstance().s_password.c_str(), STRING_SIZE);
strn0cpy(Uuid, Config::GetInstance().GetUUID().c_str(), STRING_SIZE);
strn0cpy(ServerHost, Config::GetInstance().s_serverHost.c_str(), STRING_SIZE);
@@ -72,8 +137,16 @@ cMyMenuSetupPage::cMyMenuSetupPage(void)
UseConfiguredServer = Config::GetInstance().UseConfiguredServer;
HideMainMenuEntry = Config::GetInstance().HideMainMenuEntry;
UseCustomTranscodeProfile = Config::GetInstance().UseCustomTranscodeProfile;
- GridColumns = Config::GetInstance().GridColumns;
- GridRows = Config::GetInstance().GridRows;
+ UsePlexAccount = Config::GetInstance().UsePlexAccount;
+ CoverGridColumns = Config::GetInstance().CoverGridColumns;
+ CoverGridRows = Config::GetInstance().CoverGridRows;
+ DetailGridColumns = Config::GetInstance().DetailGridColumns;
+ DetailGridRows = Config::GetInstance().DetailGridRows;
+ ListGridColumns = Config::GetInstance().ListGridColumns;
+ ListGridRows = Config::GetInstance().ListGridRows;
+
+ DefaultViewMode = Config::GetInstance().DefaultViewMode;
+
Add(new cMenuEditBoolItem(tr("Hide main menu entry"), (int*)&HideMainMenuEntry, trVDR("no"), trVDR("yes")));
Add(new cMenuEditBoolItem(tr("Use custom transcoding profile"), (int*)&UseCustomTranscodeProfile, trVDR("no"), trVDR("yes")));
@@ -85,8 +158,16 @@ cMyMenuSetupPage::cMyMenuSetupPage(void)
Add(new cMenuEditStrItem(tr("Server Host"), ServerHost, STRING_SIZE));
Add(new cMenuEditIntItem(tr("Server Port"), &ServerPort));
- Add(new cMenuEditIntItem(tr("Grid Columns"), &GridColumns));
- Add(new cMenuEditIntItem(tr("Grid Rows"), &GridRows));
+ Add(new cMenuEditStraItem(tr("Default View Mode"), &DefaultViewMode, 3, Config::viewModeNames));
+
+ Add(new cMenuEditIntItem(tr("Cover Grid Columns"), &CoverGridColumns));
+ Add(new cMenuEditIntItem(tr("Cover Grid Rows"), &CoverGridRows));
+
+ Add(new cMenuEditIntItem(tr("Detail Grid Columns"), &DetailGridColumns));
+ Add(new cMenuEditIntItem(tr("Detail Grid Rows"), &DetailGridRows));
+
+ Add(new cMenuEditIntItem(tr("List Grid Columns"), &ListGridColumns));
+ Add(new cMenuEditIntItem(tr("List Grid Rows"), &ListGridRows));
cMenuEditStrItem* devUUID = new cMenuEditStrItem(tr("Current UUID"), Uuid, STRING_SIZE);
devUUID->SetSelectable(false);
@@ -106,11 +187,16 @@ void cMyMenuSetupPage::Store(void)
Config::GetInstance().UseConfiguredServer = UseConfiguredServer;
Config::GetInstance().s_serverHost = std::string(ServerHost);
Config::GetInstance().ServerPort = ServerPort;
- Config::GetInstance().GridColumns = GridColumns;
- Config::GetInstance().GridRows = GridRows;
+ Config::GetInstance().CoverGridColumns = CoverGridColumns;
+ Config::GetInstance().CoverGridRows = CoverGridRows;
+ Config::GetInstance().DetailGridColumns = DetailGridColumns;
+ Config::GetInstance().DetailGridRows = DetailGridRows;
+ Config::GetInstance().ListGridColumns = ListGridColumns;
+ Config::GetInstance().ListGridRows = ListGridRows;
+ Config::GetInstance().DefaultViewMode = (ViewMode)DefaultViewMode;
SetupStore("UseCustomTranscodeProfile", Config::GetInstance().UseCustomTranscodeProfile);
- SetupStore("HideMainMenuEntry", Config::GetInstance().HideMainMenuEntry);
+ SetupStore("HideMainMenuEntry", Config::GetInstance().HideMainMenuEntry);
SetupStore("UsePlexAccount", Config::GetInstance().UsePlexAccount);
SetupStore("Username", Config::GetInstance().s_username.c_str());
SetupStore("Password", Config::GetInstance().s_password.c_str());
@@ -118,6 +204,11 @@ void cMyMenuSetupPage::Store(void)
SetupStore("UseConfiguredServer", Config::GetInstance().UseConfiguredServer);
SetupStore("ServerHost", Config::GetInstance().s_serverHost.c_str());
SetupStore("ServerPort", Config::GetInstance().ServerPort);
- SetupStore("GridColumns", Config::GetInstance().GridColumns);
- SetupStore("GridRows", Config::GetInstance().GridRows);
-} \ No newline at end of file
+ SetupStore("CoverGridColumns", Config::GetInstance().CoverGridColumns);
+ SetupStore("CoverGridRows", Config::GetInstance().CoverGridRows);
+ SetupStore("DetailGridColumns", Config::GetInstance().DetailGridColumns);
+ SetupStore("DetailGridRows", Config::GetInstance().DetailGridRows);
+ SetupStore("ListGridColumns", Config::GetInstance().ListGridColumns);
+ SetupStore("ListGridRows", Config::GetInstance().ListGridRows);
+ SetupStore("DefaultViewMode", Config::GetInstance().DefaultViewMode);
+}