From d2b9d5690ba7eef47f9ac27d960a0fa932aa40c5 Mon Sep 17 00:00:00 2001 From: xiphon Date: Tue, 19 Nov 2019 00:52:47 +0000 Subject: [PATCH] ContextMenu: styling, implement ContextMenuItem component --- components/ContextMenu.qml | 23 +++++++-------- components/ContextMenuItem.qml | 52 ++++++++++++++++++++++++++++++++++ qml.qrc | 1 + 3 files changed, 63 insertions(+), 13 deletions(-) create mode 100644 components/ContextMenuItem.qml diff --git a/components/ContextMenu.qml b/components/ContextMenu.qml index 58442e8d..a4ca3209 100644 --- a/components/ContextMenu.qml +++ b/components/ContextMenu.qml @@ -1,6 +1,7 @@ -import QtQuick.Controls 2.2 import QtQuick 2.9 +import QtQuick.Controls 2.2 +import FontAwesome 1.0 import "../components" as MoneroComponents MouseArea { @@ -18,24 +19,20 @@ MouseArea { id: contextMenu background: Rectangle { + border.color: MoneroComponents.Style.buttonBackgroundColorDisabledHover + border.width: 1 radius: 2 - color: MoneroComponents.Style.buttonInlineBackgroundColor + color: MoneroComponents.Style.buttonBackgroundColorDisabled } - font.family: MoneroComponents.Style.fontRegular.name - font.pixelSize: 14 - width: 50 + padding: 1 + width: 100 x: root.mouseX y: root.mouseY - MenuItem { - id: pasteItem - background: Rectangle { - radius: 2 - color: MoneroComponents.Style.buttonBackgroundColorDisabledHover - opacity: pasteItem.down ? 1 : 0 - } - enabled: root.parent.canPaste + MoneroComponents.ContextMenuItem { + enabled: root.parent.canPaste === true + glyphIcon: FontAwesome.paste onTriggered: root.paste() text: qsTr("Paste") + translationManager.emptyString } diff --git a/components/ContextMenuItem.qml b/components/ContextMenuItem.qml new file mode 100644 index 00000000..de2d54ad --- /dev/null +++ b/components/ContextMenuItem.qml @@ -0,0 +1,52 @@ +import QtQuick 2.9 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.1 + +import FontAwesome 1.0 +import "../components" as MoneroComponents + +MenuItem { + id: menuItem + + property bool glyphIconSolid: true + property alias glyphIcon: glyphIcon.text + + background: Rectangle { + color: MoneroComponents.Style.buttonBackgroundColorDisabledHover + opacity: mouse.containsMouse ? 1 : 0 + + MouseArea { + id: mouse + + anchors.fill: parent + hoverEnabled: true + onClicked: menuItem.triggered() + visible: menuItem.enabled + } + } + + contentItem: RowLayout { + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + opacity: menuItem.enabled ? 1 : 0.4 + spacing: 8 + + Text { + id: glyphIcon + + color: MoneroComponents.Style.buttonTextColor + font.family: glyphIconSolid ? FontAwesome.fontFamilySolid : FontAwesome.fontFamily + font.pixelSize: 14 + font.styleName: glyphIconSolid ? "Solid" : "Regular" + } + + Text { + color: MoneroComponents.Style.buttonTextColor + font.family: MoneroComponents.Style.fontRegular.name + font.pixelSize: 14 + Layout.fillWidth: true + text: menuItem.text + } + } +} diff --git a/qml.qrc b/qml.qrc index 590eccb6..1ad92107 100644 --- a/qml.qrc +++ b/qml.qrc @@ -23,6 +23,7 @@ pages/AddressBook.qml pages/Mining.qml components/ContextMenu.qml + components/ContextMenuItem.qml components/NetworkStatusItem.qml components/Input.qml components/StandardButton.qml