Added Reset Settings button on the options panel for the breakdown window

This commit is contained in:
Tercio Jose
2023-05-01 15:00:12 -03:00
parent c922f3471f
commit 4ccf34b390
4 changed files with 46 additions and 14 deletions
+5 -4
View File
@@ -2,7 +2,7 @@
local Details = _G.Details
local Loc = _G.LibStub("AceLocale-3.0"):GetLocale ( "Details" )
local SharedMedia = _G.LibStub:GetLibrary("LibSharedMedia-3.0")
local UIParent = UIParent
local gump = Details.gump
local _
local addonName, Details222 = ...
@@ -55,7 +55,8 @@ function Details:GetCombatFromBreakdownWindow()
return breakdownWindow.instancia and breakdownWindow.instancia.showing
end
--return the window that requested to open the player breakdown window
---return the window that requested to open the player breakdown window
---@return instance
function Details:GetActiveWindowFromBreakdownWindow()
return breakdownWindow.instancia
end
@@ -133,12 +134,12 @@ function Details:OpenBreakdownWindow(instanceObject, actorObject, bFromAttribute
breakdownWindow:SetDontSavePosition(true)
local okay, errorText = pcall(function()
breakdownWindow:SetPoint("center", _G.UIParent, "center", 0, 0)
breakdownWindow:SetPoint("center", UIParent, "center", 0, 0)
end)
if (not okay) then
breakdownWindow:ClearAllPoints()
breakdownWindow:SetPoint("center", _G.UIParent, "center", 0, 0)
breakdownWindow:SetPoint("center", UIParent, "center", 0, 0)
end
breakdownWindow.bHasInitialized = true
+6 -6
View File
@@ -134,13 +134,13 @@ local spellContainerColumnData = {
{name = "expand", label = "^", width = 16, align = "center", enabled = true, offset = columnOffset},
{name = "name", label = "spell name", width = 246, align = "left", enabled = true, offset = columnOffset},
{name = "amount", label = "total", key = "total", selected = true, width = 50, align = "left", enabled = true, canSort = true, sortKey = "total", dataType = "number", order = "DESC", offset = columnOffset},
{name = "persecond", label = "ps", key = "total", width = 50, align = "left", enabled = true, canSort = true, sortKey = "ps", offset = columnOffset, order = "DESC", dataType = "number"},
{name = "persecond", label = "ps", key = "total", width = 50, align = "left", enabled = false, canSort = true, sortKey = "ps", offset = columnOffset, order = "DESC", dataType = "number"},
{name = "percent", label = "%", key = "total", width = 50, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "casts", label = "casts", key = "casts", width = 40, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "critpercent", label = "crit %", key = "critpercent", width = 40, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "hits", label = "hits", key = "counter", width = 40, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "castavg", label = "cast avg", key = "castavg", width = 50, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "uptime", label = "uptime", key = "uptime", width = 45, align = "left", enabled = true, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "casts", label = "casts", key = "casts", width = 40, align = "left", enabled = false, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "critpercent", label = "crit %", key = "critpercent", width = 40, align = "left", enabled = false, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "hits", label = "hits", key = "counter", width = 40, align = "left", enabled = false, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "castavg", label = "cast avg", key = "castavg", width = 50, align = "left", enabled = false, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "uptime", label = "uptime", key = "uptime", width = 45, align = "left", enabled = false, canSort = true, offset = columnOffset, order = "DESC", dataType = "number"},
{name = "overheal", label = "overheal", key = "overheal", width = 55, align = "left", enabled = false, canSort = true, order = "DESC", dataType = "number", attribute = DETAILS_ATTRIBUTE_HEAL, offset = columnOffset},
{name = "absorbed", label = "absorbed", key = "healabsorbed", width = 55, align = "left", enabled = false, canSort = true, order = "DESC", dataType = "number", attribute = DETAILS_ATTRIBUTE_HEAL, offset = columnOffset},
}
@@ -23,6 +23,37 @@ local createOptionsPanel = function()
optionsFrame:SetPoint("topleft", UIParent, "topleft", 2, -40)
optionsFrame:Show()
local resetSettings = function()
for key, value in pairs (Details.default_global_data.breakdown_spell_tab) do
if (type(value) == "table") then
local t = DF.table.copy({}, value)
Details.breakdown_spell_tab[key] = t
else
Details.breakdown_spell_tab[key] = value
end
end
local instanceObject = Details:GetActiveWindowFromBreakdownWindow()
local actorObject = Details:GetActorObjectFromBreakdownWindow()
local bFromAttributeChange = true
local bIsRefresh = true
local bIsShiftKeyDown = false
local bIsControlKeyDown = false
Details:CloseBreakdownWindow()
Details:OpenBreakdownWindow(instanceObject, actorObject, bFromAttributeChange, bIsRefresh, bIsShiftKeyDown, bIsControlKeyDown)
DetailsSpellBreakdownTab.GetSpellBlockFrame():UpdateBlocks()
DetailsSpellBreakdownTab.UpdateShownSpellBlock()
DetailsSpellBreakdownTab.UpdateHeadersSettings("spells")
DetailsSpellBreakdownOptionsPanel:RefreshOptions()
Details:Msg("Settings reseted to default.")
end
local resetSettingsButton = DF:CreateButton(optionsFrame, resetSettings, 130, 20, "Reset Settings")
resetSettingsButton:SetPoint("bottomleft", optionsFrame, "bottomleft", 5, 5)
resetSettingsButton:SetTemplate(options_button_template)
local subSectionTitleTextTemplate = DF:GetTemplate("font", "ORANGE_FONT_TEMPLATE")
local optionsTable = {
+4 -4
View File
@@ -1412,17 +1412,17 @@ local default_global_data = {
blockcontainer_height = 270,
blockcontainer_islocked = true,
blockspell_height = 50,
blockspell_height = 67,
blockspell_padding = 5,
blockspell_color = {0, 0, 0, 0.7},
blockspell_bordercolor = {0, 0, 0, 0.7},
blockspell_backgroundcolor = {0.1, 0.1, 0.1, 0.4},
blockspell_spark_offset = -2,
blockspell_spark_width = 2,
blockspell_spark_offset = -1,
blockspell_spark_width = 4,
blockspell_spark_show = true,
blockspell_spark_color = {1, 1, 1, 0.7},
blockspellline_height = 13,
blockspellline_height = 18,
spellcontainer_width = 429,
spellcontainer_height = 311,