From 5e1ab8c06b707c7ea19b23a03583748074f87807 Mon Sep 17 00:00:00 2001 From: yparitcher Date: Mon, 30 Aug 2021 11:01:46 -0400 Subject: [PATCH] Dispatcher: update configurable before event (like configdialog) --- frontend/dispatcher.lua | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/frontend/dispatcher.lua b/frontend/dispatcher.lua index ca273eb29..3513918c0 100644 --- a/frontend/dispatcher.lua +++ b/frontend/dispatcher.lua @@ -619,8 +619,16 @@ arguments are: function Dispatcher:execute(settings, gesture) for k, v in pairs(settings) do if settingsList[k] ~= nil and (settingsList[k].conditions == nil or settingsList[k].conditions == true) then - -- Be sure we don't send a document setting event if there's not yet or no longer a document Notification:setNotifySource(Notification.SOURCE_DISPATCHER) + if settingsList[k].configurable then + local value = v + if type(v) ~= "number" then + for i, r in ipairs(settingsList[k].args) do + if v == r then value = settingsList[k].configurable.values[i] break end + end + end + UIManager:sendEvent(Event:new("ConfigChange", settingsList[k].configurable.name, value)) + end if settingsList[k].category == "none" then if settingsList[k].arg ~= nil then UIManager:sendEvent(Event:new(settingsList[k].event, settingsList[k].arg)) @@ -643,15 +651,6 @@ function Dispatcher:execute(settings, gesture) local arg = v ~= 0 and v or gesture or 0 UIManager:sendEvent(Event:new(settingsList[k].event, arg)) end - if settingsList[k].configurable then - local value = v - if type(v) ~= "number" then - for i, r in ipairs(settingsList[k].args) do - if v == r then value = settingsList[k].configurable.values[i] break end - end - end - UIManager:sendEvent(Event:new("ConfigChange", settingsList[k].configurable.name, value)) - end end Notification:resetNotifySource() end