From 5b567230e6c86056945fdf69ea03046dc9bc7e56 Mon Sep 17 00:00:00 2001 From: Sebastian Gottfried Date: Mon, 23 Apr 2012 19:29:57 +0200 Subject: [PATCH] buttons: first focus, than emit clicked() signal Otherwise a client wanting to give another QML component the focus in reaction to a clicked button has no chance doing so because the button will steal the focus again right after the event handler has finished executing. REVIEW: 104893 --- declarativeimports/plasmacomponents/qml/Button.qml | 2 +- declarativeimports/plasmacomponents/qml/ToolButton.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/declarativeimports/plasmacomponents/qml/Button.qml b/declarativeimports/plasmacomponents/qml/Button.qml index 6aab1b2d1..40b2c3fce 100644 --- a/declarativeimports/plasmacomponents/qml/Button.qml +++ b/declarativeimports/plasmacomponents/qml/Button.qml @@ -123,8 +123,8 @@ Item { button.checked = !button.checked } - button.clicked() button.forceActiveFocus() + button.clicked() } } diff --git a/declarativeimports/plasmacomponents/qml/ToolButton.qml b/declarativeimports/plasmacomponents/qml/ToolButton.qml index 00ffa4ccc..a10e0bf46 100644 --- a/declarativeimports/plasmacomponents/qml/ToolButton.qml +++ b/declarativeimports/plasmacomponents/qml/ToolButton.qml @@ -128,7 +128,6 @@ Item { button.checked = !button.checked } - button.clicked() if (button.KeyNavigation.tab || button.KeyNavigation.backtab) { // Only focus the button if it is set up for keyboard // navigation. This avoid getting a strange focus frame around @@ -136,6 +135,7 @@ Item { // a toolbar. button.forceActiveFocus(); } + button.clicked() if (defaultAction) { defaultAction.trigger()