fixed bug displaying wrong headers in skin setup submenus

This commit is contained in:
louis 2015-07-09 00:14:42 +02:00
parent ce49462ca7
commit 14f96b8677
3 changed files with 17 additions and 13 deletions

View File

@ -380,4 +380,5 @@ Version 0.5.3
displaymenureplaycurrentview displaymenureplaycurrentview
- immplemented areacontainers to group areas - immplemented areacontainers to group areas
- fixed bug displaying pixmaps with transparency - fixed bug displaying pixmaps with transparency
- fixed bug displaying wrong headers in skin setup submenus

23
setup.c
View File

@ -173,7 +173,7 @@ eOSState cSkinDesignerSetup::ProcessKey(eKeys Key) {
// KEY OK // KEY OK
if ((Key == kOk)) { if ((Key == kOk)) {
if (type == itSkinSetup) { if (type == itSkinSetup) {
state = AddSubMenu(new cSkindesignerSkinSetup(currentSkin, "")); state = AddSubMenu(new cSkindesignerSkinSetup(currentSkin, "", ""));
} else if (type == itNoSkinSetup) { } else if (type == itNoSkinSetup) {
state = osContinue; state = osContinue;
} else if (type == itSkinRepo) { } else if (type == itSkinRepo) {
@ -354,15 +354,16 @@ cSkinMenuItem::cSkinMenuItem(string skinName, string displayText, eItemType type
// --- cSkinSetupSubMenu ----------------------------------------------------------- // --- cSkinSetupSubMenu -----------------------------------------------------------
cSkinSetupSubMenu::cSkinSetupSubMenu(string name, string displayText) : cOsdItem(displayText.c_str()) { cSkinSetupSubMenu::cSkinSetupSubMenu(string name, string displayText) : cOsdItem(displayText.c_str()) {
this->name = name; this->name = name;
this->displayText = displayText;
} }
// --- cSkindesignerSkinSetup ----------------------------------------------------------- // --- cSkindesignerSkinSetup -----------------------------------------------------------
cSkindesignerSkinSetup::cSkindesignerSkinSetup(string skin, string name) : cSkindesignerSkinSetup::cSkindesignerSkinSetup(string skin, string menu, string header) :
cOsdMenu(*cString::sprintf("%s: %s \"%s\" %s", trVDR("Setup"), tr("Skin"), skin.c_str(), name.c_str()), 30) { cOsdMenu(*cString::sprintf("%s: %s \"%s\" %s", trVDR("Setup"), tr("Skin"), skin.c_str(), header.c_str()), 30) {
SetMenuCategory(mcPluginSetup); SetMenuCategory(mcPluginSetup);
this->skin = skin; this->skin = skin;
this->name = name; this->menu = menu;
Set(); Set();
} }
@ -380,7 +381,7 @@ eOSState cSkindesignerSkinSetup::ProcessKey(eKeys Key) {
cOsdItem *current = Get(Current()); cOsdItem *current = Get(Current());
cSkinSetupSubMenu *subMenuItem = dynamic_cast<cSkinSetupSubMenu*>(current); cSkinSetupSubMenu *subMenuItem = dynamic_cast<cSkinSetupSubMenu*>(current);
if (subMenuItem) { if (subMenuItem) {
state = AddSubMenu(new cSkindesignerSkinSetup(skin, subMenuItem->GetName())); state = AddSubMenu(new cSkindesignerSkinSetup(skin, subMenuItem->GetName(), subMenuItem->GetDisplayText()));
break; break;
} else { } else {
return osBack; return osBack;
@ -416,8 +417,8 @@ eOSState cSkindesignerSkinSetup::ProcessKey(eKeys Key) {
} }
void cSkindesignerSkinSetup::Set(void) { void cSkindesignerSkinSetup::Set(void) {
cSkinSetupMenu *menu = config.GetSkinSetupMenu(skin, name); cSkinSetupMenu *setupMenu = config.GetSkinSetupMenu(skin, menu);
if (!menu) { if (!setupMenu) {
return; return;
} }
@ -429,9 +430,9 @@ void cSkindesignerSkinSetup::Set(void) {
SetHelp(NULL, NULL, tr("Delete Skin"), NULL); SetHelp(NULL, NULL, tr("Delete Skin"), NULL);
} }
menu->InitParameterIterator(); setupMenu->InitParameterIterator();
cSkinSetupParameter *param = NULL; cSkinSetupParameter *param = NULL;
while (param = menu->GetNextParameter(false)) { while (param = setupMenu->GetNextParameter(false)) {
if (param->type == sptInt) { if (param->type == sptInt) {
Add(new cMenuEditIntItem(param->displayText.c_str(), &param->value, param->min, param->max)); Add(new cMenuEditIntItem(param->displayText.c_str(), &param->value, param->min, param->max));
} else if (param->type == sptBool) { } else if (param->type == sptBool) {
@ -439,9 +440,9 @@ void cSkindesignerSkinSetup::Set(void) {
} }
} }
menu->InitSubmenuIterator(); setupMenu->InitSubmenuIterator();
cSkinSetupMenu *subMenu = NULL; cSkinSetupMenu *subMenu = NULL;
while (subMenu = menu->GetNextSubMenu(false)) { while (subMenu = setupMenu->GetNextSubMenu(false)) {
Add(new cSkinSetupSubMenu(subMenu->GetName(), subMenu->GetDisplayText())); Add(new cSkinSetupSubMenu(subMenu->GetName(), subMenu->GetDisplayText()));
} }
} }

View File

@ -79,10 +79,12 @@ public:
class cSkinSetupSubMenu : public cOsdItem { class cSkinSetupSubMenu : public cOsdItem {
private: private:
string name; string name;
string displayText;
public: public:
cSkinSetupSubMenu(string name, string displayText); cSkinSetupSubMenu(string name, string displayText);
virtual ~cSkinSetupSubMenu() {}; virtual ~cSkinSetupSubMenu() {};
string GetName(void) { return name; }; string GetName(void) { return name; };
string GetDisplayText(void) { return displayText; };
}; };
// --- cSkindesignerSkinSetup ----------------------------------------------------------- // --- cSkindesignerSkinSetup -----------------------------------------------------------
@ -90,12 +92,12 @@ public:
class cSkindesignerSkinSetup : public cOsdMenu, cInstallManager { class cSkindesignerSkinSetup : public cOsdMenu, cInstallManager {
private: private:
string skin; string skin;
string name; string menu;
protected: protected:
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
void Set(void); void Set(void);
public: public:
cSkindesignerSkinSetup(string skin, string menu); cSkindesignerSkinSetup(string skin, string menu, string header);
virtual ~cSkindesignerSkinSetup(); virtual ~cSkindesignerSkinSetup();
}; };