Index: ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js +++ ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.js @@ -115,6 +115,7 @@ let cancelButton = !data || data.cancelbutton; Engine.GetGUIObjectByName("cancelButton").hidden = !cancelButton; Engine.GetGUIObjectByName("quitButton").hidden = cancelButton; + Engine.GetGUIObjectByName("toggleModButton").caption = translateWithContext("mod activation", "Enable"); } function saveMods() @@ -381,7 +382,7 @@ g_ModsEnabled.sort((folder1, folder2) => dependencies[folder1].indexOf(g_Mods[folder2].name) != -1 ? 1 : - dependencies[folder2].indexOf(g_Mods[folder1].name) != -1 ? -1 : 0); + dependencies[folder2].indexOf(g_Mods[folder1].name) != -1 ? -1 : 0); g_ModsEnabledFiltered = displayModList("modsEnabledList", g_ModsEnabled); } @@ -392,33 +393,45 @@ let otherListObject = Engine.GetGUIObjectByName(listObjectName == "modsDisabledList" ? "modsEnabledList" : "modsDisabledList"); - if (listObject.selected != -1) + let toggleModButton = Engine.GetGUIObjectByName("toggleModButton"); + let modSelected = listObject.selected != -1; + + if (modSelected) { otherListObject.selected = -1; - Engine.GetGUIObjectByName("visitWebButton").enabled = true; - let toggleModButton = Engine.GetGUIObjectByName("toggleModButton"); - toggleModButton.caption = listObjectName == "modsDisabledList" ? translate("Enable") : translate("Disable"); - toggleModButton.enabled = true; toggleModButton.onPress = listObjectName == "modsDisabledList" ? enableMod : disableMod; - Engine.GetGUIObjectByName("enabledModUp").enabled = listObjectName == "modsEnabledList" && !areFilters(); - Engine.GetGUIObjectByName("enabledModDown").enabled = listObjectName == "modsEnabledList" && !areFilters(); } + Engine.GetGUIObjectByName("visitWebButton").enabled = modSelected && !!getSelectedModUrl(); + toggleModButton.caption = listObjectName == "modsDisabledList" ? + translateWithContext("mod activation", "Enable") : + translateWithContext("mod activation", "Disable"); + toggleModButton.enabled = modSelected; + Engine.GetGUIObjectByName("enabledModUp").enabled = modSelected && listObjectName == "modsEnabledList" && !areFilters(); + Engine.GetGUIObjectByName("enabledModDown").enabled = modSelected && listObjectName == "modsEnabledList" && !areFilters(); + Engine.GetGUIObjectByName("globalModDescription").caption = listObject.list[listObject.selected] ? g_Mods[listObject.list[listObject.selected]].description : '[color="' + g_ColorNoModSelected + '"]' + translate("No mod has been selected.") + '[/color]'; } -function visitModWebsite() +/** + * @returns {string} The url of the currently selected mod. + */ +function getSelectedModUrl() { let modsEnabledList = Engine.GetGUIObjectByName("modsEnabledList"); let modsDisabledList = Engine.GetGUIObjectByName("modsDisabledList"); let list = modsEnabledList.selected == -1 ? modsDisabledList : modsEnabledList; let folder = list.list_folder[list.selected]; - let url = folder && g_Mods[folder] && g_Mods[folder].url; + return folder && g_Mods[folder] && g_Mods[folder].url || undefined; +} +function visitModWebsite() +{ + let url = getSelectedModUrl(); if (!url) return; Index: ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.xml =================================================================== --- ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.xml +++ ps/trunk/binaries/data/mods/mod/gui/modmod/modmod.xml @@ -162,9 +162,7 @@ - - Enable/Disable - + Visit Website visitModWebsite();