mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
using font module for getting fonts (commit f95231d789)
renamed function names using camelCase (issue #62)
This commit is contained in:
34
commands.lua
34
commands.lua
@@ -11,14 +11,14 @@ function Keydef:_new(obj)
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
self.__tostring=Keydef.tostring
|
||||
return obj
|
||||
return obj
|
||||
end
|
||||
function Keydef:new(keycode,modifier,descr)
|
||||
obj = Keydef:_new()
|
||||
obj.keycode = keycode
|
||||
obj.modifier = modifier
|
||||
obj.descr = descr
|
||||
return obj
|
||||
obj.descr = descr
|
||||
return obj
|
||||
end
|
||||
function Keydef:display()
|
||||
return ((self.modifier and self.modifier.."+") or "")..(self.descr or "")
|
||||
@@ -40,7 +40,7 @@ function Command:_new(obj)
|
||||
setmetatable(obj, self)
|
||||
self.__index = self
|
||||
self.__tostring=Command.tostring
|
||||
return obj
|
||||
return obj
|
||||
end
|
||||
function Command:new(keydef, func, help, keygroup, order)
|
||||
obj = Command:_new()
|
||||
@@ -63,35 +63,35 @@ Commands = {
|
||||
}
|
||||
function Commands:add(keycode,modifier,keydescr,help,func)
|
||||
local keydef = Keydef:new(keycode,modifier,keydescr)
|
||||
self:_add_impl(keydef,help,func)
|
||||
end
|
||||
function Commands:add_group(keygroup,keys,help,func)
|
||||
self:_addImpl(keydef,help,func)
|
||||
end
|
||||
function Commands:addGroup(keygroup,keys,help,func)
|
||||
for _k,keydef in pairs(keys) do
|
||||
self:_add_impl(keydef,help,func,keygroup)
|
||||
self:_addImpl(keydef,help,func,keygroup)
|
||||
end
|
||||
end
|
||||
function Commands:_add_impl(keydef,help,func,keygroup)
|
||||
function Commands:_addImpl(keydef,help,func,keygroup)
|
||||
if keydef.modifier==MOD_ANY then
|
||||
self:add_group(keygroup or keydef.descr,{Keydef:new(keydef.keycode,nil), Keydef:new(keydef.keycode,MOD_SHIFT), Keydef:new(keydef.keycode,MOD_ALT)},help,func)
|
||||
self:addGroup(keygroup or keydef.descr,{Keydef:new(keydef.keycode,nil), Keydef:new(keydef.keycode,MOD_SHIFT), Keydef:new(keydef.keycode,MOD_ALT)},help,func)
|
||||
elseif keydef.modifier==MOD_SHIFT_OR_ALT then
|
||||
self:add_group(keygroup or (MOD_SHIFT.."|"..MOD_ALT.."+"..(keydef.descr or "")),{Keydef:new(keydef.keycode,MOD_SHIFT), Keydef:new(keydef.keycode,MOD_ALT)},help,func)
|
||||
self:addGroup(keygroup or (MOD_SHIFT.."|"..MOD_ALT.."+"..(keydef.descr or "")),{Keydef:new(keydef.keycode,MOD_SHIFT), Keydef:new(keydef.keycode,MOD_ALT)},help,func)
|
||||
else
|
||||
local command = self.map[keydef]
|
||||
if command == nil then
|
||||
self.size = self.size + 1
|
||||
command = Command:new(keydef,func,help,keygroup,self.size)
|
||||
command = Command:new(keydef,func,help,keygroup,self.size)
|
||||
self.map[keydef] = command
|
||||
else
|
||||
command.func = func
|
||||
command.help = help
|
||||
command.keygroup = keygroup
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
function Commands:get(keycode,modifier)
|
||||
return self.map[Keydef:new(keycode, modifier)]
|
||||
end
|
||||
function Commands:get_by_keydef(keydef)
|
||||
function Commands:getByKeydef(keydef)
|
||||
return self.map[keydef]
|
||||
end
|
||||
function Commands:new(obj)
|
||||
@@ -100,10 +100,10 @@ function Commands:new(obj)
|
||||
setmetatable(self.map,mt)
|
||||
mt.__index=function (table, key)
|
||||
return rawget(table,(key.modifier or "").."@#@"..(key.keycode or ""))
|
||||
end
|
||||
end
|
||||
mt.__newindex=function (table, key, value)
|
||||
return rawset(table,(key.modifier or "").."@#@"..(key.keycode or ""),value)
|
||||
end
|
||||
end
|
||||
-- obj definition
|
||||
obj = obj or {}
|
||||
setmetatable(obj, self)
|
||||
|
||||
Reference in New Issue
Block a user