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

List:       kde-commits
Subject:    [kube/develop] framework: Experimental SelectableItem
From:       Christian Mollekopf <null () kde ! org>
Date:       2017-07-31 23:33:00
Message-ID: E1dcKBI-0006GT-Ta () code ! kde ! org
[Download RAW message or body]

Git commit 6bf396f79b926d6a1ea04226474550d9962d52a8 by Christian Mollekopf.
Committed on 31/07/2017 at 23:32.
Pushed by cmollekopf into branch 'develop'.

Experimental SelectableItem

A  +87   -0    framework/qml/SelectableItem.qml     [License: GPL (v2+)]
M  +1    -0    framework/qmldir

https://commits.kde.org/kube/6bf396f79b926d6a1ea04226474550d9962d52a8

diff --git a/framework/qml/SelectableItem.qml b/framework/qml/SelectableItem.qml
new file mode 100644
index 0000000..0e22ede
--- /dev/null
+++ b/framework/qml/SelectableItem.qml
@@ -0,0 +1,87 @@
+/*
+ *  Copyright (C) 2017 Michael Bohlender, <bohlender@kolabsys.com>
+ *  Copyright (C) 2017 Christian Mollekopf, <mollekopf@kolabsys.com>
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License along
+ *  with this program; if not, write to the Free Software Foundation, Inc.,
+ *  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+import QtQuick 2.7
+import QtQuick.Controls 2.2
+import org.kube.framework 1.0 as Kube
+import QtQuick.Layouts 1.3
+
+// QtObject {
+Item {
+    id: root
+    property string text
+    Rectangle {
+        anchors.fill: parent
+        color: "transparent"
+        border.color: Kube.Colors.highlightColor
+        border.width: 1
+        visible: mouseArea.containsMouse || menu.visible
+    }
+    MouseArea {
+        id: mouseArea
+        anchors.fill: parent
+        hoverEnabled: true
+        acceptedButtons: Qt.RightButton
+        z: 1
+        onClicked: {
+            menu.x = mouseX
+            menu.y = mouseY
+            menu.open()
+            mouse.accepted = true
+        }
+    }
+    Menu {
+        id: menu
+
+        height: layout.height
+        width: layout.width
+        background: Rectangle {
+            anchors.fill: parent
+            color: "transparent"
+        }
+        RowLayout {
+            id: layout
+            width: button.width
+            height: button.height
+            Kube.TextButton {
+                id: button
+                text: "Copy"
+                onClicked: {
+                    if (root.text) {
+                        clipboard.text = root.text
+                    }
+                    menu.close()
+                }
+            }
+        }
+    }
+    // Kube.IconButton {
+    //     anchors {
+    //         left: parent.right
+    //         verticalCenter: parent.verticalCenter
+    //     }
+    //     iconName: Kube.Icons.copy
+    //     visible: mouseArea.containsMouse || hovered
+    //     color: Kube.Colors.backgroundColor
+    //     onClicked: clipboard.text = root.text
+    // }
+    Kube.Clipboard {
+        id: clipboard
+    }
+}
diff --git a/framework/qmldir b/framework/qmldir
index a0f5838..fe96835 100644
--- a/framework/qmldir
+++ b/framework/qmldir
@@ -29,6 +29,7 @@ TextEditor 1.0 TextEditor.qml
 ToolTip 1.0 ToolTip.qml
 Label 1.0 Label.qml
 SelectableLabel 1.0 SelectableLabel.qml
+SelectableItem 1.0 SelectableItem.qml
 Heading 1.0 Heading.qml
 View 1.0 View.qml
 AutocompleteLineEdit 1.0 AutocompleteLineEdit.qml

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

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