diff --git a/ui/app/AppLayouts/Chat/ChatColumn/TopBar.qml b/ui/app/AppLayouts/Chat/ChatColumn/TopBar.qml index cb9068591e..3175228052 100644 --- a/ui/app/AppLayouts/Chat/ChatColumn/TopBar.qml +++ b/ui/app/AppLayouts/Chat/ChatColumn/TopBar.qml @@ -104,6 +104,13 @@ Rectangle { PopupMenu { id: chatContextMenu + subMenuIcons: [ + { + source: Qt.resolvedUrl("../../../img/fetch.svg"), + width: 16, + height: 16 + } + ] Action { icon.source: "../../../img/close.svg" icon.width: chatTopBarContent.iconSize @@ -112,6 +119,7 @@ Rectangle { text: qsTrId("clear-history") onTriggered: chatsModel.clearChatHistory(chatsModel.activeChannel.id) } + FetchMoreMessages {} Action { icon.source: "../../../img/delete.svg" icon.width: chatTopBarContent.iconSize diff --git a/ui/app/AppLayouts/Chat/ContactsColumn/ChannelList.qml b/ui/app/AppLayouts/Chat/ContactsColumn/ChannelList.qml index 3b63bb9751..4a589bbc57 100644 --- a/ui/app/AppLayouts/Chat/ContactsColumn/ChannelList.qml +++ b/ui/app/AppLayouts/Chat/ContactsColumn/ChannelList.qml @@ -194,57 +194,7 @@ ScrollView { chatsModel.markAllChannelMessagesReadByIndex(channelContextMenu.channelIndex) } } - PopupMenu { - hasArrow: false - //% "Fetch Messages" - title: qsTrId("fetch-messages") - - // TODO call fetch for the wanted duration - //% "Last 24 hours" - Action { - text: qsTrId("last-24-hours"); - icon.width: 0; - onTriggered: { - chatsModel.requestMoreMessages(Constants.fetchRangeLast24Hours) - timer.setTimeout(function(){ - chatsModel.hideLoadingIndicator() - }, 3000); - } - } - //% "Last 2 days" - Action { - text: qsTrId("last-2-days"); - icon.width: 0; - onTriggered: { - chatsModel.requestMoreMessages(Constants.fetchRangeLast2Days) - timer.setTimeout(function(){ - chatsModel.hideLoadingIndicator() - }, 4000); - } - } - //% "Last 3 days" - Action { - text: qsTrId("last-3-days"); - icon.width: 0; - onTriggered: { - chatsModel.requestMoreMessages(Constants.fetchRangeLast3Days) - timer.setTimeout(function(){ - chatsModel.hideLoadingIndicator() - }, 5000); - } - } - //% "Last 7 days" - Action { - text: qsTrId("last-7-days"); - icon.width: 0; - onTriggered: { - chatsModel.requestMoreMessages(Constants.fetchRangeLast7Days) - timer.setTimeout(function(){ - chatsModel.hideLoadingIndicator() - }, 7000); - } - } - } + FetchMoreMessages {} Action { //% "Clear History" text: qsTrId("clear-history") diff --git a/ui/app/AppLayouts/Chat/components/FetchMoreMessages.qml b/ui/app/AppLayouts/Chat/components/FetchMoreMessages.qml new file mode 100644 index 0000000000..3ae6a1453f --- /dev/null +++ b/ui/app/AppLayouts/Chat/components/FetchMoreMessages.qml @@ -0,0 +1,57 @@ +import QtQuick 2.13 +import QtQuick.Controls 2.13 +import QtQuick.Layouts 1.13 +import "../../../../shared" +import "../../../../shared/status" +import "../../../../imports" + +PopupMenu { + //% "Fetch Messages" + title: qsTrId("fetch-messages") + + // TODO call fetch for the wanted duration + //% "Last 24 hours" + Action { + text: qsTrId("last-24-hours"); + icon.width: 0; + onTriggered: { + chatsModel.requestMoreMessages(Constants.fetchRangeLast24Hours) + timer.setTimeout(function(){ + chatsModel.hideLoadingIndicator() + }, 3000); + } + } + //% "Last 2 days" + Action { + text: qsTrId("last-2-days"); + icon.width: 0; + onTriggered: { + chatsModel.requestMoreMessages(Constants.fetchRangeLast2Days) + timer.setTimeout(function(){ + chatsModel.hideLoadingIndicator() + }, 4000); + } + } + //% "Last 3 days" + Action { + text: qsTrId("last-3-days"); + icon.width: 0; + onTriggered: { + chatsModel.requestMoreMessages(Constants.fetchRangeLast3Days) + timer.setTimeout(function(){ + chatsModel.hideLoadingIndicator() + }, 5000); + } + } + //% "Last 7 days" + Action { + text: qsTrId("last-7-days"); + icon.width: 0; + onTriggered: { + chatsModel.requestMoreMessages(Constants.fetchRangeLast7Days) + timer.setTimeout(function(){ + chatsModel.hideLoadingIndicator() + }, 7000); + } + } +}