[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