From e018043a972f828dfe7c41c96efa3e75d6c0301d Mon Sep 17 00:00:00 2001 From: Hendrik Leppkes Date: Tue, 2 Sep 2008 07:55:12 +0000 Subject: [PATCH] use custom visibility driver that supports fading in addition to the simple show/hide --- Bar.lua | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Bar.lua b/Bar.lua index 26595b7..c60d65f 100644 --- a/Bar.lua +++ b/Bar.lua @@ -289,7 +289,16 @@ local directVisCond = { } function Bar:InitVisibilityDriver() self.hidedriver = {} - UnregisterStateDriver(self, 'visibility') + UnregisterStateDriver(self, 'vis') + + self:SetAttribute("_onstate-vis", [[ + if newstate == "show" or newstate == "fade" then + self:Show() + self:SetAttribute("fade", (newstate == "fade")) + elseif newstate == "hide" then + self:Hide() + end + ]]) if self.config.visibility.custom then table_insert(self.hidedriver, self.config.visibility.customdata or "") @@ -323,12 +332,11 @@ end function Bar:ApplyVisibilityDriver() if self.unlocked then return end -- default state is shown - RegisterStateDriver(self, "visibility", table_concat(self.hidedriver, ";")) + RegisterStateDriver(self, "vis", table_concat(self.hidedriver, ";")) end function Bar:DisableVisibilityDriver() - UnregisterStateDriver(self, "visibility") - self:SetAttribute("state-visibility", nil) + UnregisterStateDriver(self, "vis") self:Show() end