#2: Add accountwide settings
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
dfbc2feeb4
commit
af3a473fe2
@ -15,6 +15,7 @@ function AchievementInfo.initialize(_, addOnName)
|
|||||||
AchievementInfo.hijackedFirstLoad = true
|
AchievementInfo.hijackedFirstLoad = true
|
||||||
|
|
||||||
-- Load Saved Variables
|
-- Load Saved Variables
|
||||||
|
AchievementInfo.useAccountWideSettings = AchievementInfo.loadUseAccountWideSettings()
|
||||||
AchievementInfo.savedVars = AchievementInfo.loadSavedVars()
|
AchievementInfo.savedVars = AchievementInfo.loadSavedVars()
|
||||||
|
|
||||||
-- Load Language Data
|
-- Load Language Data
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
## Contact: mail@coded-with-heart.com
|
## Contact: mail@coded-with-heart.com
|
||||||
|
|
||||||
## APIVersion: 100031
|
## APIVersion: 100031
|
||||||
## SavedVariables: ACHIEVEMENT_INFO_DB
|
## SavedVariables: ACHIEVEMENT_INFO_DB ACHIEVEMENT_INFO_DB_USE_AW
|
||||||
|
|
||||||
## DependsOn: LibAddonMenu-2.0
|
## DependsOn: LibAddonMenu-2.0
|
||||||
|
|
||||||
|
@ -35,6 +35,9 @@ LANG_STORE.EN.SettingsOption.AddOnEnabled = "AddOn enabled"
|
|||||||
LANG_STORE.EN.SettingsOption.AddOnEnabledTooltip = "Enable or disable this AddOn"
|
LANG_STORE.EN.SettingsOption.AddOnEnabledTooltip = "Enable or disable this AddOn"
|
||||||
LANG_STORE.EN.SettingsOption.AddOnEnabledWarning = "Only the output messages can be disabled here"
|
LANG_STORE.EN.SettingsOption.AddOnEnabledWarning = "Only the output messages can be disabled here"
|
||||||
|
|
||||||
|
LANG_STORE.EN.SettingsOption.AccountWideEnabled = "Use acctountwide Settings"
|
||||||
|
LANG_STORE.EN.SettingsOption.AccountWideEnabledTooltip = "Use and save the settings for all of your characters"
|
||||||
|
|
||||||
LANG_STORE.EN.SettingsOption.ShowEveryUpdate = "Show every update"
|
LANG_STORE.EN.SettingsOption.ShowEveryUpdate = "Show every update"
|
||||||
LANG_STORE.EN.SettingsOption.ShowEveryUpdateTooltip = "Shows a message on every status update of an achievement. Otherwise the messages appear only in steps of x%"
|
LANG_STORE.EN.SettingsOption.ShowEveryUpdateTooltip = "Shows a message on every status update of an achievement. Otherwise the messages appear only in steps of x%"
|
||||||
|
|
||||||
@ -86,6 +89,9 @@ LANG_STORE.DE.SettingsOption.AddOnEnabled = "AddOn aktiviert"
|
|||||||
LANG_STORE.DE.SettingsOption.AddOnEnabledTooltip = "Aktiviere oder deaktiviere dieses AddOn"
|
LANG_STORE.DE.SettingsOption.AddOnEnabledTooltip = "Aktiviere oder deaktiviere dieses AddOn"
|
||||||
LANG_STORE.DE.SettingsOption.AddOnEnabledWarning = "An dieser Stelle können nur die Ausgaben deaktiviert werden."
|
LANG_STORE.DE.SettingsOption.AddOnEnabledWarning = "An dieser Stelle können nur die Ausgaben deaktiviert werden."
|
||||||
|
|
||||||
|
LANG_STORE.DE.SettingsOption.AccountWideEnabled = "Accountübergreifende Einstellungen"
|
||||||
|
LANG_STORE.DE.SettingsOption.AccountWideEnabledTooltip = "Benutze und speichere die Einstellungen für alle Charaktere"
|
||||||
|
|
||||||
LANG_STORE.DE.SettingsOption.ShowEveryUpdate = "Zeige alle Fortschritte"
|
LANG_STORE.DE.SettingsOption.ShowEveryUpdate = "Zeige alle Fortschritte"
|
||||||
LANG_STORE.DE.SettingsOption.ShowEveryUpdateTooltip = "Zeigt bei jeder Aktualisierung eines Erfolgs einen Hinweis. Alternativ wird nur in x% Schritten ein Status ausgegeben"
|
LANG_STORE.DE.SettingsOption.ShowEveryUpdateTooltip = "Zeigt bei jeder Aktualisierung eines Erfolgs einen Hinweis. Alternativ wird nur in x% Schritten ein Status ausgegeben"
|
||||||
|
|
||||||
@ -138,6 +144,9 @@ LANG_STORE.FR.SettingsOption.AddOnEnabled = "Extension activée"
|
|||||||
LANG_STORE.FR.SettingsOption.AddOnEnabledTooltip = "Active ou désactive cette extension"
|
LANG_STORE.FR.SettingsOption.AddOnEnabledTooltip = "Active ou désactive cette extension"
|
||||||
LANG_STORE.FR.SettingsOption.AddOnEnabledWarning = "Seul les messages sortants peuvent être désactivés"
|
LANG_STORE.FR.SettingsOption.AddOnEnabledWarning = "Seul les messages sortants peuvent être désactivés"
|
||||||
|
|
||||||
|
LANG_STORE.FR.SettingsOption.AccountWideEnabled = LANG_STORE.EN.SettingsOption.AccountWideEnabled
|
||||||
|
LANG_STORE.FR.SettingsOption.AccountWideEnabledTooltip = LANG_STORE.EN.SettingsOption.AccountWideEnabledTooltip
|
||||||
|
|
||||||
LANG_STORE.FR.SettingsOption.ShowEveryUpdate = "Affichage de chaque mise à jour"
|
LANG_STORE.FR.SettingsOption.ShowEveryUpdate = "Affichage de chaque mise à jour"
|
||||||
LANG_STORE.FR.SettingsOption.ShowEveryUpdateTooltip = "Affiche un message pour chaque mise à jour d'un succès. Le reste du temps les messages n'apparaissent que sous forme de plage de x%"
|
LANG_STORE.FR.SettingsOption.ShowEveryUpdateTooltip = "Affiche un message pour chaque mise à jour d'un succès. Le reste du temps les messages n'apparaissent que sous forme de plage de x%"
|
||||||
|
|
||||||
|
@ -5,6 +5,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to determine if Account Wide Settings should be used
|
||||||
|
function AchievementInfo.loadUseAccountWideSettings()
|
||||||
|
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB_USE_AW", 1, nil, {
|
||||||
|
enabled = false
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to set and load the Saved Variables
|
-- Function to set and load the Saved Variables
|
||||||
function AchievementInfo.loadSavedVars()
|
function AchievementInfo.loadSavedVars()
|
||||||
local defaults = {
|
local defaults = {
|
||||||
@ -36,9 +45,14 @@ function AchievementInfo.loadSavedVars()
|
|||||||
cat20 = true,
|
cat20 = true,
|
||||||
cat21 = true,
|
cat21 = true,
|
||||||
cat22 = true,
|
cat22 = true,
|
||||||
|
-- ... new one default to true
|
||||||
devDebug = false
|
devDebug = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if AchievementInfo.useAccountWideSettings["enabled"] == true then
|
||||||
|
return ZO_SavedVars:NewAccountWide("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
||||||
|
end
|
||||||
|
|
||||||
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -49,16 +63,16 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
local panelData = {
|
local panelData = {
|
||||||
type = "panel",
|
type = "panel",
|
||||||
name = AchievementInfo.name,
|
name = AchievementInfo.name,
|
||||||
displayName = AchievementInfo.clrDefault..AchievementInfo.name,
|
displayName = AchievementInfo.clrDefault .. AchievementInfo.name,
|
||||||
author = AchievementInfo.author,
|
author = AchievementInfo.author,
|
||||||
version = string.format("%.1f", AchievementInfo.version),
|
version = string.format("%.2f", AchievementInfo.version),
|
||||||
slashCommand = "/achievementInfo"
|
slashCommand = "/achievementInfo"
|
||||||
}
|
}
|
||||||
|
|
||||||
local optionsTable = {
|
local optionsTable = {
|
||||||
[1] = {
|
[1] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
name = AchievementInfo.clrSettingsHeader..LANG.SettingsHeader.General
|
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.General
|
||||||
},
|
},
|
||||||
[2] = {
|
[2] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
@ -69,13 +83,21 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
warning = LANG.SettingsOption.AddOnEnabledWarning
|
warning = LANG.SettingsOption.AddOnEnabledWarning
|
||||||
},
|
},
|
||||||
[3] = {
|
[3] = {
|
||||||
|
type = "checkbox",
|
||||||
|
name = LANG.SettingsOption.AccountWideEnabled,
|
||||||
|
tooltip = LANG.SettingsOption.AccountWideEnabledTooltip,
|
||||||
|
getFunc = function() return AchievementInfo.useAccountWideSettings["enabled"] end,
|
||||||
|
setFunc = function() AchievementInfo.toggleAccountWideSettings() end,
|
||||||
|
requiresReload = true
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowEveryUpdate,
|
name = LANG.SettingsOption.ShowEveryUpdate,
|
||||||
tooltip = LANG.SettingsOption.ShowEveryUpdateTooltip,
|
tooltip = LANG.SettingsOption.ShowEveryUpdateTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowEveryUpdate") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowEveryUpdate") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowEveryUpdate") end
|
setFunc = function() AchievementInfo.settingToogle("genShowEveryUpdate") end
|
||||||
},
|
},
|
||||||
[4] = {
|
[5] = {
|
||||||
type = "slider",
|
type = "slider",
|
||||||
name = LANG.SettingsOption.ShowUpdateSteps,
|
name = LANG.SettingsOption.ShowUpdateSteps,
|
||||||
tooltip = LANG.SettingsOption.ShowUpdateStepsTooltip,
|
tooltip = LANG.SettingsOption.ShowUpdateStepsTooltip,
|
||||||
@ -86,21 +108,21 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
setFunc = function(value) AchievementInfo.settingSet("genShowUpdateSteps", value) end,
|
setFunc = function(value) AchievementInfo.settingSet("genShowUpdateSteps", value) end,
|
||||||
default = 25
|
default = 25
|
||||||
},
|
},
|
||||||
[5] = {
|
[6] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowDetails,
|
name = LANG.SettingsOption.ShowDetails,
|
||||||
tooltip = LANG.SettingsOption.ShowDetailsTooltip,
|
tooltip = LANG.SettingsOption.ShowDetailsTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowDetails") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowDetails") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowDetails") end
|
setFunc = function() AchievementInfo.settingToogle("genShowDetails") end
|
||||||
},
|
},
|
||||||
[6] = {
|
[7] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowOpenDetailsOnly,
|
name = LANG.SettingsOption.ShowOpenDetailsOnly,
|
||||||
tooltip = LANG.SettingsOption.ShowOpenDetailsOnlyTooltip,
|
tooltip = LANG.SettingsOption.ShowOpenDetailsOnlyTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowOpenDetailsOnly") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowOpenDetailsOnly") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowOpenDetailsOnly") end
|
setFunc = function() AchievementInfo.settingToogle("genShowOpenDetailsOnly") end
|
||||||
},
|
},
|
||||||
[7] = {
|
[8] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.OneElementPerLine,
|
name = LANG.SettingsOption.OneElementPerLine,
|
||||||
tooltip = LANG.SettingsOption.OneElementPerLineTooltip,
|
tooltip = LANG.SettingsOption.OneElementPerLineTooltip,
|
||||||
@ -108,11 +130,11 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
setFunc = function() AchievementInfo.settingToogle("genOnePerLine") end,
|
setFunc = function() AchievementInfo.settingToogle("genOnePerLine") end,
|
||||||
warning = LANG.SettingsOption.OneElementPerLineWarning
|
warning = LANG.SettingsOption.OneElementPerLineWarning
|
||||||
},
|
},
|
||||||
[8] = {
|
[9] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.Categories
|
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.Categories
|
||||||
},
|
},
|
||||||
[9] = {
|
[10] = {
|
||||||
type = "description",
|
type = "description",
|
||||||
text = LANG.SettingsHeader.CategoriesDescription .. ":"
|
text = LANG.SettingsHeader.CategoriesDescription .. ":"
|
||||||
}
|
}
|
||||||
@ -128,8 +150,8 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = catName,
|
name = catName,
|
||||||
tooltip = LANG.SettingsOption.CategoryTooltip .. " '" .. catName .. "'",
|
tooltip = LANG.SettingsOption.CategoryTooltip .. " '" .. catName .. "'",
|
||||||
getFunc = function() return AchievementInfo.settingGet("cat"..i) end,
|
getFunc = function() return AchievementInfo.settingGetForCategory("cat" .. i) end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("cat"..i) end
|
setFunc = function() AchievementInfo.settingToogle("cat" .. i) end
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -149,8 +171,8 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
})
|
})
|
||||||
|
|
||||||
-- Register
|
-- Register
|
||||||
LibAddonMenu2:RegisterAddonPanel(AchievementInfo.name.."SettingsPanel", panelData)
|
LibAddonMenu2:RegisterAddonPanel(AchievementInfo.name .. "SettingsPanel", panelData)
|
||||||
LibAddonMenu2:RegisterOptionControls(AchievementInfo.name.."SettingsPanel", optionsTable)
|
LibAddonMenu2:RegisterOptionControls(AchievementInfo.name .. "SettingsPanel", optionsTable)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -167,6 +189,18 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to retrieve settings for categories (default true)
|
||||||
|
function AchievementInfo.settingGetForCategory(id)
|
||||||
|
if AchievementInfo.savedVars[id] == nil then
|
||||||
|
AchievementInfo.savedVars[id] = true
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return AchievementInfo.savedVars[id]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to toggle Checkbox values
|
-- Function to toggle Checkbox values
|
||||||
function AchievementInfo.settingToogle(id)
|
function AchievementInfo.settingToogle(id)
|
||||||
if AchievementInfo.savedVars[id] == false then
|
if AchievementInfo.savedVars[id] == false then
|
||||||
@ -178,6 +212,17 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to toggle Checkbox value for accountWideSettings
|
||||||
|
function AchievementInfo.toggleAccountWideSettings()
|
||||||
|
if AchievementInfo.useAccountWideSettings["enabled"] == false then
|
||||||
|
AchievementInfo.useAccountWideSettings["enabled"] = true
|
||||||
|
else
|
||||||
|
AchievementInfo.useAccountWideSettings["enabled"] = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to set settings
|
-- Function to set settings
|
||||||
function AchievementInfo.settingSet(id, value)
|
function AchievementInfo.settingSet(id, value)
|
||||||
AchievementInfo.savedVars[id] = value
|
AchievementInfo.savedVars[id] = value
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
#### Notable Changes
|
#### Notable Changes
|
||||||
|
|
||||||
|
##### Release 4.0
|
||||||
|
* Added accountwide settings
|
||||||
|
* Added an "use accountwide settings" option to the settings of each character
|
||||||
|
|
||||||
##### Release 3.0
|
##### Release 3.0
|
||||||
* Removed the bundled Dependency LibAddonMenu-2.0: You have to download it on your own now
|
* Removed the bundled Dependency LibAddonMenu-2.0: You have to download it on your own now
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user