Added "Copy Conditionals" button to the Visibility driver as well
This commit is contained in:
@@ -289,10 +289,15 @@ local directVisCond = {
|
||||
nocombat = true,
|
||||
mounted = true,
|
||||
}
|
||||
function Bar:InitVisibilityDriver()
|
||||
function Bar:InitVisibilityDriver(returnOnly)
|
||||
local tmpDriver
|
||||
if returnOnly then
|
||||
tmpDriver = self.hidedriver
|
||||
else
|
||||
UnregisterStateDriver(self, 'vis')
|
||||
end
|
||||
self.hidedriver = {}
|
||||
UnregisterStateDriver(self, 'vis')
|
||||
|
||||
|
||||
self:SetAttribute("_onstate-vis", [[
|
||||
if newstate == "show" or newstate == "fade" then
|
||||
self:Show()
|
||||
@@ -302,7 +307,7 @@ function Bar:InitVisibilityDriver()
|
||||
end
|
||||
]])
|
||||
|
||||
if self.config.visibility.custom then
|
||||
if self.config.visibility.custom and not returnOnly then
|
||||
table_insert(self.hidedriver, self.config.visibility.customdata or "")
|
||||
else
|
||||
for key, value in pairs(self.config.visibility) do
|
||||
@@ -328,7 +333,13 @@ function Bar:InitVisibilityDriver()
|
||||
end
|
||||
end
|
||||
table_insert(self.hidedriver, self.config.fadeout and "fade" or "show")
|
||||
self:ApplyVisibilityDriver()
|
||||
|
||||
if not returnOnly then
|
||||
self:ApplyVisibilityDriver()
|
||||
else
|
||||
self.hidedriver, tmpDriver = tmpDriver, self.hidedriver
|
||||
return table_concat(tmpDriver, ";")
|
||||
end
|
||||
end
|
||||
|
||||
function Bar:ApplyVisibilityDriver()
|
||||
@@ -362,6 +373,11 @@ function Bar:SetVisibilityOption(option, value, arg)
|
||||
self:InitVisibilityDriver()
|
||||
end
|
||||
|
||||
function Bar:CopyCustomConditionals()
|
||||
self.config.visibility.customdata = self:InitVisibilityDriver(true)
|
||||
self:InitVisibilityDriver()
|
||||
end
|
||||
|
||||
function Bar:Enable()
|
||||
if not self.disabled then return end
|
||||
self.disabled = nil
|
||||
|
||||
+28
-2
@@ -64,6 +64,11 @@ do
|
||||
local bar = getBar(info[2])
|
||||
return bar:GetVisibilityOption("custom")
|
||||
end
|
||||
|
||||
function customCopy(info)
|
||||
local bar = getBar(info[2])
|
||||
bar:CopyCustomConditionals()
|
||||
end
|
||||
end
|
||||
|
||||
local _, class = UnitClass("player")
|
||||
@@ -210,15 +215,36 @@ function Bar:GetOptionObject()
|
||||
hidden = function() return (GetNumShapeshiftForms() < 1) end,
|
||||
disabled = customEnabled,
|
||||
},
|
||||
customNl = {
|
||||
order = 98,
|
||||
type = "description",
|
||||
name = "\n",
|
||||
},
|
||||
customHeader = {
|
||||
order = 99,
|
||||
type = "header",
|
||||
name = L["Custom Conditionals"],
|
||||
},
|
||||
custom = {
|
||||
order = 100,
|
||||
type = "toggle",
|
||||
name = L["Use Custom Condition"],
|
||||
desc = L["Enable the use of a custom condition, disabling all of the above."],
|
||||
width = "full",
|
||||
},
|
||||
customCopy = {
|
||||
order = 101,
|
||||
type = "execute",
|
||||
name = L["Copy Conditionals"],
|
||||
desc = L["Create a copy of the auto-generated conditionals in the custom configuration as a base template."],
|
||||
func = customCopy,
|
||||
},
|
||||
customDesc = {
|
||||
order = 102,
|
||||
type = "description",
|
||||
name = L["Note: Enabling Custom Conditionals will disable all of the above settings!"],
|
||||
},
|
||||
customdata = {
|
||||
order = 101,
|
||||
order = 103,
|
||||
type = "input",
|
||||
name = L["Custom Conditionals"],
|
||||
desc = L["You can use any macro conditionals in the custom string, using \"show\" and \"hide\" as values.\n\nExample: [combat]hide;show"],
|
||||
|
||||
Reference in New Issue
Block a user