From 0830e46fb89dc272bc971b9604ce34bd1258b856 Mon Sep 17 00:00:00 2001 From: "kepler155c@gmail.com" Date: Sat, 23 Dec 2017 01:47:54 -0500 Subject: [PATCH] fix slideout --- sys/apis/ui.lua | 26 ++++++++++++++++++++++++-- sys/apis/util.lua | 6 +++--- sys/apps/Overview.lua | 2 +- 3 files changed, 28 insertions(+), 6 deletions(-) diff --git a/sys/apis/ui.lua b/sys/apis/ui.lua index 4e6cc3c..30e6618 100644 --- a/sys/apis/ui.lua +++ b/sys/apis/ui.lua @@ -870,7 +870,9 @@ end function UI.Window:addLayer(bg, fg) local canvas = self:getCanvas() - return canvas:addLayer(self, bg, fg) + canvas = canvas:addLayer(self, bg, fg) + canvas:clear(bg or self.backgroundColor, fg or self.textColor) + return canvas end function UI.Window:addTransition(effect, args) @@ -2377,13 +2379,33 @@ function UI.SlideOut:show() self:focusFirst() end +function UI.SlideOut:disable() + self.canvas:setVisible(false) + self.enabled = false + if self.children then + for _,child in pairs(self.children) do + child:disable() + end + end +end + function UI.SlideOut:hide() self:disable() - self.canvas:setVisible(false) self:release(self) self:refocus() end +function UI.SlideOut:eventHandler(event) + if event.type == 'slide_show' then + self:show() + return true + + elseif event.type == 'slide_hide' then + self:hide() + return true + end +end + --[[-- Notification --]]-- UI.Notification = class(UI.Window) UI.Notification.defaults = { diff --git a/sys/apis/util.lua b/sys/apis/util.lua index edfd553..13bc5c5 100644 --- a/sys/apis/util.lua +++ b/sys/apis/util.lua @@ -252,7 +252,7 @@ end function Util.filter(it, f) local ot = { } for k,v in pairs(it) do - if f(k, v) then + if f(v) then ot[k] = v end end @@ -458,9 +458,9 @@ end --[[ String functions ]] -- function Util.toBytes(n) if n >= 1000000 or n <= -1000000 then - return string.format('%sM', Util.round(n/1000000, 1)) + return string.format('%sM', math.floor(n/1000000 * 10) / 10) elseif n >= 1000 or n <= -1000 then - return string.format('%sK', Util.round(n/1000, 1)) + return string.format('%sK', math.floor(n/1000 * 10) / 10) end return tostring(n) end diff --git a/sys/apps/Overview.lua b/sys/apps/Overview.lua index 6f34ced..0bb8fe4 100644 --- a/sys/apps/Overview.lua +++ b/sys/apps/Overview.lua @@ -53,7 +53,7 @@ local function loadApplications() end Util.each(applications, function(v, k) v.key = k end) - applications = Util.filter(applications, function(_, a) + applications = Util.filter(applications, function(a) if a.disabled then return false end