summary refs log tree commit diff
path: root/resources/qml/components/TextButton.qml
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-12-13 00:43:05 +0100
committerNicolas Werner <nicolas.werner@hotmail.de>2021-12-13 00:43:05 +0100
commitdae032172d9280facec9538e38fefc3231205cc8 (patch)
treea0069d2443696e53021117a8346b843969f89448 /resources/qml/components/TextButton.qml
parentVertically align message input (diff)
downloadnheko-dae032172d9280facec9538e38fefc3231205cc8.tar.xz
Add recently used reactions
fixes #435
Diffstat (limited to 'resources/qml/components/TextButton.qml')
-rw-r--r--resources/qml/components/TextButton.qml48
1 files changed, 48 insertions, 0 deletions
diff --git a/resources/qml/components/TextButton.qml b/resources/qml/components/TextButton.qml
new file mode 100644
index 00000000..5dc946e7
--- /dev/null
+++ b/resources/qml/components/TextButton.qml
@@ -0,0 +1,48 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+import "../ui"
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import im.nheko 1.0 // for cursor shape
+
+AbstractButton {
+    id: button
+
+    property alias cursor: mouseArea.cursorShape
+    property color highlightColor: Nheko.colors.highlight
+    property color buttonTextColor: Nheko.colors.buttonText
+
+    focusPolicy: Qt.NoFocus
+    width: buttonText.implicitWidth
+    height: buttonText.implicitHeight
+    implicitWidth: buttonText.implicitWidth
+    implicitHeight: buttonText.implicitHeight
+
+    Label {
+        id: buttonText
+
+        anchors.centerIn: parent
+        padding: 0
+        text: button.text
+        color: button.hovered ? highlightColor : buttonTextColor
+        font: button.font
+        verticalAlignment: Text.AlignVCenter
+        horizontalAlignment: Text.AlignHCenter
+    }
+
+    CursorShape {
+        id: mouseArea
+
+        anchors.fill: parent
+        cursorShape: Qt.PointingHandCursor
+    }
+
+    Ripple {
+        color: Qt.rgba(buttonTextColor.r, buttonTextColor.g, buttonTextColor.b, 0.5)
+        clip: false
+        rippleTarget: button
+    }
+
+}