From a1fed44b5012f0b4a6237c296f55a3a1cf699252 Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Tue, 30 May 2023 14:21:44 +0200
Subject: [PATCH] Add goto button to hover menu when searching

fixes #1457
---
 resources/icons/ui/go-to.svg  |  1 +
 resources/qml/MessageView.qml | 27 ++++++++++++++++++---------
 resources/res.qrc             |  1 +
 3 files changed, 20 insertions(+), 9 deletions(-)
 create mode 100644 resources/icons/ui/go-to.svg

diff --git a/resources/icons/ui/go-to.svg b/resources/icons/ui/go-to.svg
new file mode 100644
index 000000000..3f0bcaac2
--- /dev/null
+++ b/resources/icons/ui/go-to.svg
@@ -0,0 +1 @@
+<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M18.78 2.22a.75.75 0 1 0-1.06 1.06L19.44 5h-6.19a2.75 2.75 0 0 0-2.75 2.75v9.497c0 .69-.56 1.25-1.25 1.25H7.958a3 3 0 1 0-.128 1.5h1.42a2.75 2.75 0 0 0 2.75-2.75V7.75c0-.69.56-1.25 1.25-1.25h6.19l-1.72 1.72a.75.75 0 0 0 1.06 1.06l3-3a.75.75 0 0 0 0-1.06l-3-3ZM3.5 19a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0Z" fill="#212121"/></svg>
\ No newline at end of file
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index 733621df4..206b9a17f 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -124,8 +124,6 @@ Item {
                 }
 
                 ImageButton {
-                    id: editButton
-
                     visible: !!row.model && row.model.isEditable
                     buttonTextColor: Nheko.colors.buttonText
                     width: 16
@@ -157,8 +155,6 @@ Item {
                 }
 
                 ImageButton {
-                    id: threadButton
-
                     visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false
                     width: 16
                     hoverEnabled: true
@@ -170,8 +166,6 @@ Item {
                 }
 
                 ImageButton {
-                    id: replyButton
-
                     visible: room ? room.permissions.canSend(MtxEvent.TextMessage) : false
                     width: 16
                     hoverEnabled: true
@@ -182,6 +176,21 @@ Item {
                     onClicked: room.reply = row.model.eventId
                 }
 
+                ImageButton {
+                    visible: !!row.model && filteredTimeline.filterByContent
+                    buttonTextColor: Nheko.colors.buttonText
+                    width: 16
+                    hoverEnabled: true
+                    image: ":/icons/icons/ui/go-to.svg"
+                    ToolTip.visible: hovered
+                    ToolTip.delay: Nheko.tooltipDelay
+                    ToolTip.text: qsTr("Go to message")
+                    onClicked: {
+                        topBar.searchString = "";
+                        room.showEvent(row.model.eventId);
+                    }
+                }
+
                 ImageButton {
                     id: optionsButton
 
@@ -648,12 +657,12 @@ Item {
         }
 
         Platform.MenuItem {
-             visible: topBar.searchString !== ""
+             visible: filteredTimeline.filterByContent
              enabled: visible
-             text: qsTr("Go to eve&nt")
+             text: qsTr("Go to &message")
              onTriggered: function() {
-                room.showEvent(messageContextMenu.eventId);
                 topBar.searchString = "";
+                room.showEvent(messageContextMenu.eventId);
             }
          }
 
diff --git a/resources/res.qrc b/resources/res.qrc
index 87f009e5f..bcef8841e 100644
--- a/resources/res.qrc
+++ b/resources/res.qrc
@@ -18,6 +18,7 @@
         <file>icons/ui/edit.svg</file>
         <file>icons/ui/end-call.svg</file>
         <file>icons/ui/expanded.svg</file>
+        <file>icons/ui/go-to.svg</file>
         <file>icons/ui/image-failed.svg</file>
         <file>icons/ui/image.svg</file>
         <file>icons/ui/lowprio.svg</file>
-- 
GitLab