From b4330ab776c1c5a6c30c5a3b0ced977e0126552a Mon Sep 17 00:00:00 2001 From: and3md Date: Thu, 21 Sep 2017 19:14:07 +0200 Subject: [PATCH] Accelerator actions: update state before run and run only if enabled. --- src/dlangui/widgets/widget.d | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/dlangui/widgets/widget.d b/src/dlangui/widgets/widget.d index 2b62c6e9..07e2f8ad 100644 --- a/src/dlangui/widgets/widget.d +++ b/src/dlangui/widgets/widget.d @@ -1189,7 +1189,13 @@ public: Action action = findKeyAction(event.keyCode, event.flags); // & (KeyFlag.Shift | KeyFlag.Alt | KeyFlag.Control | KeyFlag.Menu) if (action !is null) { //Log.d("Action found: ", action.id, " ", action.labelValue.id); - return dispatchAction(action); + // update action state + if (updateActionState(action, true) && action is _action) + handleActionStateChanged(); + + //run only enabled actions + if (action.state.enabled) + return dispatchAction(action); } } // handle focus navigation using keys