[Keybinds] Change 'vmf.add_mod_keybind's args

This commit is contained in:
Azumgi 2019-01-24 18:00:12 +03:00
parent be266d62cd
commit d6a50940d0
4 changed files with 35 additions and 22 deletions

View file

@ -287,7 +287,7 @@ function vmf.generate_keybinds()
for mod, mod_keybinds in pairs(_raw_keybinds_data) do
for _, raw_keybind_data in pairs(mod_keybinds) do
local keys = raw_keybind_data[4]
local keys = raw_keybind_data.keys
local primary_key = keys[1]
local modifier_keys = {}
for i = 2, #keys do
@ -296,15 +296,15 @@ function vmf.generate_keybinds()
local keybind_data = {
mod = mod,
global = raw_keybind_data[1],
trigger = raw_keybind_data[2],
type = raw_keybind_data[3],
global = raw_keybind_data.global,
trigger = raw_keybind_data.trigger,
type = raw_keybind_data.type,
ctrl = modifier_keys["ctrl"],
alt = modifier_keys["alt"],
shift = modifier_keys["shift"],
function_name = raw_keybind_data[5],
view_name = raw_keybind_data[6]
function_name = raw_keybind_data.function_name,
view_name = raw_keybind_data.view_name
}
_keybinds[primary_key] = _keybinds[primary_key] or {
@ -318,10 +318,10 @@ end
-- Adds/removes keybinds.
function vmf.add_mod_keybind(mod, setting_id, global, trigger, type, keys, function_name, view_name)
if #keys > 0 then
function vmf.add_mod_keybind(mod, setting_id, raw_keybind_data)
if #raw_keybind_data.keys > 0 then
_raw_keybinds_data[mod] = _raw_keybinds_data[mod] or {}
_raw_keybinds_data[mod][setting_id] = {global, trigger, type, keys, function_name, view_name}
_raw_keybinds_data[mod][setting_id] = raw_keybind_data
elseif _raw_keybinds_data[mod] and _raw_keybinds_data[mod][setting_id] then
_raw_keybinds_data[mod][setting_id] = nil
end

View file

@ -542,8 +542,18 @@ local function initialize_default_settings_and_keybinds(mod, initialized_widgets
mod:set(data.setting_id, data.default_value)
end
if data.type == "keybind" then
vmf.add_mod_keybind(mod, data.setting_id, data.keybind_global, data.keybind_trigger, data.keybind_type,
mod:get(data.setting_id), data.function_name, data.view_name)
vmf.add_mod_keybind(
mod,
data.setting_id,
{
global = data.keybind_global,
trigger = data.keybind_trigger,
type = data.keybind_type,
keys = mod:get(data.setting_id),
function_name = data.function_name,
view_name = data.view_name
}
)
end
end
end

View file

@ -208,11 +208,12 @@ vmf.initialize_mod_options_legacy = function (mod, widgets_definition)
vmf.add_mod_keybind(
mod,
new_widget_definition.setting_id,
nil,
new_widget_definition.keybind_trigger,
new_widget_definition.keybind_type,
keybind,
new_widget_definition.function_name
{
trigger = new_widget_definition.keybind_trigger,
type = new_widget_definition.keybind_type,
keys = keybind,
function_name = new_widget_definition.function_name
}
)
end
end

View file

@ -3306,12 +3306,14 @@ local function set_new_keybind(keybind_widget_content)
vmf.add_mod_keybind(
get_mod(keybind_widget_content.mod_name),
keybind_widget_content.setting_id,
keybind_widget_content.keybind_global,
keybind_widget_content.keybind_trigger,
keybind_widget_content.keybind_type,
keybind_widget_content.keys,
keybind_widget_content.function_name,
keybind_widget_content.view_name
{
global = keybind_widget_content.keybind_global,
trigger = keybind_widget_content.keybind_trigger,
type = keybind_widget_content.keybind_type,
keys = keybind_widget_content.keys,
function_name = keybind_widget_content.function_name,
view_name = keybind_widget_content.view_name
}
)
end