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/SelectableIte= m.qml new file mode 100644 index 0000000..0e22ede --- /dev/null +++ b/framework/qml/SelectableItem.qml @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2017 Michael Bohlender, + * Copyright (C) 2017 Christian Mollekopf, + * + * 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 =3D mouseX + menu.y =3D mouseY + menu.open() + mouse.accepted =3D 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 =3D 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 =3D 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