Skip to content

Commit

Permalink
Fixed a bug with settings changes not taking effect until reloading t…
Browse files Browse the repository at this point in the history
…he game.
  • Loading branch information
Slackluster committed Aug 15, 2024
1 parent 375f80e commit ee1c0b3
Showing 1 changed file with 5 additions and 19 deletions.
24 changes: 5 additions & 19 deletions Core.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,14 +58,10 @@ end
-------------

-- Create SavedVariables, default user settings, and session variables
function app.Initialise()
function app.InitialiseCore()
-- Declare SavedVariables
if not EquipRecommendedGear_Settings then EquipRecommendedGear_Settings = {} end

-- Enable default user settings
if EquipRecommendedGear_Settings["runAfterQuest"] == nil then EquipRecommendedGear_Settings["runAfterQuest"] = true end
if EquipRecommendedGear_Settings["chatMessage"] == nil then EquipRecommendedGear_Settings["chatMessage"] = 1 end

-- Declare session variables
app.DoingStuff = false
app.Flag = {}
Expand Down Expand Up @@ -125,7 +121,7 @@ function event:ADDON_LOADED(addOnName, containsBindings)
-- When it's our AddOn
if addOnName == appName then
-- Run the components
app.Initialise()
app.InitialiseCore()
app.CreateAssets()
app.Settings()

Expand Down Expand Up @@ -762,20 +758,14 @@ end
-- Settings
function app.Settings()
-- Settings page
function app.SettingChanged(_, setting, value)
local variable = setting:GetVariable()
EquipRecommendedGear_Settings[variable] = value
end

local category, layout = Settings.RegisterVerticalLayoutCategory(app.NameLong)
Settings.RegisterAddOnCategory(category)
app.Category = category

layout:AddInitializer(CreateSettingsListSectionHeaderInitializer(C_AddOns.GetAddOnMetadata("EquipRecommendedGear", "Version")))
layout:AddInitializer(CreateSettingsListSectionHeaderInitializer(C_AddOns.GetAddOnMetadata(appName, "Version")))

local cbVariable, cbName, cbTooltip = "runAfterQuest", "Run on quest completion", "Run "..app.NameShort.." when completing a quest, thus equipping any new quest rewards that are an item level upgrade."
local cbSetting = Settings.RegisterAddOnSetting(category, appName.."_"..cbVariable, cbVariable, EquipRecommendedGear_Settings, Settings.VarType.Boolean, cbName)
Settings.SetOnValueChangedCallback(cbVariable, app.SettingChanged)
local cbSetting = Settings.RegisterAddOnSetting(category, appName.."_"..cbVariable, cbVariable, EquipRecommendedGear_Settings, Settings.VarType.Boolean, cbName, true)

local ddVariable, ddName, ddTooltip = "chatMessage", "Send chat message", "These settings only affect the chat message sent after quest completion."
local function GetOptions()
Expand All @@ -785,16 +775,12 @@ function app.Settings()
container:Add(2, "Always send message", "Always send a chat message, even if "..app.NameShort.." hasn't equipped an item level upgrade.")
return container:GetData()
end
local ddSetting = Settings.RegisterAddOnSetting(category, appName.."_"..ddVariable, ddVariable, EquipRecommendedGear_Settings, Settings.VarType.Number, ddName)
Settings.SetOnValueChangedCallback(ddVariable, app.SettingChanged)
local ddSetting = Settings.RegisterAddOnSetting(category, appName.."_"..ddVariable, ddVariable, EquipRecommendedGear_Settings, Settings.VarType.Number, ddName, 1)

local initializer = CreateSettingsCheckboxDropdownInitializer(
cbSetting, cbName, cbTooltip,
ddSetting, GetOptions, ddName, ddTooltip)
layout:AddInitializer(initializer)

--initializer:AddSearchTags
--defaults?
end

-----------------
Expand Down

0 comments on commit ee1c0b3

Please sign in to comment.