diff options
author | chriszero <zerov83@gmail.com> | 2015-05-17 21:13:14 +0200 |
---|---|---|
committer | chriszero <zerov83@gmail.com> | 2015-05-17 21:13:14 +0200 |
commit | d15cd5a30174c7864051d42ba58cd31570fc8ed5 (patch) | |
tree | c3f62de9cf1f43ad28864012bbce168f323a3308 /Config.cpp | |
parent | 80d1c613e8055567644abab38707378960b5d809 (diff) | |
download | vdr-plugin-plex-d15cd5a30174c7864051d42ba58cd31570fc8ed5.tar.gz vdr-plugin-plex-d15cd5a30174c7864051d42ba58cd31570fc8ed5.tar.bz2 |
...
Diffstat (limited to 'Config.cpp')
-rw-r--r-- | Config.cpp | 117 |
1 files changed, 104 insertions, 13 deletions
@@ -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); +} |