978ee00 - Different health text and more text space in config
[wowui.git] / OmaRFConfig / IndicatorsConfig.lua
index 8561f21..8d051f3 100644 (file)
@@ -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 = 10,
+                        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,
                 },