X-Git-Url: https://www.aleksib.fi/git/wowui.git/blobdiff_plain/b8c70450d10559c08516416bf92fb95434bd3034..976f2194da6abfa6ba4f0c00759a0743af282105:/OmaRFConfig/IndicatorsConfig.lua diff --git a/OmaRFConfig/IndicatorsConfig.lua b/OmaRFConfig/IndicatorsConfig.lua index 8561f21..8783860 100644 --- a/OmaRFConfig/IndicatorsConfig.lua +++ b/OmaRFConfig/IndicatorsConfig.lua @@ -8,11 +8,62 @@ local function createOptionsTable(self) type = "toggle", name = "Enable", }, - indicatorFont = { - type = "select", - dialogControl = "LSM30_Font", - name = "Indicator font", - values = AceGUIWidgetLSMlists.font, + majorAuras = { + type = "group", + name = "Major Auras", + get = function(item) return self.db.profile.majorAuras[item[#item]] end, + set = function(item, value) + self.db.profile.majorAuras[item[#item]] = value; + self:RefreshConfig() + end, + args = { + auras = { + type = "input", + name = "Auras", + multiline = true, + width = "full", + get = function(item) + return table.concat(self.db.profile.majorAuras["auras"], "\n"); + end, + set = function(item, value) + local t = {}; + for aura in string.gmatch(value, "[^\n]+") do + aura = string.gsub(aura, "^%s*(.-)%s$", "%1"); + if tonumber(aura) then + table.insert(t, tonumber(aura)); + else + table.insert(t, aura); + end + end + self.db.profile.majorAuras["auras"] = t; + self:RefreshConfig(); + end, + }, + max = { + type = "range", + name = "Number shown", + min = 1, + max = 10, + step = 1, + width = "full", + }, + iconSize = { + type = "range", + name = "Icon size", + min = 1, + max = 30, + step = 1, + width = "full", + }, + textSize = { + type = "range", + name = "Text size", + min = 1, + max = 30, + step = 1, + width = "full", + }, + } }, } }; @@ -20,11 +71,12 @@ local function createOptionsTable(self) for _, pos in ipairs(self.positions) do options.args[pos] = { type = "group", + name = pos, get = function(item) - return self.db.profile[pos][item[#item]]; + return self.db.profile.indicators[pos][item[#item]]; end, set = function(item, value) - self.db.profile[pos][item[#item]] = value; + self.db.profile.indicators[pos][item[#item]] = value; self:RefreshConfig(); end, args = { @@ -34,7 +86,7 @@ local function createOptionsTable(self) multiline = true, width = "full", get = function(item) - return table.concat(self.db.profile[pos]["auras"], "\n"); + return table.concat(self.db.profile.indicators[pos]["auras"], "\n"); end, set = function(item, value) local t = {}; @@ -46,7 +98,7 @@ local function createOptionsTable(self) table.insert(t, aura); end end - self.db.profile[pos]["auras"] = t; + self.db.profile.indicators[pos]["auras"] = t; self:RefreshConfig(); end, }, @@ -70,10 +122,10 @@ local function createOptionsTable(self) type = "color", name = "Text color", get = function(item) - return unpack(self.db.profile[pos]["textColor"]); + return unpack(self.db.profile.indicators[pos]["textColor"]); end, set = function(item, r, g, b, a) - self.db.profile[pos]["textColor"] = {r, g, b, a}; + self.db.profile.indicators[pos]["textColor"] = {r, g, b, a}; self:RefreshConfig(); end, }, @@ -88,7 +140,7 @@ local function createOptionsTable(self) useDefaultIcon = { type = "toggle", name = "Use default icon", - disabled = function() return not self.db.profile[pos]["showIcon"] end, + disabled = function() return not self.db.profile.indicators[pos]["showIcon"] end, }, iconSize = { type = "range", @@ -102,10 +154,10 @@ local function createOptionsTable(self) type = "color", name = "Icon tint", get = function(item) - return unpack(self.db.profile[pos]["iconColor"]); + return unpack(self.db.profile.indicators[pos]["iconColor"]); end, set = function(item, r, g, b, a) - self.db.profile[pos]["iconColor"] = {r, g, b, a}; + self.db.profile.indicators[pos]["iconColor"] = {r, g, b, a}; self:RefreshConfig(); end, },