[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [kdeplasma-addons] applets/konsoleprofiles/package/contents/ui: Add keyboard navigation to konsolepr
From:       Gregor_Tätzner <gregor () freenet ! de>
Date:       2012-07-28 16:22:24
Message-ID: 20120728162224.33355A6094 () git ! kde ! org
[Download RAW message or body]

Git commit de2c5056f8780f223b831d01310d5c700fbeed5c by Gregor Tätzner.
Committed on 28/07/2012 at 18:20.
Pushed by gregort into branch 'master'.

Add keyboard navigation to konsoleprofiles widget

BUG: 303297
FIXED-IN: 4.9.0
REVIEW: 105765

M  +18   -3    applets/konsoleprofiles/package/contents/ui/konsoleprofiles.qml

http://commits.kde.org/kdeplasma-addons/de2c5056f8780f223b831d01310d5c700fbeed5c

diff --git a/applets/konsoleprofiles/package/contents/ui/konsoleprofiles.qml \
b/applets/konsoleprofiles/package/contents/ui/konsoleprofiles.qml index \
                c4c7692..2b5409b 100644
--- a/applets/konsoleprofiles/package/contents/ui/konsoleprofiles.qml
+++ b/applets/konsoleprofiles/package/contents/ui/konsoleprofiles.qml
@@ -27,6 +27,10 @@ Item {
     property int minimumWidth: 200
     property int minimumHeight: 300
 
+    function popupEventSlot(shown) {
+        view.forceActiveFocus();
+    }
+
     PlasmaCore.DataSource {
         id: profilesSource
         engine: "org.kde.konsoleprofiles"
@@ -44,6 +48,7 @@ Item {
     Component.onCompleted: {
         plasmoid.popupIcon = "utilities-terminal";
         plasmoid.aspectRatioMode = IgnoreAspectRatio;
+        plasmoid.popupEvent.connect('popupEvent', popupEventSlot);
     }
 
    PlasmaCore.Svg {
@@ -94,6 +99,7 @@ Item {
 
         model: profilesModel
         clip: true
+        focus: true
 
         delegate: Item {
             id: listdelegate
@@ -104,6 +110,12 @@ Item {
                 right: parent.right
             }
 
+            function openProfile() {
+                var service = \
profilesSource.serviceForSource(model["DataEngineSource"]) +                var \
operation = service.operationDescription("open") +                var job = \
service.startOperationCall(operation) +            }
+
             PlasmaComponents.Label {
                 id: profileText
 
@@ -126,9 +138,7 @@ Item {
                 hoverEnabled: true
 
                 onClicked: {
-                    var service = \
                profilesSource.serviceForSource(model["DataEngineSource"])
-                    var operation = service.operationDescription("open")
-                    var job = service.startOperationCall(operation)
+                    openProfile();
                 }
 
                 onEntered: {
@@ -140,6 +150,11 @@ Item {
                     view.highlightItem.opacity = 0
                 }
             }
+
+            Keys.onPressed: {
+                if (event.key == Qt.Key_Enter || event.key == Qt.Key_Return)
+                    openProfile();
+            }
         }
 
         highlight: PlasmaComponents.Highlight {


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic