diff --git a/ElvUI_SLE/defaults/private.lua b/ElvUI_SLE/defaults/private.lua index 8ab7991..a432443 100644 --- a/ElvUI_SLE/defaults/private.lua +++ b/ElvUI_SLE/defaults/private.lua @@ -38,7 +38,13 @@ V["sle"] = { ["setoverlay"] = false, ["lockbutton"] = false, }, - + ["Armory"] = { + ["ItemLevel"] = { + ["font"] = "PT Sans Narrow", + ["size"] = 12, + ["outline"] = "NONE", + }, + }, --Minimap Module ["minimap"] = { ["buttons"] = { diff --git a/ElvUI_SLE/modules/Armory/CharacterArmory/CharacterArmory.lua b/ElvUI_SLE/modules/Armory/CharacterArmory/CharacterArmory.lua index 9cd2329..dc7ac51 100644 --- a/ElvUI_SLE/modules/Armory/CharacterArmory/CharacterArmory.lua +++ b/ElvUI_SLE/modules/Armory/CharacterArmory/CharacterArmory.lua @@ -2,7 +2,7 @@ if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightF local SLE, T, E, L, V, P, G = unpack(select(2, ...)) local KF, Info, Timer = unpack(ElvUI_KnightFrame) ---GLOBALS: CreateFrame, UIParent, SLE_ArmoryDB, hooksecurefunc +--GLOBALS: CreateFrame, UIParent, SLE_ArmoryDB, hooksecurefunc, GetInventoryItemGems local _G = _G local _ local IsShiftKeyDown = IsShiftKeyDown @@ -421,8 +421,8 @@ function CA:Setup_CharacterArmory() end local function DCS_Check() - if DCS_ExpandCheck then - DCS_ExpandCheck:SetFrameLevel(CharacterModelFrame:GetFrameLevel() + 2) + if _G["DCS_ExpandCheck"] then + _G["DCS_ExpandCheck"]:SetFrameLevel(_G["CharacterModelFrame"]:GetFrameLevel() + 2) DCS_Check = nil end end @@ -843,6 +843,67 @@ function CA:Update_Display(Force) end end +function CA:UpdateSettings(part) + local db = E.db.sle.Armory.Character + if part == "ilvl" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["CharacterArmory"][SlotName] and _G["CharacterArmory"][SlotName].ItemLevel then + _G["CharacterArmory"][SlotName].ItemLevel:FontTemplate(E.LSM:Fetch('font', db.Level.Font),db.Level.FontSize,db.Level.FontStyle) + end + end + end + if part == "ench" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["CharacterArmory"][SlotName] then + if _G["CharacterArmory"][SlotName].ItemEnchant then + _G["CharacterArmory"][SlotName].ItemEnchant:FontTemplate(E.LSM:Fetch('font', db.Enchant.Font),db.Enchant.FontSize,db.Enchant.FontStyle) + end + if _G["CharacterArmory"][SlotName].EnchantWarning then + _G["CharacterArmory"][SlotName].EnchantWarning:Size(db.Enchant.WarningSize) + end + end + end + end + if part == "gem" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + for i = 1, MAX_NUM_SOCKETS do + if _G["CharacterArmory"][SlotName] and _G["CharacterArmory"][SlotName]["Socket"..i] then + _G["CharacterArmory"][SlotName]["Socket"..i]:Size(db.Gem.SocketSize) + else + break + end + end + if _G["CharacterArmory"][SlotName] and _G["CharacterArmory"][SlotName].SocketWarning then + _G["CharacterArmory"][SlotName].SocketWarning:Size(db.Gem.WarningSize) + end + end + end + if part == "dur" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["CharacterArmory"][SlotName] and _G["CharacterArmory"][SlotName].Durability then + _G["CharacterArmory"][SlotName].Durability:FontTemplate(E.LSM:Fetch('font', db.Durability.Font),db.Durability.FontSize,db.Durability.FontStyle) + end + end + end + if part == "bg" or part == "all" then + _G["CharacterArmory"]:Update_BG() + end + if part == "gear" or part == "all" then + _G["CharacterArmory"]:Update_Gear() + _G["CharacterArmory"]:Update_Display(true) + end +end + +function CA:UpdateIlvlFont() + local db = E.private.sle.Armory.ItemLevel + _G["CharacterStatsPane"].ItemLevelFrame.Value:FontTemplate(E.LSM:Fetch('font', db.font), db.size, db.outline) + _G["CharacterStatsPane"].ItemLevelFrame:SetHeight(db.size + 4) + _G["CharacterStatsPane"].ItemLevelFrame.Background:SetHeight(db.size + 4) + _G["CharacterStatsPane"].ItemLevelFrame.leftGrad:SetHeight(db.size + 4) + _G["CharacterStatsPane"].ItemLevelFrame.rightGrad:SetHeight(db.size + 4) + +end + KF.Modules[#KF.Modules + 1] = 'CharacterArmory' KF.Modules.CharacterArmory = function() if E.db.sle.Armory.Character.Enable ~= false then @@ -932,12 +993,9 @@ KF.Modules.CharacterArmory = function() end if SLE._Compatibility["DejaCharacterStats"] then return end --Resize and reposition god damned ilevel text - CharacterStatsPane.ItemLevelFrame:SetPoint("TOP", CharacterStatsPane.ItemLevelCategory, "BOTTOM", 0, 6) - CharacterStatsPane.ItemLevelFrame:SetHeight(15) - CharacterStatsPane.ItemLevelFrame.Background:SetHeight(15) - CharacterStatsPane.ItemLevelFrame.leftGrad:SetHeight(15) - CharacterStatsPane.ItemLevelFrame.rightGrad:SetHeight(15) - CharacterStatsPane.ItemLevelFrame.Value:FontTemplate() + _G["CharacterStatsPane"].ItemLevelFrame:SetPoint("TOP", _G["CharacterStatsPane"].ItemLevelCategory, "BOTTOM", 0, 6) + CA:UpdateIlvlFont() hooksecurefunc("PaperDollFrame_UpdateStats", CA.PaperDollFrame_UpdateStats) + -- PaperDollFrame_UpdateStats = CA.PaperDollFrame_UpdateStats() CA:ToggleStats() end \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/CharacterArmory/Stats.lua b/ElvUI_SLE/modules/Armory/CharacterArmory/Stats.lua index cf50260..d4be0bd 100644 --- a/ElvUI_SLE/modules/Armory/CharacterArmory/Stats.lua +++ b/ElvUI_SLE/modules/Armory/CharacterArmory/Stats.lua @@ -2,7 +2,26 @@ local SLE, T, E, L, V, P, G = unpack(select(2, ...)) if SLE._Compatibility["DejaCharacterStats"] then return end --Credits: Dejablue ---GLOBALS: PAPERDOLL_STATCATEGORIES +--GLOBALS: PAPERDOLL_STATCATEGORIES, PAPERDOLL_STATINFO, PaperDollFrame_SetAttackSpeed, PaperDollFrame_SetMovementSpeed +local _G = _G +local math_min, math_max= math.min, math.max + +local GetMeleeHaste, UnitAttackSpeed = GetMeleeHaste, UnitAttackSpeed +local BreakUpLargeNumbers = BreakUpLargeNumbers +local PaperDollFrame_SetLabelAndText = PaperDollFrame_SetLabelAndText +local UnitSex = UnitSex +-- local PaperDollFrame_UpdateStats = PaperDollFrame_UpdateStats +local PaperDollFrame_SetItemLevel = PaperDollFrame_SetItemLevel +local GetItemLevelColor = GetItemLevelColor +local MovementSpeed_OnEnter, MovementSpeed_OnUpdate = MovementSpeed_OnEnter, MovementSpeed_OnUpdate + +local LE_UNIT_STAT_STRENGTH, LE_UNIT_STAT_AGILITY, LE_UNIT_STAT_INTELLECT = LE_UNIT_STAT_STRENGTH, LE_UNIT_STAT_AGILITY, LE_UNIT_STAT_INTELLECT +local STAT_ATTACK_SPEED_BASE_TOOLTIP = STAT_ATTACK_SPEED_BASE_TOOLTIP +local FONT_COLOR_CODE_CLOSE, HIGHLIGHT_FONT_COLOR_CODE = FONT_COLOR_CODE_CLOSE, HIGHLIGHT_FONT_COLOR_CODE +local ATTACK_SPEED = ATTACK_SPEED +local PAPERDOLLFRAME_TOOLTIP_FORMAT = PAPERDOLLFRAME_TOOLTIP_FORMAT +local WEAPON_SPEED = WEAPON_SPEED + local CA = CharacterArmory local totalShown = 0 @@ -10,10 +29,11 @@ local totalShown = 0 function PaperDollFrame_SetAttackSpeed(statFrame, unit) local meleeHaste = GetMeleeHaste(); local speed, offhandSpeed = UnitAttackSpeed(unit); + local displaySpeedxt - local displaySpeed = format("%.2f", speed); + local displaySpeed = T.format("%.2f", speed); if ( offhandSpeed ) then - offhandSpeed = format("%.2f", offhandSpeed); + offhandSpeed = T.format("%.2f", offhandSpeed); end if ( offhandSpeed ) then displaySpeedxt = BreakUpLargeNumbers(displaySpeed).." / ".. offhandSpeed; @@ -22,9 +42,9 @@ function PaperDollFrame_SetAttackSpeed(statFrame, unit) end PaperDollFrame_SetLabelAndText(statFrame, WEAPON_SPEED, displaySpeed, false, speed); - statFrame.tooltip = HIGHLIGHT_FONT_COLOR_CODE..format(PAPERDOLLFRAME_TOOLTIP_FORMAT, ATTACK_SPEED).." "..displaySpeed..FONT_COLOR_CODE_CLOSE; - statFrame.tooltip2 = format(STAT_ATTACK_SPEED_BASE_TOOLTIP, BreakUpLargeNumbers(meleeHaste)); - + statFrame.tooltip = HIGHLIGHT_FONT_COLOR_CODE..T.format(PAPERDOLLFRAME_TOOLTIP_FORMAT, ATTACK_SPEED).." "..displaySpeed..FONT_COLOR_CODE_CLOSE; + statFrame.tooltip2 = T.format(STAT_ATTACK_SPEED_BASE_TOOLTIP, BreakUpLargeNumbers(meleeHaste)); + statFrame:Show(); end @@ -32,7 +52,7 @@ function PaperDollFrame_SetMovementSpeed(statFrame, unit) statFrame.wasSwimming = nil; statFrame.unit = unit; MovementSpeed_OnUpdate(statFrame); - + statFrame.onEnterFunc = MovementSpeed_OnEnter; -- TODO: Fix if we decide to show movement speed -- statFrame:SetScript("OnUpdate", MovementSpeed_OnUpdate); @@ -102,50 +122,49 @@ function CA:PaperDollFrame_UpdateStats() if E.db.sle.Armory.Character.Stats.IlvlColor then local R, G, B = E:ColorGradient((equipped / total), 1, 0, 0, 1, 1, 0, 0, 1, 0) local avColor = E.db.sle.Armory.Character.Stats.AverageColor - CharacterStatsPane.ItemLevelFrame.Value:SetFormattedText("%s%.2f|r / %s%.2f|r", E:RGBToHex(R, G, B), equipped, E:RGBToHex(avColor.r, avColor.g, avColor.b), total) + _G["CharacterStatsPane"].ItemLevelFrame.Value:SetFormattedText("%s%.2f|r / %s%.2f|r", E:RGBToHex(R, G, B), equipped, E:RGBToHex(avColor.r, avColor.g, avColor.b), total) else - CharacterStatsPane.ItemLevelFrame.Value:SetFormattedText("%.2f / %.2f", equipped, total) + _G["CharacterStatsPane"].ItemLevelFrame.Value:SetFormattedText("%.2f / %.2f", equipped, total) end else - CharacterStatsPane.ItemLevelFrame.Value:SetTextColor(GetItemLevelColor()) - PaperDollFrame_SetItemLevel(CharacterStatsPane.ItemLevelFrame, "player"); + _G["CharacterStatsPane"].ItemLevelFrame.Value:SetTextColor(GetItemLevelColor()) + PaperDollFrame_SetItemLevel(_G["CharacterStatsPane"].ItemLevelFrame, "player"); end - CharacterStatsPane.AttributesCategory:SetPoint("TOP", CharacterStatsPane.ItemLevelFrame, "BOTTOM", 0, 6) + _G["CharacterStatsPane"].AttributesCategory:SetPoint("TOP", _G["CharacterStatsPane"].ItemLevelFrame, "BOTTOM", 0, 6) - local level = UnitLevel("player"); + local level = T.UnitLevel("player"); local categoryYOffset = 6; local statYOffset = 0; - CharacterStatsPane.ItemLevelCategory:Show(); - CharacterStatsPane.ItemLevelFrame:Show(); + _G["CharacterStatsPane"].ItemLevelCategory:Show(); + _G["CharacterStatsPane"].ItemLevelFrame:Show(); - local spec = GetSpecialization(); - local role = GetSpecializationRole(spec); + local spec = T.GetSpecialization(); + local role = T.GetSpecializationRole(spec); - CharacterStatsPane.statsFramePool:ReleaseAll(); + _G["CharacterStatsPane"].statsFramePool:ReleaseAll(); -- we need a stat frame to first do the math to know if we need to show the stat frame -- so effectively we'll always pre-allocate - local statFrame = CharacterStatsPane.statsFramePool:Acquire(); + local statFrame = _G["CharacterStatsPane"].statsFramePool:Acquire(); local lastAnchor; for catIndex = 1, #PAPERDOLL_STATCATEGORIES do - local catFrame = CharacterStatsPane[PAPERDOLL_STATCATEGORIES[catIndex].categoryFrame]; + local catFrame = _G["CharacterStatsPane"][PAPERDOLL_STATCATEGORIES[catIndex].categoryFrame]; local numStatInCat = 0; for statIndex = 1, #PAPERDOLL_STATCATEGORIES[catIndex].stats do local stat = PAPERDOLL_STATCATEGORIES[catIndex].stats[statIndex]; local showStat = true; if ( showStat and stat.primary ) then - local primaryStat = select(7, GetSpecializationInfo(spec, nil, nil, nil, UnitSex("player"))); + local primaryStat = T.select(7, T.GetSpecializationInfo(spec, nil, nil, nil, UnitSex("player"))); if ( stat.primary ~= primaryStat ) and E.db.sle.Armory.Character.Stats.OnlyPrimary then showStat = false; end end if ( showStat and stat.roles ) then local foundRole = false; - -- local foundRole = true; - for _, statRole in pairs(stat.roles) do + for _, statRole in T.pairs(stat.roles) do if ( role == statRole ) then foundRole = true; break; @@ -173,14 +192,14 @@ function CA:PaperDollFrame_UpdateStats() lastAnchor = statFrame; end -- done with this stat frame, get the next one - statFrame = CharacterStatsPane.statsFramePool:Acquire(); + statFrame = _G["CharacterStatsPane"].statsFramePool:Acquire(); end end end catFrame:SetShown(numStatInCat > 0); end -- release the current stat frame - CharacterStatsPane.statsFramePool:Release(statFrame); + _G["CharacterStatsPane"].statsFramePool:Release(statFrame); if totalShown > 16 then CA.Scrollbar:Show() else @@ -241,10 +260,10 @@ CA.ScrollFrame:SetScript("OnMouseWheel", function(self, delta) local min_val, max_val = CA.Scrollbar:GetMinMaxValues() if delta < 0 and cur_val < max_val then - cur_val = math.min(max_val, cur_val + 22) + cur_val = math_min(max_val, cur_val + 22) CA.Scrollbar:SetValue(cur_val) elseif delta > 0 and cur_val > min_val then - cur_val = math.max(min_val, cur_val - 22) + cur_val = math_max(min_val, cur_val - 22) CA.Scrollbar:SetValue(cur_val) end end) \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/Config.lua b/ElvUI_SLE/modules/Armory/Config.lua index 956b5cd..bb2bec0 100644 --- a/ElvUI_SLE/modules/Armory/Config.lua +++ b/ElvUI_SLE/modules/Armory/Config.lua @@ -2,6 +2,15 @@ local SLE, T, E, L, V, P, G = unpack(select(2, ...)) local KF, Info, Timer = unpack(ElvUI_KnightFrame) +--GLOBALS: SLE_ArmoryDB, AceGUIWidgetLSMlists, PaperDollFrame_UpdateStats +local _G = _G +-- local PaperDollFrame_UpdateStats = PaperDollFrame_UpdateStats +local UnitPowerType = UnitPowerType + +local MAX_NUM_SOCKETS = MAX_NUM_SOCKETS +local ALTERNATE_RESOURCE_TEXT, DAMAGE, ATTACK_POWER, ATTACK_SPEED, STAT_SPELLPOWER, STAT_ENERGY_REGEN, STAT_RUNE_REGEN, STAT_FOCUS_REGEN, STAT_SPEED, DURABILITY, HIDE = ALTERNATE_RESOURCE_TEXT, DAMAGE, ATTACK_POWER, ATTACK_SPEED, STAT_SPELLPOWER, STAT_ENERGY_REGEN, STAT_RUNE_REGEN, STAT_FOCUS_REGEN, STAT_SPEED, DURABILITY, HIDE +local FACTION_ALLIANCE, FACTION_HORDE, ARENA, NONE, STAT_CATEGORY_ATTRIBUTES, STAT_CATEGORY_ATTRIBUTES = FACTION_ALLIANCE, FACTION_HORDE, ARENA, NONE, STAT_CATEGORY_ATTRIBUTES, STAT_CATEGORY_ATTRIBUTES +local ADD, DELETE, HEALTH = ADD, DELETE, HEALTH if not (KF and KF.Modules and (KF.Modules.CharacterArmory or KF.Modules.InspectArmory)) then return end @@ -22,7 +31,7 @@ local function LoadArmoryConfigTable() EnchantString = { type = 'group', name = L["Enchant String"], - order = 300, + order = 700, args = { Space = { type = 'description', @@ -74,7 +83,7 @@ local function LoadArmoryConfigTable() values = function() local List = {} List[""] = NONE - for Name, _ in pairs(SLE_ArmoryDB.EnchantString) do + for Name, _ in T.pairs(SLE_ArmoryDB.EnchantString) do List[Name] = Name end if not SelectedEnchantString then @@ -109,12 +118,12 @@ local function LoadArmoryConfigTable() set = function(_, value) SLE_ArmoryDB.EnchantString[SelectedEnchantString]["original"] = value - if CharacterArmory then - CharacterArmory:Update_Gear() + if _G["CharacterArmory"] then + _G["CharacterArmory"]:Update_Gear() end - if InspectArmory and InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"] and _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end @@ -129,12 +138,12 @@ local function LoadArmoryConfigTable() set = function(_, value) SLE_ArmoryDB.EnchantString[SelectedEnchantString]["new"] = value - if CharacterArmory then - CharacterArmory:Update_Gear() + if _G["CharacterArmory"] then + _G["CharacterArmory"]:Update_Gear() end - if InspectArmory and InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"] and _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end @@ -149,12 +158,12 @@ local function LoadArmoryConfigTable() SLE_ArmoryDB.EnchantString[SelectedEnchantString] = nil SelectedEnchantString = '' - if CharacterArmory then - CharacterArmory:Update_Gear() + if _G["CharacterArmory"] then + _G["CharacterArmory"]:Update_Gear() end - if InspectArmory and InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"] and _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end end, @@ -236,11 +245,7 @@ local function LoadArmoryConfigTable() order = 1, desc = '', get = function() return E.db.sle.Armory.Character.Enable end, - set = function(_, value) - E.db.sle.Armory.Character.Enable = value - - KF.Modules.CharacterArmory() - end + set = function(_, value) E.db.sle.Armory.Character.Enable = value; KF.Modules.CharacterArmory() end } local SelectedCABG @@ -253,28 +258,16 @@ local function LoadArmoryConfigTable() type = 'toggle', name = L["Show Missing Enchants or Gems"], order = 1, - desc = '', get = function() return E.db.sle.Armory.Character.NoticeMissing end, - set = function(_, value) - E.db.sle.Armory.Character.NoticeMissing = value - - CharacterArmory:Update_Gear() - CharacterArmory:Update_Display(true) - end, + set = function(_, value) E.db.sle.Armory.Character.NoticeMissing = value; _G["CharacterArmory"]:UpdateSettings("gear") end, disabled = function() return not E.db.sle.Armory.Character.Enable end, }, MissingIcon = { type = 'toggle', name = L["Show Warning Icon"], order = 2, - desc = '', get = function() return E.db.sle.Armory.Character.MissingIcon end, - set = function(_, value) - E.db.sle.Armory.Character.MissingIcon = value - - CharacterArmory:Update_Gear() - CharacterArmory:Update_Display(true) - end, + set = function(_, value) E.db.sle.Armory.Character.MissingIcon = value; _G["CharacterArmory"]:UpdateSettings("gear") end, disabled = function() return not E.db.sle.Armory.Character.Enable or not E.db.sle.Armory.Character.NoticeMissing end, }, Stats = { @@ -324,16 +317,46 @@ local function LoadArmoryConfigTable() name = L["Only Relevant Stats"], desc = L["Show only those primary stats relevant to your spec."], }, + IlvlFont = { + type = 'group', + name = L["Font"], + order = 5, + guiInline = true, + get = function(info) return E.private.sle.Armory.ItemLevel[ info[#info] ] end, + set = function(info, value) E.private.sle.Armory.ItemLevel[ info[#info] ] = value; _G["CharacterArmory"]:UpdateIlvlFont() end, + args = { + font = { + type = 'select', dialogControl = 'LSM30_Font', + name = L["Font"], + order = 1, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + }, + size = { + type = 'range', + name = L["Font Size"], + order = 2, + min = 6,max = 22,step = 1, + }, + outline = { + type = 'select', + name = L["Font Outline"], + order = 3, + values = FontStyleList, + } + }, + }, Stats = { type = 'group', name = STAT_CATEGORY_ATTRIBUTES, order = 6, guiInline = true, get = function(info) return E.db.sle.Armory.Character.Stats.List[ info[#info] ] end, - set = function(info, value) E.db.sle.Armory.Character.Stats.List[ info[#info] ] = value; CharacterArmory:ToggleStats() end, + set = function(info, value) E.db.sle.Armory.Character.Stats.List[ info[#info] ] = value; _G["CharacterArmory"]:ToggleStats() end, args = { HEALTH = { order = 1,type = "toggle",name = HEALTH,}, - POWER = { order = 2,type = "toggle",name = _G[select(2, UnitPowerType("player"))],}, + POWER = { order = 2,type = "toggle",name = _G[T.select(2, UnitPowerType("player"))],}, ALTERNATEMANA = { order = 3,type = "toggle",name = ALTERNATE_RESOURCE_TEXT,}, ATTACK_DAMAGE = { order = 4,type = "toggle",name = DAMAGE,}, ATTACK_AP = { order = 5,type = "toggle",name = ATTACK_POWER,}, @@ -358,19 +381,14 @@ local function LoadArmoryConfigTable() name = L["Select Image"], order = 1, get = function() - for Index, Key in pairs(BackdropKeyTable) do + for Index, Key in T.pairs(BackdropKeyTable) do if Key == E.db.sle.Armory.Character.Backdrop.SelectedBG then return Index end end - return '1' end, - set = function(_, value) - E.db.sle.Armory.Character.Backdrop.SelectedBG = BackdropKeyTable[value] - - CharacterArmory:Update_BG() - end, + set = function(_, value) E.db.sle.Armory.Character.Backdrop.SelectedBG = BackdropKeyTable[value]; _G["CharacterArmory"]:UpdateSettings("bg") end, values = function() return BackgroundList end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, @@ -378,13 +396,8 @@ local function LoadArmoryConfigTable() type = 'input', name = L["Custom Image Path"], order = 2, - desc = '', get = function() return E.db.sle.Armory.Character.Backdrop.CustomAddress end, - set = function(_, value) - E.db.sle.Armory.Character.Backdrop.CustomAddress = value - - CharacterArmory:Update_BG() - end, + set = function(_, value) E.db.sle.Armory.Character.Backdrop.CustomAddress = value; _G["CharacterArmory"]:UpdateSettings("bg") end, width = 'double', disabled = function() return E.db.sle.Armory.Character.Enable == false end, hidden = function() return E.db.sle.Armory.Character.Backdrop.SelectedBG ~= 'CUSTOM' end @@ -407,11 +420,7 @@ local function LoadArmoryConfigTable() name = L["Enable"], order = 1, get = function() return E.db.sle.Armory.Character.Gradation.Display end, - set = function(_, value) - E.db.sle.Armory.Character.Gradation.Display = value - - CharacterArmory:Update_Gear() - end, + set = function(_, value) E.db.sle.Armory.Character.Gradation.Display = value; _G["CharacterArmory"]:Update_Gear() end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, Color = { @@ -424,11 +433,7 @@ local function LoadArmoryConfigTable() E.db.sle.Armory.Character.Gradation.Color[3], E.db.sle.Armory.Character.Gradation.Color[4] end, - set = function(Info, r, g, b, a) - E.db.sle.Armory.Character.Gradation.Color = { r, g, b, a } - - CharacterArmory:Update_Gear() - end, + set = function(Info, r, g, b, a) E.db.sle.Armory.Character.Gradation.Color = { r, g, b, a }; _G["CharacterArmory"]:Update_Gear() end, disabled = function() return E.db.sle.Armory.Character.Enable == false or E.db.sle.Armory.Character.Gradation.Display == false end }, } @@ -444,32 +449,13 @@ local function LoadArmoryConfigTable() order = 7, guiInline = true, get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if CharacterArmory[SlotName] and CharacterArmory[SlotName].ItemLevel then - CharacterArmory[SlotName].ItemLevel:FontTemplate( - E.LSM:Fetch('font', E.db.sle.Armory.Character.Level.Font) - , - E.db.sle.Armory.Character.Level.FontSize - , - E.db.sle.Armory.Character.Level.FontStyle - ) - end - end - end, + set = function(info, value) E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value; _G["CharacterArmory"]:UpdateSettings("ilvl") end, args = { Display = { type = 'select', name = L["Visibility"], order = 1, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - CharacterArmory:Update_Gear() - CharacterArmory:Update_Display(true) - end, + set = function(info, value) E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value; _G["CharacterArmory"]:UpdateSettings("gear") end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, @@ -477,42 +463,32 @@ local function LoadArmoryConfigTable() type = 'toggle', name = L["Upgrade Level"], order = 2, - set = function(_, value) - E.db.sle.Armory.Character.Level.ShowUpgradeLevel = value - - CharacterArmory:Update_Gear() - end, + set = function(_, value) E.db.sle.Armory.Character.Level.ShowUpgradeLevel = value; _G["CharacterArmory"]:Update_Gear() end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, Space = { type = 'description', - name = ' ', + name = '', order = 3 }, Font = { type = 'select', dialogControl = 'LSM30_Font', name = L["Font"], order = 4, - values = function() - return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} - end, + values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontSize = { type = 'range', name = L["Font Size"], order = 5, - desc = '', - min = 6, - max = 22, - step = 1, + min = 6, max = 22, step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontStyle = { type = 'select', name = L["Font Outline"], order = 6, - desc = '', values = FontStyleList, disabled = function() return E.db.sle.Armory.Character.Enable == false end } @@ -520,7 +496,7 @@ local function LoadArmoryConfigTable() }, Space4 = { type = 'description', - name = ' ', + name = '', order = 8 }, Enchant = { @@ -529,32 +505,12 @@ local function LoadArmoryConfigTable() order = 9, guiInline = true, get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if CharacterArmory[SlotName] and CharacterArmory[SlotName].ItemEnchant then - CharacterArmory[SlotName].ItemEnchant:FontTemplate( - E.LSM:Fetch('font', E.db.sle.Armory.Character.Enchant.Font) - , - E.db.sle.Armory.Character.Enchant.FontSize - , - E.db.sle.Armory.Character.Enchant.FontStyle - ) - end - end - end, + set = function(info, value) E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value; _G["CharacterArmory"]:UpdateSettings("ench") end, args = { Display = { type = 'select', name = L["Visibility"], order = 1, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - CharacterArmory:Update_Gear() - CharacterArmory:Update_Display(true) - end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, @@ -562,60 +518,39 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Warning Size"], order = 2, - set = function(_, value) - E.db.sle.Armory.Character.Enchant.WarningSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if CharacterArmory[SlotName] and CharacterArmory[SlotName].EnchantWarning then - CharacterArmory[SlotName].EnchantWarning:Size(value) - end - end - end, - min = 6, - max = 50, - step = 1, + min = 6, max = 50, step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, WarningIconOnly = { type = 'toggle', name = L["Warning Only As Icons"], order = 3, - set = function(_, value) - E.db.sle.Armory.Character.Enchant.WarningIconOnly = value - - CharacterArmory:Update_Gear() - end, + set = function(_, value) E.db.sle.Armory.Character.Enchant.WarningIconOnly = value; _G["CharacterArmory"]:Update_Gear() end, disabled = function() return E.db.sle.Armory.Character.Enable == false end, }, Space = { type = 'description', - name = ' ', + name = '', order = 4 }, Font = { type = 'select', dialogControl = 'LSM30_Font', name = L["Font"], order = 5, - values = function() - return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} - end, + values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontSize = { type = 'range', name = L["Font Size"], order = 6, - desc = '', - min = 6, - max = 22, - step = 1, + min = 6, max = 22, step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontStyle = { type = 'select', name = L["Font Outline"], order = 7, - desc = '', values = FontStyleList, disabled = function() return E.db.sle.Armory.Character.Enable == false end } @@ -623,7 +558,7 @@ local function LoadArmoryConfigTable() }, Space5 = { type = 'description', - name = ' ', + name = '', order = 10 }, Durability = { @@ -632,32 +567,13 @@ local function LoadArmoryConfigTable() order = 11, guiInline = true, get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if CharacterArmory[SlotName] and CharacterArmory[SlotName].Durability then - CharacterArmory[SlotName].Durability:FontTemplate( - E.LSM:Fetch('font', E.db.sle.Armory.Character.Durability.Font) - , - E.db.sle.Armory.Character.Durability.FontSize - , - E.db.sle.Armory.Character.Durability.FontStyle - ) - end - end - end, + set = function(info, value) E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value; _G["CharacterArmory"]:UpdateSettings("dur") end, args = { Display = { type = 'select', name = L["Visibility"], order = 1, - set = function(info, value) - E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value - - CharacterArmory:Update_Durability() - CharacterArmory:Update_Display(true) - end, + set = function(info, value) E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value; _G["CharacterArmory"]:UpdateSettings("gear") end, values = { Always = L["Always Display"], DamagedOnly = L["Only Damaged"], @@ -668,33 +584,27 @@ local function LoadArmoryConfigTable() }, Space = { type = 'description', - name = ' ', + name = '', order = 2 }, Font = { type = 'select', dialogControl = 'LSM30_Font', name = L["Font"], order = 3, - values = function() - return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} - end, + values = function() return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} end, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontSize = { type = 'range', name = L["Font Size"], order = 4, - desc = '', - min = 6, - max = 22, - step = 1, + min = 6, max = 22, step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, FontStyle = { type = 'select', name = L["Font Outline"], order = 5, - desc = '', values = FontStyleList, disabled = function() return E.db.sle.Armory.Character.Enable == false end } @@ -702,7 +612,7 @@ local function LoadArmoryConfigTable() }, Space6 = { type = 'description', - name = ' ', + name = '', order = 12 }, Gem = { @@ -716,12 +626,7 @@ local function LoadArmoryConfigTable() type = 'select', name = L["Visibility"], order = 1, - set = function(Info, value) - E.db.sle.Armory.Character[(Info[#Info - 1])][(Info[#Info])] = value - - CharacterArmory:Update_Gear() - CharacterArmory:Update_Display(true) - end, + set = function(Info, value) E.db.sle.Armory.Character[(Info[#Info - 1])][(Info[#Info])] = value; _G["CharacterArmory"]:UpdateSettings("gem") end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, @@ -729,40 +634,15 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Socket Size"], order = 2, - set = function(_, value) - E.db.sle.Armory.Character.Gem.SocketSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - for i = 1, MAX_NUM_SOCKETS do - if CharacterArmory[SlotName] and CharacterArmory[SlotName]["Socket"..i] then - CharacterArmory[SlotName]["Socket"..i]:Size(value) - else - break - end - end - end - end, - min = 6, - max = 50, - step = 1, + set = function(_, value) E.db.sle.Armory.Character.Gem.SocketSize = value; _G["CharacterArmory"]:UpdateSettings("gem") end, + min = 6, max = 50, step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, WarningSize = { type = 'range', name = L["Warning Size"], order = 3, - set = function(_, value) - E.db.sle.Armory.Character.Gem.WarningSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if CharacterArmory[SlotName] and CharacterArmory[SlotName].SocketWarning then - CharacterArmory[SlotName].SocketWarning:Size(value) - end - end - end, - min = 6, - max = 50, - step = 1, + min = 6,max = 50,step = 1, disabled = function() return E.db.sle.Armory.Character.Enable == false end }, } @@ -791,13 +671,8 @@ local function LoadArmoryConfigTable() type = 'toggle', name = L["Inspect Armory"], order = 2, - desc = '', get = function() return E.db.sle.Armory.Inspect.Enable end, - set = function(_, value) - E.db.sle.Armory.Inspect.Enable = value - - KF.Modules.InspectArmory() - end + set = function(_, value) E.db.sle.Armory.Inspect.Enable = value; KF.Modules.InspectArmory() end } E.Options.args.sle.args.modules.args.Armory.args.Inspect = { @@ -809,15 +684,14 @@ local function LoadArmoryConfigTable() type = 'toggle', name = L["Show Missing Enchants or Gems"], order = 1, - desc = '', get = function() return E.db.sle.Armory.Inspect.NoticeMissing end, set = function(_, value) E.db.sle.Armory.Inspect.NoticeMissing = value - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end - InspectArmory:Update_Display(true) + _G["InspectArmory"]:Update_Display(true) end, disabled = function() return not E.db.sle.Armory.Inspect.Enable end, }, @@ -825,15 +699,14 @@ local function LoadArmoryConfigTable() type = 'toggle', name = L["Show Warning Icon"], order = 2, - desc = '', get = function() return E.db.sle.Armory.Inspect.MissingIcon end, set = function(_, value) E.db.sle.Armory.Inspect.MissingIcon = value - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end - InspectArmory:Update_Display(true) + _G["InspectArmory"]:Update_Display(true) end, disabled = function() return not E.db.sle.Armory.Inspect.Enable or not E.db.sle.Armory.Inspect.NoticeMissing end, }, @@ -848,18 +721,17 @@ local function LoadArmoryConfigTable() name = L["Select Image"], order = 1, get = function() - for Index, Key in pairs(BackdropKeyTable) do + for Index, Key in T.pairs(BackdropKeyTable) do if Key == E.db.sle.Armory.Inspect.Backdrop.SelectedBG then return Index end end - return '1' end, set = function(_, value) E.db.sle.Armory.Inspect.Backdrop.SelectedBG = BackdropKeyTable[value] - InspectArmory:Update_BG() + _G["InspectArmory"]:Update_BG() end, values = function() return BackgroundList end, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end @@ -868,12 +740,11 @@ local function LoadArmoryConfigTable() type = 'input', name = L["Custom Image Path"], order = 2, - desc = '', get = function() return E.db.sle.Armory.Inspect.Backdrop.CustomAddress end, set = function(_, value) E.db.sle.Armory.Inspect.Backdrop.CustomAddress = value - InspectArmory:Update_BG() + _G["InspectArmory"]:Update_BG() end, width = 'double', disabled = function() return E.db.sle.Armory.Inspect.Enable == false end, @@ -883,7 +754,7 @@ local function LoadArmoryConfigTable() }, Space2 = { type = 'description', - name = ' ', + name = '', order = 4 }, Gradation = { @@ -900,8 +771,8 @@ local function LoadArmoryConfigTable() set = function(_, value) E.db.sle.Armory.Inspect.Gradation.Display = value - if InspectArmory and InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"] and _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end @@ -919,8 +790,8 @@ local function LoadArmoryConfigTable() set = function(Info, r, g, b, a) E.db.sle.Armory.Inspect.Gradation.Color = { r, g, b, a } - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Inspect.Enable == false or E.db.sle.Armory.Inspect.Gradation.Display == false end @@ -929,7 +800,7 @@ local function LoadArmoryConfigTable() }, Space3 = { type = 'description', - name = ' ', + name = '', order = 6 }, Level = { @@ -938,21 +809,7 @@ local function LoadArmoryConfigTable() order = 7, guiInline = true, get = function(info) return E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] end, - set = function(info, value) - E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if InspectArmory[SlotName] and InspectArmory[SlotName].Gradation and InspectArmory[SlotName].Gradation.ItemLevel then - InspectArmory[SlotName].Gradation.ItemLevel:FontTemplate( - E.LSM:Fetch('font', E.db.sle.Armory.Inspect.Level.Font) - , - E.db.sle.Armory.Inspect.Level.FontSize - , - E.db.sle.Armory.Inspect.Level.FontStyle - ) - end - end - end, + set = function(info, value) E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value; _G["InspectArmory"]:UpdateSettings("ilvl") end, args = { Display = { type = 'select', @@ -961,10 +818,10 @@ local function LoadArmoryConfigTable() set = function(info, value) E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end - InspectArmory:Update_Display(true) + _G["InspectArmory"]:Update_Display(true) end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end @@ -976,15 +833,15 @@ local function LoadArmoryConfigTable() set = function(_, value) E.db.sle.Armory.Inspect.Level.ShowUpgradeLevel = value - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, Space = { type = 'description', - name = ' ', + name = '', order = 3 }, Font = { @@ -1000,17 +857,13 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Font Size"], order = 5, - desc = '', - min = 6, - max = 22, - step = 1, + min = 6,max = 22,step = 1, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, FontStyle = { type = 'select', name = L["Font Outline"], order = 6, - desc = '', values = FontStyleList, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end } @@ -1018,7 +871,7 @@ local function LoadArmoryConfigTable() }, Space4 = { type = 'description', - name = ' ', + name = '', order = 8 }, Enchant = { @@ -1027,21 +880,7 @@ local function LoadArmoryConfigTable() order = 9, guiInline = true, get = function(info) return E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] end, - set = function(info, value) - E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if InspectArmory[SlotName] and InspectArmory[SlotName].Gradation and InspectArmory[SlotName].Gradation.ItemEnchant then - InspectArmory[SlotName].Gradation.ItemEnchant:FontTemplate( - E.LSM:Fetch('font', E.db.sle.Armory.Inspect.Enchant.Font) - , - E.db.sle.Armory.Inspect.Enchant.FontSize - , - E.db.sle.Armory.Inspect.Enchant.FontStyle - ) - end - end - end, + set = function(info, value) E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value; _G["InspectArmory"]:UpdateSettings("ench") end, args = { Display = { type = 'select', @@ -1050,10 +889,10 @@ local function LoadArmoryConfigTable() set = function(info, value) E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end - InspectArmory:Update_Display(true) + _G["InspectArmory"]:Update_Display(true) end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end @@ -1062,18 +901,7 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Warning Size"], order = 2, - set = function(_, value) - E.db.sle.Armory.Inspect.Enchant.WarningSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if InspectArmory[SlotName] and InspectArmory[SlotName].EnchantWarning then - InspectArmory[SlotName].EnchantWarning:Size(value) - end - end - end, - min = 6, - max = 50, - step = 1, + min = 6, max = 50, step = 1, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, WarningIconOnly = { @@ -1082,16 +910,15 @@ local function LoadArmoryConfigTable() order = 3, set = function(_, value) E.db.sle.Armory.Inspect.Enchant.WarningIconOnly = value - - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end end, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end, }, Space = { type = 'description', - name = ' ', + name = '', order = 4 }, Font = { @@ -1107,17 +934,13 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Font Size"], order = 6, - desc = '', - min = 6, - max = 22, - step = 1, + min = 6, max = 22, step = 1, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, FontStyle = { type = 'select', name = L["Font Outline"], order = 7, - desc = '', values = FontStyleList, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end } @@ -1125,7 +948,7 @@ local function LoadArmoryConfigTable() }, Space5 = { type = 'description', - name = ' ', + name = '', order = 10 }, Gem = { @@ -1141,11 +964,10 @@ local function LoadArmoryConfigTable() order = 1, set = function(Info, value) E.db.sle.Armory.Inspect[(Info[#Info - 1])][(Info[#Info])] = value - - if InspectArmory.LastDataSetting then - InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + if _G["InspectArmory"].LastDataSetting then + _G["InspectArmory"]:InspectFrame_DataSetting(_G["InspectArmory"].CurrentInspectData) end - InspectArmory:Update_Display(true) + _G["InspectArmory"]:Update_Display(true) end, values = DisplayMethodList, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end @@ -1154,47 +976,21 @@ local function LoadArmoryConfigTable() type = 'range', name = L["Socket Size"], order = 2, - set = function(_, value) - E.db.sle.Armory.Inspect.Gem.SocketSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - for i = 1, MAX_NUM_SOCKETS do - if InspectArmory[SlotName] and InspectArmory[SlotName]["Socket"..i] then - InspectArmory[SlotName]["Socket"..i]:Size(value) - else - break - end - end - end - end, - min = 6, - max = 50, - step = 1, + min = 6,max = 50,step = 1, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, WarningSize = { type = 'range', name = L["Warning Size"], order = 3, - set = function(_, value) - E.db.sle.Armory.Inspect.Gem.WarningSize = value - - for _, SlotName in pairs(Info.Armory_Constants.GearList) do - if InspectArmory[SlotName] and InspectArmory[SlotName].SocketWarning then - InspectArmory[SlotName].SocketWarning:Size(value) - end - end - end, - min = 6, - max = 50, - step = 1, + min = 6,max = 50,step = 1, disabled = function() return E.db.sle.Armory.Inspect.Enable == false end }, } }, CreditSpace = { type = 'description', - name = ' ', + name = '', order = 998 }, Credit = { diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua index c9edbb8..d86b185 100644 --- a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua +++ b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua @@ -2445,6 +2445,43 @@ function IA:Update_Display(Force) end end +function IA:UpdateSettings(part) + local db = E.db.sle.Armory.Inspect + if part == "ilvl" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["InspectArmory"][SlotName] and _G["InspectArmory"][SlotName].Gradation and _G["InspectArmory"][SlotName].Gradation.ItemLevel then + _G["InspectArmory"][SlotName].Gradation.ItemLevel:FontTemplate(E.LSM:Fetch('font', db.Level.Font),db.Level.FontSize,db.Level.FontStyle) + end + end + end + if part == "ench" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["InspectArmory"][SlotName] and _G["InspectArmory"][SlotName].Gradation and _G["InspectArmory"][SlotName].Gradation.ItemEnchant then + _G["InspectArmory"][SlotName].Gradation.ItemEnchant:FontTemplate(E.LSM:Fetch('font', db.Enchant.Font),db.Enchant.FontSize,db.Enchant.FontStyle) + end + if _G["InspectArmory"][SlotName] and _G["InspectArmory"][SlotName].EnchantWarning then + _G["InspectArmory"][SlotName].EnchantWarning:Size(db.Enchant.WarningSize) + end + end + end + if part == "gem" or part == "all" then + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + for i = 1, MAX_NUM_SOCKETS do + if _G["InspectArmory"][SlotName] and _G["InspectArmory"][SlotName]["Socket"..i] then + _G["InspectArmory"][SlotName]["Socket"..i]:Size(db.Gem.SocketSize) + else + break + end + end + for _, SlotName in T.pairs(Info.Armory_Constants.GearList) do + if _G["InspectArmory"][SlotName] and _G["InspectArmory"][SlotName].SocketWarning then + _G["InspectArmory"][SlotName].SocketWarning:Size(db.Gem.WarningSize) + end + end + end + end +end + KF.Modules[#KF.Modules + 1] = 'InspectArmory' KF.Modules.InspectArmory = function() diff --git a/ElvUI_SLE/modules/Armory/KnightFrame.lua b/ElvUI_SLE/modules/Armory/KnightFrame.lua index 18825cb..3e3edac 100644 --- a/ElvUI_SLE/modules/Armory/KnightFrame.lua +++ b/ElvUI_SLE/modules/Armory/KnightFrame.lua @@ -1,4 +1,4 @@ -local E, L, V, P, G = unpack(ElvUI) +local SLE, T, E, L, V, P, G = unpack(select(2, ...)) --GLOBALS: SLE_ArmoryDB local _ local _G = _G @@ -11,7 +11,7 @@ if not (select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_Kn Name = 'KnightFrame', MyRealm = gsub(E.myrealm,'[%s%-]','') } - local KF = E:NewModule(Info.Name, 'AceEvent-3.0', 'AceConsole-3.0', 'AceHook-3.0') + local KF = SLE:NewModule(Info.Name, 'AceEvent-3.0', 'AceConsole-3.0', 'AceHook-3.0') KF.Modules = {} @@ -297,6 +297,12 @@ if not (select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_Kn for i = 1, #KF.Modules do KF.Modules[(KF.Modules[i])]() end + + function KF:ForUpdateAll() + _G["CharacterArmory"]:UpdateSettings("all") + _G["CharacterArmory"]:ToggleStats() + _G["InspectArmory"]:UpdateSettings("all") + end end - E:RegisterModule(KF:GetName()) + SLE:RegisterModule(KF:GetName()) end \ No newline at end of file