From 2c07c2a455b1d299abd6affce049d25fa4d4332f Mon Sep 17 00:00:00 2001 From: David Edmundson Date: Thu, 31 Dec 2020 10:58:28 +0000 Subject: [PATCH] [components] Hook up Mnemonics Currently in buttons and tabs the mnemonics were shown, but never actually attached to do anything. This copies code from QQC2-desktop-style and creates an explicit shortcut. --- src/declarativeimports/plasmacomponents3/Button.qml | 7 +++++++ src/declarativeimports/plasmacomponents3/TabButton.qml | 7 +++++++ src/declarativeimports/plasmacomponents3/ToolButton.qml | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/src/declarativeimports/plasmacomponents3/Button.qml b/src/declarativeimports/plasmacomponents3/Button.qml index 6960f22d8..fed0e1e9d 100644 --- a/src/declarativeimports/plasmacomponents3/Button.qml +++ b/src/declarativeimports/plasmacomponents3/Button.qml @@ -32,6 +32,13 @@ T.Button { Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl Kirigami.MnemonicData.label: control.text + Shortcut { + //in case of explicit & the button manages it by itself + enabled: !(RegExp(/\&[^\&]/).test(control.text)) + sequence: control.Kirigami.MnemonicData.sequence + onActivated: control.clicked() + } + PlasmaCore.ColorScope.inherit: flat PlasmaCore.ColorScope.colorGroup: flat ? parent.PlasmaCore.ColorScope.colorGroup : PlasmaCore.Theme.ButtonColorGroup diff --git a/src/declarativeimports/plasmacomponents3/TabButton.qml b/src/declarativeimports/plasmacomponents3/TabButton.qml index fd9367b65..da99bd5b6 100644 --- a/src/declarativeimports/plasmacomponents3/TabButton.qml +++ b/src/declarativeimports/plasmacomponents3/TabButton.qml @@ -27,6 +27,13 @@ T.TabButton { Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl Kirigami.MnemonicData.label: control.text + Shortcut { + //in case of explicit & the button manages it by itself + enabled: !(RegExp(/\&[^\&]/).test(control.text)) + sequence: control.Kirigami.MnemonicData.sequence + onActivated: control.clicked() + } + contentItem: GridLayout { columns: control.display == T.AbstractButton.TextBesideIcon ? 2 : 1 PlasmaCore.IconItem { diff --git a/src/declarativeimports/plasmacomponents3/ToolButton.qml b/src/declarativeimports/plasmacomponents3/ToolButton.qml index e652edd09..7f51cad8d 100644 --- a/src/declarativeimports/plasmacomponents3/ToolButton.qml +++ b/src/declarativeimports/plasmacomponents3/ToolButton.qml @@ -32,6 +32,13 @@ T.ToolButton { Kirigami.MnemonicData.controlType: Kirigami.MnemonicData.SecondaryControl Kirigami.MnemonicData.label: control.text + Shortcut { + //in case of explicit & the button manages it by itself + enabled: !(RegExp(/\&[^\&]/).test(control.text)) + sequence: control.Kirigami.MnemonicData.sequence + onActivated: control.clicked() + } + flat: true PlasmaCore.ColorScope.inherit: flat