diff --git a/monitoring/ModelInspectionPane.qml b/monitoring/ModelInspectionPane.qml index d9b7fca4ad..50bc8a9902 100644 --- a/monitoring/ModelInspectionPane.qml +++ b/monitoring/ModelInspectionPane.qml @@ -3,6 +3,8 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import Monitoring 1.0 + +import StatusQ.Core 0.1 import StatusQ.Core.Utils 0.1 Item { @@ -164,7 +166,7 @@ Item { color: "gray" } - MouseArea { + StatusMouseArea { id: labelMouseArea anchors.fill: parent @@ -237,7 +239,7 @@ Item { elide: Text.ElideRight maximumLineCount: 1 - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/monitoring/MonitorEntryPoint.qml b/monitoring/MonitorEntryPoint.qml index 48b78988d0..6e4ec55a94 100644 --- a/monitoring/MonitorEntryPoint.qml +++ b/monitoring/MonitorEntryPoint.qml @@ -4,9 +4,10 @@ import QtQuick.Layouts 1.15 import Monitoring 1.0 import Qt.labs.settings 1.0 - import AppLayouts.Wallet.stores 1.0 as WalletStores +import StatusQ.Core 0.1 + Component { ColumnLayout { spacing: 0 @@ -91,7 +92,7 @@ Component { } } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { @@ -229,7 +230,7 @@ Component { } } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { diff --git a/storybook/pages/BackupSeedphraseFlowPage.qml b/storybook/pages/BackupSeedphraseFlowPage.qml index 61fcde957a..b217428149 100644 --- a/storybook/pages/BackupSeedphraseFlowPage.qml +++ b/storybook/pages/BackupSeedphraseFlowPage.qml @@ -26,7 +26,7 @@ Item { initialItem: backupSeedIntroPage } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.BackButton enabled: backButton.visible diff --git a/storybook/pages/CommunitiesPortalModelEditor.qml b/storybook/pages/CommunitiesPortalModelEditor.qml index 953b6c951f..e5d796d412 100644 --- a/storybook/pages/CommunitiesPortalModelEditor.qml +++ b/storybook/pages/CommunitiesPortalModelEditor.qml @@ -5,6 +5,8 @@ import QtQuick.Layouts 1.14 import Storybook 1.0 import Models 1.0 +import StatusQ.Core 0.1 + ListView { id: root @@ -115,7 +117,7 @@ ListView { source: model.icon } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: iconSelector.open() @@ -149,7 +151,7 @@ ListView { source: model.banner } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: bannerSelector.open() diff --git a/storybook/pages/ConcatModelPage.qml b/storybook/pages/ConcatModelPage.qml index 7afbe657e8..0f75db82bc 100644 --- a/storybook/pages/ConcatModelPage.qml +++ b/storybook/pages/ConcatModelPage.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ 0.1 +import StatusQ.Core 0.1 import Qt.labs.qmlmodels 1.0 @@ -99,7 +100,7 @@ Item { font.bold: true text: model.name - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { @@ -152,7 +153,7 @@ Item { font.bold: true text: model.name - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: secondModel.setProperty( diff --git a/storybook/pages/DerivationPathInputPage.qml b/storybook/pages/DerivationPathInputPage.qml index 5e09d6caf0..3b2211f12f 100644 --- a/storybook/pages/DerivationPathInputPage.qml +++ b/storybook/pages/DerivationPathInputPage.qml @@ -57,7 +57,7 @@ SplitView { icon: "chevron-down" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/storybook/pages/DoubleFlickableWithFoldingPage.qml b/storybook/pages/DoubleFlickableWithFoldingPage.qml index 10b7a5fb95..58377daf98 100644 --- a/storybook/pages/DoubleFlickableWithFoldingPage.qml +++ b/storybook/pages/DoubleFlickableWithFoldingPage.qml @@ -100,7 +100,7 @@ SplitView { + " Community" } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: doubleFlickable.flip1Folding() @@ -175,7 +175,7 @@ SplitView { + " Others" } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: doubleFlickable.flip2Folding() diff --git a/storybook/pages/LeftJoinModelPage.qml b/storybook/pages/LeftJoinModelPage.qml index c0dc438e52..ab392176b5 100644 --- a/storybook/pages/LeftJoinModelPage.qml +++ b/storybook/pages/LeftJoinModelPage.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ 0.1 +import StatusQ.Core 0.1 Item { id: root @@ -147,7 +148,7 @@ Item { color: model.color - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { diff --git a/storybook/pages/MembersDropdownPage.qml b/storybook/pages/MembersDropdownPage.qml index 3b3fa7dd1e..72b4e8247b 100644 --- a/storybook/pages/MembersDropdownPage.qml +++ b/storybook/pages/MembersDropdownPage.qml @@ -9,6 +9,8 @@ import SortFilterProxyModel 0.2 import Storybook 1.0 +import StatusQ.Core 0.1 + SplitView { id: root @@ -75,7 +77,7 @@ SplitView { Drag.active: dragArea.drag.active - MouseArea { + StatusMouseArea { id: dragArea anchors.fill: parent diff --git a/storybook/pages/MovableModelPage.qml b/storybook/pages/MovableModelPage.qml index de3d937abb..147c9d2078 100644 --- a/storybook/pages/MovableModelPage.qml +++ b/storybook/pages/MovableModelPage.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ 0.1 +import StatusQ.Core 0.1 Item { id: root @@ -137,7 +138,7 @@ Item { ScrollBar.vertical: ScrollBar {} - delegate: MouseArea { + delegate: StatusMouseArea { id: dragArea property bool held: false diff --git a/storybook/pages/MovableModelWithSfpmPage.qml b/storybook/pages/MovableModelWithSfpmPage.qml index 20d2ad5505..db7915a198 100644 --- a/storybook/pages/MovableModelWithSfpmPage.qml +++ b/storybook/pages/MovableModelWithSfpmPage.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ 0.1 +import StatusQ.Core 0.1 import SortFilterProxyModel 0.2 @@ -127,7 +128,7 @@ Item { text: "↕️" } - MouseArea { + StatusMouseArea { id: sourceDragArea property bool held: false @@ -308,7 +309,7 @@ Item { text: "↕️" } - MouseArea { + StatusMouseArea { id: dragArea property bool held: false diff --git a/storybook/pages/ObjectProxyModelExample1.qml b/storybook/pages/ObjectProxyModelExample1.qml index 84ec8d1e65..ba1cfdf4c9 100644 --- a/storybook/pages/ObjectProxyModelExample1.qml +++ b/storybook/pages/ObjectProxyModelExample1.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import StatusQ 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Utils 0.1 import SortFilterProxyModel 0.2 @@ -287,7 +288,7 @@ Item { font.pixelSize: 10 } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { diff --git a/storybook/pages/PopupSizingPage.qml b/storybook/pages/PopupSizingPage.qml index a3c754da05..e7c83a0f43 100644 --- a/storybook/pages/PopupSizingPage.qml +++ b/storybook/pages/PopupSizingPage.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import QtQml 2.15 +import StatusQ.Core 0.1 Item { id: root @@ -120,7 +121,7 @@ Item { Drag.active: dragArea.drag.active - MouseArea { + StatusMouseArea { id: dragArea anchors.fill: parent diff --git a/storybook/pages/StatusScrollViewPage.qml b/storybook/pages/StatusScrollViewPage.qml index 7277e51bbe..685aee37a5 100644 --- a/storybook/pages/StatusScrollViewPage.qml +++ b/storybook/pages/StatusScrollViewPage.qml @@ -207,7 +207,7 @@ SplitView { Qt.openUrlExternally(link) } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor visible: !!slidesLabel.hoveredLink diff --git a/storybook/pages/UnblockWithPukFlowPage.qml b/storybook/pages/UnblockWithPukFlowPage.qml index 0c837d22c5..96120271ae 100644 --- a/storybook/pages/UnblockWithPukFlowPage.qml +++ b/storybook/pages/UnblockWithPukFlowPage.qml @@ -4,6 +4,7 @@ import QtQuick.Layouts 1.15 import StatusQ 0.1 import StatusQ.Controls 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import Storybook 1.0 @@ -57,7 +58,7 @@ SplitView { // needs to be on top of the stack // we're here only to provide the Back button feature - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.BackButton cursorShape: undefined // don't override the cursor coming from the stack diff --git a/storybook/src/Storybook/GenericListView.qml b/storybook/src/Storybook/GenericListView.qml index f93a9d3325..d3ebdafe36 100644 --- a/storybook/src/Storybook/GenericListView.qml +++ b/storybook/src/Storybook/GenericListView.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Utils 0.1 import utils 1.0 @@ -124,7 +125,7 @@ ListView { text: "↕️" visible: root.movable - MouseArea { + StatusMouseArea { id: dragArea property bool held: pressed @@ -167,7 +168,7 @@ ListView { text: `${roleName}: ${mayBeImage ? `` : valueSanitized}${separator}` - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: root.rowClicked( diff --git a/storybook/src/Storybook/ImageSelectPopup.qml b/storybook/src/Storybook/ImageSelectPopup.qml index 8b259851cf..475a554e5e 100644 --- a/storybook/src/Storybook/ImageSelectPopup.qml +++ b/storybook/src/Storybook/ImageSelectPopup.qml @@ -1,6 +1,8 @@ import QtQuick 2.14 import QtQuick.Controls 2.14 +import StatusQ.Core 0.1 + Popup { id: root @@ -46,7 +48,7 @@ Popup { anchors.centerIn: parent asynchronous: true - MouseArea { + StatusMouseArea { id: ma anchors.fill: parent onClicked: root.selected(model.image) diff --git a/storybook/src/Storybook/ImagesGridView.qml b/storybook/src/Storybook/ImagesGridView.qml index 4d0add4e57..ef1d80cd8d 100644 --- a/storybook/src/Storybook/ImagesGridView.qml +++ b/storybook/src/Storybook/ImagesGridView.qml @@ -2,6 +2,8 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQml.Models 2.15 +import StatusQ.Core 0.1 + GridView { id: root @@ -33,7 +35,7 @@ GridView { running: image.status !== Image.Ready } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: root.clicked(model.index) diff --git a/storybook/src/Storybook/InspectionItem.qml b/storybook/src/Storybook/InspectionItem.qml index da4ef5cd52..4c7ec1feb0 100644 --- a/storybook/src/Storybook/InspectionItem.qml +++ b/storybook/src/Storybook/InspectionItem.qml @@ -2,6 +2,8 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 +import StatusQ.Core 0.1 + Rectangle { id: root @@ -162,7 +164,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { id: mouseArea visible: isVisual || showNonVisual diff --git a/storybook/src/Storybook/InspectionItemsList.qml b/storybook/src/Storybook/InspectionItemsList.qml index 3eb1a03179..ca357ed04e 100644 --- a/storybook/src/Storybook/InspectionItemsList.qml +++ b/storybook/src/Storybook/InspectionItemsList.qml @@ -1,6 +1,7 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 +import StatusQ.Core 0.1 ListView { ScrollBar.vertical: ScrollBar {} @@ -28,7 +29,7 @@ ListView { value: mouseArea.containsMouse } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/storybook/src/Storybook/PagesList.qml b/storybook/src/Storybook/PagesList.qml index dc5a16eb80..73019efa62 100644 --- a/storybook/src/Storybook/PagesList.qml +++ b/storybook/src/Storybook/PagesList.qml @@ -3,6 +3,8 @@ import QtQuick.Controls 2.15 import Storybook 1.0 +import StatusQ.Core 0.1 + ListView { id: root @@ -52,14 +54,14 @@ ListView { return "gray" } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: root.statusClicked() } } - MouseArea { + StatusMouseArea { id: dragArea anchors.fill: parent diff --git a/ui/StatusQ/include/StatusQ/systemutilsinternal.h b/ui/StatusQ/include/StatusQ/systemutilsinternal.h index a0f4467142..09fab852fe 100644 --- a/ui/StatusQ/include/StatusQ/systemutilsinternal.h +++ b/ui/StatusQ/include/StatusQ/systemutilsinternal.h @@ -1,6 +1,8 @@ #pragma once #include +#include +#include class SystemUtilsInternal : public QObject { @@ -11,4 +13,5 @@ public: Q_INVOKABLE QString qtRuntimeVersion() const; Q_INVOKABLE void restartApplication() const; Q_INVOKABLE void downloadImageByUrl(const QUrl& url, const QString& path) const; + Q_INVOKABLE void synthetizeRightClick(QQuickItem* item, qreal x, qreal y, Qt::KeyboardModifiers modifiers) const; }; diff --git a/ui/StatusQ/sandbox/ThemeSwitch.qml b/ui/StatusQ/sandbox/ThemeSwitch.qml index 51b8f1f123..0b5dd503a6 100644 --- a/ui/StatusQ/sandbox/ThemeSwitch.qml +++ b/ui/StatusQ/sandbox/ThemeSwitch.qml @@ -1,6 +1,7 @@ import QtQuick 2.14 import QtQuick.Controls 2.14 +import StatusQ.Core 0.1 import StatusQ.Controls 0.1 Item { @@ -12,7 +13,7 @@ Item { width: themeSwitch.width height: themeSwitch.height - MouseArea { + StatusMouseArea { id: sensor hoverEnabled: true anchors.fill: parent diff --git a/ui/StatusQ/sandbox/pages/StatusListPickerPage.qml b/ui/StatusQ/sandbox/pages/StatusListPickerPage.qml index 96324f3d81..b830bb8f66 100644 --- a/ui/StatusQ/sandbox/pages/StatusListPickerPage.qml +++ b/ui/StatusQ/sandbox/pages/StatusListPickerPage.qml @@ -69,7 +69,7 @@ GridLayout { } // Outsite area - MouseArea { + StatusMouseArea { height: root.height width: root.width onClicked: { diff --git a/ui/StatusQ/sandbox/pages/StatusScrollViewPage.qml b/ui/StatusQ/sandbox/pages/StatusScrollViewPage.qml index 1ca874bb62..cb0b16de3d 100644 --- a/ui/StatusQ/sandbox/pages/StatusScrollViewPage.qml +++ b/ui/StatusQ/sandbox/pages/StatusScrollViewPage.qml @@ -35,7 +35,7 @@ Rectangle { Qt.openUrlExternally(link) } - MouseArea { + StatusMouseArea { anchors.fill: parent visible: !!docs.hoveredLink cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Components/StatusAddress.qml b/ui/StatusQ/src/StatusQ/Components/StatusAddress.qml index 0043afafa4..d3a6ebad99 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusAddress.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusAddress.qml @@ -22,7 +22,7 @@ StatusBaseText { expanded = actualWidth <= maxWidth } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: root.expandable ? Qt.PointingHandCursor : Qt.arrowCursor enabled: root.expandable diff --git a/ui/StatusQ/src/StatusQ/Components/StatusAddressPanel.qml b/ui/StatusQ/src/StatusQ/Components/StatusAddressPanel.qml index ee65866730..a4d430b7bb 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusAddressPanel.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusAddressPanel.qml @@ -132,7 +132,7 @@ Item { color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { id: copyMouseArea anchors.fill: parent @@ -174,7 +174,7 @@ Item { radius: 36 } - MouseArea { + StatusMouseArea { id: mainMouseArea anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/StatusCard.qml b/ui/StatusQ/src/StatusQ/Components/StatusCard.qml index 895d8afda7..96d91c038a 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusCard.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusCard.qml @@ -219,7 +219,7 @@ Rectangle { z: root.z - 1 } - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Components/StatusChatListAndCategories.qml b/ui/StatusQ/src/StatusQ/Components/StatusChatListAndCategories.qml index 0a6695a362..6d09835f0e 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusChatListAndCategories.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusChatListAndCategories.qml @@ -31,7 +31,7 @@ Item { signal categoryAddButtonClicked(string id) signal toggleCollapsedCommunityCategory(string categoryId, bool collapsed) - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/ui/StatusQ/src/StatusQ/Components/StatusChatListItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusChatListItem.qml index 949105efe9..61f6534c0b 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusChatListItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusChatListItem.qml @@ -70,7 +70,7 @@ Rectangle { opacity: dragged ? 0.7 : 1 - MouseArea { + StatusMouseArea { id: sensor HoverHandler { @@ -178,7 +178,7 @@ Rectangle { icon: Theme.palette.name === "light" ? "tiny/muted" : "tiny/muted-white" visible: root.muted - MouseArea { + StatusMouseArea { id: mutedIconSensor hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Components/StatusColorSpace.qml b/ui/StatusQ/src/StatusQ/Components/StatusColorSpace.qml index 9259b817cc..db8c08b2ba 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusColorSpace.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusColorSpace.qml @@ -89,7 +89,7 @@ Item { } } - MouseArea { + StatusMouseArea { id: hueArea property bool hoverOnGauge: false @@ -151,7 +151,7 @@ Item { } } - MouseArea { + StatusMouseArea { id: satValArea anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Components/StatusDescriptionListItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusDescriptionListItem.qml index 45857bc1b2..38caaa126f 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusDescriptionListItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusDescriptionListItem.qml @@ -24,7 +24,7 @@ Rectangle { color: Theme.palette.statusListItem.backgroundColor - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Components/StatusDraggableListItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusDraggableListItem.qml index bb49522ee8..aa4ab7a079 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusDraggableListItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusDraggableListItem.qml @@ -279,7 +279,7 @@ ItemDelegate { border.color: Theme.palette.baseColor2 radius: root.customizable ? 0 : 8 - MouseArea { + StatusMouseArea { id: dragHandler anchors.fill: parent drag.target: root.dragEnabled ? root : null diff --git a/ui/StatusQ/src/StatusQ/Components/StatusExpandableItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusExpandableItem.qml index 88c04dee46..ca999cb961 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusExpandableItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusExpandableItem.qml @@ -159,7 +159,7 @@ Rectangle { Theme.palette.directColor1 } - MouseArea { + StatusMouseArea { id: sensor objectName: "ExpandableItem" anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/StatusImageCropPanel.qml b/ui/StatusQ/src/StatusQ/Components/StatusImageCropPanel.qml index c9af5b8df7..8c13e58fcb 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusImageCropPanel.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusImageCropPanel.qml @@ -212,7 +212,7 @@ Item { } // Drag and zoom - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: root.interactive diff --git a/ui/StatusQ/src/StatusQ/Components/StatusItemSelector.qml b/ui/StatusQ/src/StatusQ/Components/StatusItemSelector.qml index 08fca4dd6b..8579015296 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusItemSelector.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusItemSelector.qml @@ -129,7 +129,7 @@ StatusFlowSelector { text: OperatorsUtils.setOperatorTextFormat(model.operator) color: Theme.palette.primaryColor1 font.pixelSize: 17 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { @@ -159,7 +159,7 @@ StatusFlowSelector { titleText.font.pixelSize: Theme.primaryTextFontSize leftPadding: root.tagLeftPadding - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: root.itemsClickable cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/StatusQ/src/StatusQ/Components/StatusListItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusListItem.qml index c629112463..a3381c4f40 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusListItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusListItem.qml @@ -102,7 +102,7 @@ Rectangle { property int subTitleBadgeLoaderAlignment: Qt.AlignVCenter signal clicked(string itemId, var mouse) - signal titleClicked(string titleId) + signal titleClicked(string titleId, var mouse) signal iconClicked(var mouse) enum Type { @@ -121,7 +121,7 @@ Rectangle { color: bgColor property color bgColor: { - if (sensor.containsMouse || root.highlighted) { + if (sensor.containsMouse || statusListItemTitleMouseArea.containsMouse || root.highlighted) { switch(type) { case StatusListItem.Type.Primary: return Theme.palette.baseColor2 @@ -143,7 +143,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton onClicked: (mouse) => { @@ -151,7 +151,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { id: sensor objectName: root.objectName + "_sensor" @@ -243,15 +243,16 @@ Rectangle { visible: statusListItemTitle.truncated && statusListItemTitleMouseArea.containsMouse } - MouseArea { + StatusMouseArea { id: statusListItemTitleMouseArea anchors.fill: parent enabled: root.enabled cursorShape: !root.forceDefaultCursor && sensor.enabled && containsMouse ? Qt.PointingHandCursor : Qt.ArrowCursor hoverEnabled: true + acceptedButtons: Qt.LeftButton | Qt.RightButton propagateComposedEvents: root.propagateTitleClicks onClicked: (mouse) => { - root.titleClicked(root.titleId) + root.titleClicked(root.titleId, mouse) mouse.accepted = false } } diff --git a/ui/StatusQ/src/StatusQ/Components/StatusListItemTag.qml b/ui/StatusQ/src/StatusQ/Components/StatusListItemTag.qml index e440be305c..424bd4bd94 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusListItemTag.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusListItemTag.qml @@ -48,7 +48,7 @@ Control { border.color: root.bgBorderColor } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: (mouse) => { @@ -82,7 +82,7 @@ Control { color: Theme.palette.primaryColor1 icon: "close-circle" visible: root.closeButtonVisible - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: (mouse) => { diff --git a/ui/StatusQ/src/StatusQ/Components/StatusListPicker.qml b/ui/StatusQ/src/StatusQ/Components/StatusListPicker.qml index 5d1851dbed..e336a27551 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusListPicker.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusListPicker.qml @@ -133,10 +133,10 @@ Item { /* \qmlmethod StatusListPicker::close() - It can be used to force to close the drop-down picker list whenever the consumer needs it. For example by adding an outside MouseArea to close the picker when user clicks outsite the component: + It can be used to force to close the drop-down picker list whenever the consumer needs it. For example by adding an outside StatusMouseArea to close the picker when user clicks outsite the component: \qml // Outsite area - MouseArea { + StatusMouseArea { height: root.height width: root.width onClicked: { currencyPicker.close() } @@ -326,7 +326,7 @@ Item { itemPickerChanged(root.proxy.key(model), checked) } - MouseArea { + StatusMouseArea { id: mouseArea enabled: root.enableSelectableItem anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/StatusMemberListItem.qml b/ui/StatusQ/src/StatusQ/Components/StatusMemberListItem.qml index d4c1207773..6c852d91d9 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusMemberListItem.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusMemberListItem.qml @@ -177,7 +177,7 @@ ItemDelegate { color: root.color radius: Theme.radius - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: root.enabled && root.hoverEnabled && root.hovered ? Qt.PointingHandCursor : undefined acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/ui/StatusQ/src/StatusQ/Components/StatusMessage.qml b/ui/StatusQ/src/StatusQ/Components/StatusMessage.qml index 031c6424e4..60c2fd6a45 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusMessage.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusMessage.qml @@ -190,7 +190,7 @@ Control { implicitWidth: messageLayout.implicitWidth implicitHeight: messageLayout.implicitHeight - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent } @@ -235,7 +235,7 @@ Control { bridgeBadge.visible: root.messageDetails.contentType === StatusMessage.ContentType.BridgeMessage bridgeBadge.image.source: root.messageDetails.sender.badgeImage - MouseArea { + StatusMouseArea { cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor acceptedButtons: Qt.LeftButton | Qt.RightButton anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/StatusRoundedMedia.qml b/ui/StatusQ/src/StatusQ/Components/StatusRoundedMedia.qml index 0a9ba44fd6..1651b1a614 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusRoundedMedia.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusRoundedMedia.qml @@ -169,7 +169,7 @@ StatusRoundedComponent { else return root.manualMaxDimension } - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: root.enabled && root.interactive && mediaLoader.visible && mediaLoader.item cursorShape: root.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/StatusQ/src/StatusQ/Components/StatusSmartIdenticon.qml b/ui/StatusQ/src/StatusQ/Components/StatusSmartIdenticon.qml index 90180869ca..0eed8f08cd 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusSmartIdenticon.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusSmartIdenticon.qml @@ -96,7 +96,7 @@ Loader { readonly property alias hovered: mouseArea.containsMouse - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/StatusToastMessage.qml b/ui/StatusQ/src/StatusQ/Components/StatusToastMessage.qml index dd8664ca46..7f40ee228d 100644 --- a/ui/StatusQ/src/StatusQ/Components/StatusToastMessage.qml +++ b/ui/StatusQ/src/StatusQ/Components/StatusToastMessage.qml @@ -139,7 +139,7 @@ Control { StatusToastMessage { id: toastMessage } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { toastMessage.open(qsTr("Verification Request Sent"), "", "checkmark-circle", 1, false,""); @@ -274,7 +274,7 @@ Control { contentItem: Item { implicitWidth: layout.implicitWidth implicitHeight: layout.implicitHeight - MouseArea { + StatusMouseArea { anchors.fill: parent onMouseXChanged: { root.open = (mouseX < (root.width/3)); diff --git a/ui/StatusQ/src/StatusQ/Components/private/chart/ChartCanvas.qml b/ui/StatusQ/src/StatusQ/Components/private/chart/ChartCanvas.qml index caa1afdb1e..aeaa98cac4 100644 --- a/ui/StatusQ/src/StatusQ/Components/private/chart/ChartCanvas.qml +++ b/ui/StatusQ/src/StatusQ/Components/private/chart/ChartCanvas.qml @@ -1,5 +1,7 @@ import QtQuick 2.15 +import StatusQ.Core 0.1 + import "./Library/Library.js" as Lib Canvas { @@ -97,7 +99,7 @@ Canvas { } } - MouseArea { + StatusMouseArea { id: mouse anchors.fill: parent hoverEnabled: enabled diff --git a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusImageMessage.qml b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusImageMessage.qml index ef3ea4b104..1598cfe368 100644 --- a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusImageMessage.qml +++ b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusImageMessage.qml @@ -77,7 +77,7 @@ Item { } } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton | Qt.RightButton anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageEmojiReactions.qml b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageEmojiReactions.qml index 5d2af4a982..0c4f323afd 100644 --- a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageEmojiReactions.qml +++ b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageEmojiReactions.qml @@ -133,7 +133,7 @@ Item { text: d.showReactionAuthors(model.jsonArrayOfUsersReactedWithThisEmoji, model.emojiId) } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true @@ -171,7 +171,7 @@ Item { color: addEmojiButton.isHovered ? Theme.palette.primaryColor1 : Theme.palette.baseColor1 } - MouseArea { + StatusMouseArea { id: addEmojiButtonMouseArea anchors.fill: addEmojiButton cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageReply.qml b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageReply.qml index c95a9d0943..62ba825c56 100644 --- a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageReply.qml +++ b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusMessageReply.qml @@ -75,7 +75,7 @@ Item { name: replyDetails.sender.displayName asset: replyDetails.sender.profileImage.assetSettings ringSettings: replyDetails.sender.profileImage.ringSettings - MouseArea { + StatusMouseArea { cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor acceptedButtons: Qt.LeftButton | Qt.RightButton anchors.fill: parent @@ -91,7 +91,7 @@ Item { text: replyDetails.amISender ? qsTr("You") : replyDetails.sender.displayName font.underline: mouseArea.containsMouse - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -157,7 +157,7 @@ Item { } } - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: !root.replyDetails.messageDeleted && root.replyDetails.sender.id hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusSticker.qml b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusSticker.qml index f89134a1cf..d27f4ff84c 100644 --- a/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusSticker.qml +++ b/ui/StatusQ/src/StatusQ/Components/private/statusMessage/StatusSticker.qml @@ -56,7 +56,7 @@ Loader { statusSticker.stickerLoaded() } } - MouseArea { + StatusMouseArea { enabled: !noMouseArea && (sticker.status === Image.Ready) cursorShape: noHover ? Qt.ArrowCursor : Qt.PointingHandCursor anchors.fill: parent @@ -78,7 +78,7 @@ Loader { StatusIcon { icon: "refresh" color: Theme.palette.directColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: root.reload() diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml index f039a8babf..5cdf4ccd0c 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml @@ -216,7 +216,7 @@ Button { // stop the mouse clicks in the "loading" or non-interactive state w/o disabling the whole button // as this would make it impossible to have hover events or a tooltip - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent acceptedButtons: Qt.AllButtons diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusBaseInput.qml b/ui/StatusQ/src/StatusQ/Controls/StatusBaseInput.qml index b6710616bf..ad1b3d0b94 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusBaseInput.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusBaseInput.qml @@ -309,7 +309,7 @@ Item { return sensor.containsMouse ? Theme.palette.primaryColor2 : "transparent" } - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent enabled: edit.enabled @@ -495,7 +495,7 @@ Item { asset.isLetterIdenticon: root.asset.isLetterIdenticon name: root.letterIconName - MouseArea { + StatusMouseArea { cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor acceptedButtons: Qt.LeftButton | Qt.RightButton anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusChatInfoButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusChatInfoButton.qml index af3666a030..1b3684b0ee 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusChatInfoButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusChatInfoButton.qml @@ -139,7 +139,7 @@ Button { color: mutedIconSensor.containsMouse ? Theme.palette.directColor1 : Theme.palette.baseColor1 visible: root.muted - MouseArea { + StatusMouseArea { id: mutedIconSensor hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusCommunityTag.qml b/ui/StatusQ/src/StatusQ/Controls/StatusCommunityTag.qml index 5e06706fb2..be72cb08ad 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusCommunityTag.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusCommunityTag.qml @@ -21,7 +21,7 @@ Rectangle { border.width: 1 color: root.highlighted || mouseArea.containsMouse ? Theme.palette.primaryColor2 : "transparent" - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusFeeOption.qml b/ui/StatusQ/src/StatusQ/Controls/StatusFeeOption.qml index cd4d41f75b..117fe60bf1 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusFeeOption.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusFeeOption.qml @@ -169,7 +169,7 @@ Control { } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: root.hovered? Qt.PointingHandCursor : undefined onClicked: root.clicked() diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusFlatRoundButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusFlatRoundButton.qml index ef976e7e2a..c39a3a91de 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusFlatRoundButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusFlatRoundButton.qml @@ -120,7 +120,7 @@ Rectangle { return backgroundSettings.disabledColor } } - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusIconTabButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusIconTabButton.qml index 9ed670305b..6175a95ad7 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusIconTabButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusIconTabButton.qml @@ -46,7 +46,7 @@ TabButton { radius: statusIconTabButton.width / 2 } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent acceptedButtons: Qt.NoButton diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml index f6983f4e76..c3e9687b04 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml @@ -76,7 +76,7 @@ AbstractButton { } // TODO: To remove when switch to Qt 5.15 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.NoButton diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusInput.qml b/ui/StatusQ/src/StatusQ/Controls/StatusInput.qml index 2497866120..6c748fe354 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusInput.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusInput.qml @@ -475,7 +475,7 @@ Control { icon: root.labelIcon color: root.labelIconColor - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: root.labelIconClickable hoverEnabled: root.labelIconClickable diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusLinkText.qml b/ui/StatusQ/src/StatusQ/Controls/StatusLinkText.qml index 79ad84e91e..5b346e6b48 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusLinkText.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusLinkText.qml @@ -52,7 +52,7 @@ StatusBaseText { font.weight: Font.Medium font.underline: root.containsMouse - MouseArea { + StatusMouseArea { id: textMouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusNavBarTabButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusNavBarTabButton.qml index 222c71477a..f46f61fd60 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusNavBarTabButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusNavBarTabButton.qml @@ -49,7 +49,7 @@ StatusIconTabButton { anchors.topMargin: 4 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusNavigationButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusNavigationButton.qml index 99a1b500c2..d239c29fba 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusNavigationButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusNavigationButton.qml @@ -34,7 +34,7 @@ Button { // otherwise there is no pointing hand cursor when button is hovered - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusPinInput.qml b/ui/StatusQ/src/StatusQ/Controls/StatusPinInput.qml index c41362671a..e371f52759 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusPinInput.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusPinInput.qml @@ -1,6 +1,7 @@ import QtQuick 2.15 import StatusQ 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls.Validators 0.1 @@ -13,7 +14,7 @@ import StatusQ.Controls.Validators 0.1 The \c StatusPinInput displays N visual circles corresponging with the pin length to introduce. - It runs a blinking animation when the control is focused and ready to introduce the pin, as well as, an hovering feedback when user is in the MouseArea where is able to click into the control. + It runs a blinking animation when the control is focused and ready to introduce the pin, as well as, an hovering feedback when user is in the StatusMouseArea where is able to click into the control. This pin input control allows introducing validators. @@ -314,12 +315,12 @@ Item { } } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true - // MouseArea behavior: + // StatusMouseArea behavior: onClicked: forceFocus() onContainsMouseChanged: { if(containsMouse) { cursorShape = Qt.PointingHandCursor } } } diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusRoundButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusRoundButton.qml index a8b7c2fd50..eb9eb66302 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusRoundButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusRoundButton.qml @@ -149,7 +149,7 @@ Rectangle { return backgroundSettings.disabledColor } - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusSeedPhraseInput.qml b/ui/StatusQ/src/StatusQ/Controls/StatusSeedPhraseInput.qml index 0ffec95c38..23f1b4c2b3 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusSeedPhraseInput.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusSeedPhraseInput.qml @@ -252,7 +252,7 @@ Item { font.pixelSize: 13 elide: Text.ElideRight } - MouseArea { + StatusMouseArea { id: mouseArea width: seedSuggestionsList.width height: parent.height diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusSelect.qml b/ui/StatusQ/src/StatusQ/Controls/StatusSelect.qml index af52955f8c..3a6677cfa1 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusSelect.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusSelect.qml @@ -152,7 +152,7 @@ Item { wrapMode: Text.WordWrap } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: inputRectangle cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusSelectableText.qml b/ui/StatusQ/src/StatusQ/Controls/StatusSelectableText.qml index e13802246a..f490d2bf62 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusSelectableText.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusSelectableText.qml @@ -34,7 +34,7 @@ Item { clip:true - MouseArea { + StatusMouseArea { id: sensor enabled: !edit.activeFocus hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusTabBarIconButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusTabBarIconButton.qml index c7ce5aa150..0f56de99cc 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusTabBarIconButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusTabBarIconButton.qml @@ -19,7 +19,7 @@ Item { implicitWidth: 40 implicitHeight: 40 - MouseArea { + StatusMouseArea { id: sensor enabled: root.enabled cursorShape: root.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusTagItem.qml b/ui/StatusQ/src/StatusQ/Controls/StatusTagItem.qml index 5b7c09fcb9..67453a2112 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusTagItem.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusTagItem.qml @@ -97,7 +97,7 @@ Control { width: d.tagIconsSize height: d.tagIconsSize icon: "close" - MouseArea { + StatusMouseArea { enabled: !root.isReadonly anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusTokenInlineSelector.qml b/ui/StatusQ/src/StatusQ/Controls/StatusTokenInlineSelector.qml index 10695e6184..978fa08497 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusTokenInlineSelector.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusTokenInlineSelector.qml @@ -136,7 +136,7 @@ RowLayout { } } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Core/StatusIconWithTooltip.qml b/ui/StatusQ/src/StatusQ/Core/StatusIconWithTooltip.qml index 6b464133c9..1266924100 100644 --- a/ui/StatusQ/src/StatusQ/Core/StatusIconWithTooltip.qml +++ b/ui/StatusQ/src/StatusQ/Core/StatusIconWithTooltip.qml @@ -1,6 +1,7 @@ import QtQuick 2.13 import QtQuick.Controls 2.15 +import StatusQ.Core 0.1 import StatusQ.Controls 0.1 StatusIcon { @@ -8,7 +9,7 @@ StatusIcon { property string tooltipText - MouseArea { + StatusMouseArea { id: tooltipSensor anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Core/StatusMouseArea.qml b/ui/StatusQ/src/StatusQ/Core/StatusMouseArea.qml new file mode 100644 index 0000000000..6395b5a77e --- /dev/null +++ b/ui/StatusQ/src/StatusQ/Core/StatusMouseArea.qml @@ -0,0 +1,54 @@ +import QtQuick 2.15 + +import StatusQ.Core 0.1 + +/*! + \qmltype StatusMouseArea + \inherits StatusMouseArea + \inqmlmodule StatusQ.Components + \since StatusQ.Components 0.1 + \brief Mouse area that emits right click event on long press. + + Example: + + \qml + StatusMouseArea { + anchors.fill: parent + buttons: Qt.LeftButton | Qt.RightButton + onClicked: { + if (mouse.button === Qt.RightButton) { + console.log("Right button clicked") + mouse.accepted = true + } + + if (mouse.button === Qt.LeftButton) { + console.log("Left button clicked") + mouse.accepted = true + } + } + } + \endqml +*/ + +MouseArea { + id: root + onPressAndHold: (mouse) => { + if (mouse.button === Qt.LeftButton) { + SystemUtils.synthetizeRightClick(root, mouse.x, mouse.y, mouse.modifiers) + } + } + + Loader { + id: tapLoader + anchors.fill: parent + active: root.acceptedButtons === Qt.RightButton + sourceComponent: TapHandler { + gesturePolicy: TapHandler.ReleaseWithinBounds // exclusive grab on press + acceptedButtons: Qt.LeftButton + acceptedDevices: PointerDevice.TouchScreen + onLongPressed: () => { + SystemUtils.synthetizeRightClick(root, point.position.x, point.position.y, point.modifiers) + } + } + } +} \ No newline at end of file diff --git a/ui/StatusQ/src/StatusQ/Core/qmldir b/ui/StatusQ/src/StatusQ/Core/qmldir index 2f6f808807..65053b495d 100644 --- a/ui/StatusQ/src/StatusQ/Core/qmldir +++ b/ui/StatusQ/src/StatusQ/Core/qmldir @@ -11,6 +11,7 @@ StatusIconWithTooltip 0.1 StatusIconWithTooltip.qml StatusIdenticonRingSettings 0.1 StatusIdenticonRingSettings.qml StatusListView 0.1 StatusListView.qml StatusModalHeaderSettings 0.1 StatusModalHeaderSettings.qml +StatusMouseArea 0.1 StatusMouseArea.qml StatusProfileImageSettings 0.1 StatusProfileImageSettings.qml StatusRollArea 0.1 StatusRollArea.qml StatusScrollView 0.1 StatusScrollView.qml diff --git a/ui/StatusQ/src/StatusQ/Platform/StatusMacTrafficLights.qml b/ui/StatusQ/src/StatusQ/Platform/StatusMacTrafficLights.qml index 7db6c9032d..1ddc52da1c 100644 --- a/ui/StatusQ/src/StatusQ/Platform/StatusMacTrafficLights.qml +++ b/ui/StatusQ/src/StatusQ/Platform/StatusMacTrafficLights.qml @@ -3,7 +3,7 @@ import QtQuick 2.13 import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 -MouseArea { +StatusMouseArea { id: statusMacTrafficLights signal close() @@ -47,7 +47,7 @@ MouseArea { } - MouseArea { + StatusMouseArea { id: closeSensor anchors.fill: parent @@ -76,7 +76,7 @@ MouseArea { scale: 0.27 } - MouseArea { + StatusMouseArea { id: miniSensor anchors.fill: parent @@ -104,7 +104,7 @@ MouseArea { scale: 0.25 } - MouseArea { + StatusMouseArea { id: maxiSensor anchors.fill: parent diff --git a/ui/StatusQ/src/StatusQ/Platform/StatusWindowsTitleBar.qml b/ui/StatusQ/src/StatusQ/Platform/StatusWindowsTitleBar.qml index ee46715844..7926b9d41d 100644 --- a/ui/StatusQ/src/StatusQ/Platform/StatusWindowsTitleBar.qml +++ b/ui/StatusQ/src/StatusQ/Platform/StatusWindowsTitleBar.qml @@ -61,7 +61,7 @@ Rectangle { color: Theme.palette.directColor1 } - MouseArea { + StatusMouseArea { id: minimizeSensor anchors.fill: parent hoverEnabled: true @@ -84,7 +84,7 @@ Rectangle { color: Theme.palette.directColor1 } - MouseArea { + StatusMouseArea { id: maximizeSensor anchors.fill: parent hoverEnabled: true @@ -107,7 +107,7 @@ Rectangle { color: closeSensor.containsMouse ? Theme.palette.white : Theme.palette.directColor1 } - MouseArea { + StatusMouseArea { id: closeSensor anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml index 620a9e05cb..8374f25c30 100644 --- a/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml +++ b/ui/StatusQ/src/StatusQ/Popups/Dialog/StatusDialogHeader.qml @@ -89,7 +89,7 @@ Rectangle { radius: root.radius color: root.internalOverlayColor - MouseArea { + StatusMouseArea { anchors.fill: parent anchors.bottomMargin: popupLoader.height onClicked: { diff --git a/ui/StatusQ/src/StatusQ/Popups/StatusMenuItem.qml b/ui/StatusQ/src/StatusQ/Popups/StatusMenuItem.qml index 6f746c700a..c7c14ea2dd 100644 --- a/ui/StatusQ/src/StatusQ/Popups/StatusMenuItem.qml +++ b/ui/StatusQ/src/StatusQ/Popups/StatusMenuItem.qml @@ -178,7 +178,7 @@ MenuItem { } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.NoButton diff --git a/ui/StatusQ/src/StatusQ/Popups/StatusSearchPopup.qml b/ui/StatusQ/src/StatusQ/Popups/StatusSearchPopup.qml index 8bda13f905..ed10f756a8 100644 --- a/ui/StatusQ/src/StatusQ/Popups/StatusSearchPopup.qml +++ b/ui/StatusQ/src/StatusQ/Popups/StatusSearchPopup.qml @@ -157,7 +157,7 @@ StatusModal { contentItem: Item { anchors.fill: parent - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent hoverEnabled: true @@ -297,7 +297,7 @@ StatusModal { } propagateTitleClicks: !root.acceptsTitleClick(titleId) - onTitleClicked: { + onTitleClicked: (titleId, mouse) => { if (root.acceptsTitleClick(titleId)) { root.resultItemTitleClicked(titleId) } diff --git a/ui/StatusQ/src/StatusQ/Popups/StatusSuccessAction.qml b/ui/StatusQ/src/StatusQ/Popups/StatusSuccessAction.qml index e46f29eff2..eedbc3130a 100644 --- a/ui/StatusQ/src/StatusQ/Popups/StatusSuccessAction.qml +++ b/ui/StatusQ/src/StatusQ/Popups/StatusSuccessAction.qml @@ -1,5 +1,6 @@ import QtQuick 2.15 +import StatusQ.Core 0.1 import StatusQ.Popups 0.1 /*! @@ -74,7 +75,7 @@ StatusMenuItem { type: root.success ? StatusAction.Type.Success : StatusAction.Type.Normal icon.name: root.success ? root.successIconName : root.icon.name } - MouseArea { + StatusMouseArea { // NOTE Using mouse area to block menu auto closing anchors.fill: parent hoverEnabled: true diff --git a/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusImageWithTitle.qml b/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusImageWithTitle.qml index c4c2d27520..29a9f2d022 100644 --- a/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusImageWithTitle.qml +++ b/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusImageWithTitle.qml @@ -96,7 +96,7 @@ Row { } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: enabled ? Qt.PointingHandCursor diff --git a/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusModalHeader.qml b/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusModalHeader.qml index 3349316e00..267b308540 100644 --- a/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusModalHeader.qml +++ b/ui/StatusQ/src/StatusQ/Popups/statusModal/StatusModalHeader.qml @@ -64,7 +64,7 @@ Rectangle { onEditButtonClicked: statusModalHeader.editButtonClicked() } - MouseArea { + StatusMouseArea { anchors.fill: imageWithTitle visible: !!statusModalHeader.popupMenu cursorShape: Qt.PointingHandCursor diff --git a/ui/StatusQ/src/statusq.qrc b/ui/StatusQ/src/statusq.qrc index 9b52ebf6e9..84367e07a4 100644 --- a/ui/StatusQ/src/statusq.qrc +++ b/ui/StatusQ/src/statusq.qrc @@ -184,6 +184,7 @@ StatusQ/Core/StatusIdenticonRingSettings.qml StatusQ/Core/StatusListView.qml StatusQ/Core/StatusModalHeaderSettings.qml + StatusQ/Core/StatusMouseArea.qml StatusQ/Core/StatusProfileImageSettings.qml StatusQ/Core/StatusRollArea.qml StatusQ/Core/StatusScrollView.qml diff --git a/ui/StatusQ/src/systemutilsinternal.cpp b/ui/StatusQ/src/systemutilsinternal.cpp index d1e776387b..90e59a5e81 100644 --- a/ui/StatusQ/src/systemutilsinternal.cpp +++ b/ui/StatusQ/src/systemutilsinternal.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include SystemUtilsInternal::SystemUtilsInternal(QObject *parent) @@ -80,3 +81,18 @@ void SystemUtilsInternal::downloadImageByUrl( << targetFile; }); } + +void SystemUtilsInternal::synthetizeRightClick(QQuickItem* item, qreal x, qreal y, Qt::KeyboardModifiers modifiers) const +{ + if (!item) + return; + + // Synthesize a right click event on the given item + auto leftClickRelease = new QMouseEvent(QEvent::MouseButtonRelease, {x, y}, Qt::LeftButton, Qt::NoButton, modifiers); + auto rightClickPress = new QMouseEvent(QEvent::MouseButtonPress, {x, y}, Qt::RightButton, Qt::NoButton, modifiers); + auto rightClickRelease = new QMouseEvent(QEvent::MouseButtonRelease, {x, y}, Qt::RightButton, Qt::NoButton, modifiers); + + QCoreApplication::postEvent(item, leftClickRelease); + QCoreApplication::postEvent(item, rightClickPress); + QCoreApplication::postEvent(item, rightClickRelease); +} diff --git a/ui/app/AppLayouts/Chat/controls/SuggestedChannel.qml b/ui/app/AppLayouts/Chat/controls/SuggestedChannel.qml index 94037ffa76..daf595af06 100644 --- a/ui/app/AppLayouts/Chat/controls/SuggestedChannel.qml +++ b/ui/app/AppLayouts/Chat/controls/SuggestedChannel.qml @@ -1,5 +1,6 @@ import QtQuick 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -30,7 +31,7 @@ Rectangle { font.pixelSize: 15 } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { root.clicked(channel); diff --git a/ui/app/AppLayouts/Chat/panels/EmptyChatPanel.qml b/ui/app/AppLayouts/Chat/panels/EmptyChatPanel.qml index 36e71af0f1..dff5f24d0e 100644 --- a/ui/app/AppLayouts/Chat/panels/EmptyChatPanel.qml +++ b/ui/app/AppLayouts/Chat/panels/EmptyChatPanel.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import shared 1.0 @@ -38,7 +39,7 @@ Item { font.pixelSize: 15 color: Theme.palette.primaryColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor hoverEnabled: true @@ -71,7 +72,7 @@ Item { anchors.leftMargin: 2 anchors.bottom: shareKeyLink.bottom - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor hoverEnabled: true diff --git a/ui/app/AppLayouts/Chat/panels/InlineSelectorPanel.qml b/ui/app/AppLayouts/Chat/panels/InlineSelectorPanel.qml index ee1ab4024f..5845fa8db6 100644 --- a/ui/app/AppLayouts/Chat/panels/InlineSelectorPanel.qml +++ b/ui/app/AppLayouts/Chat/panels/InlineSelectorPanel.qml @@ -197,7 +197,7 @@ Item { } } - MouseArea { + StatusMouseArea { anchors.fill: parent propagateComposedEvents: true onPressed: { diff --git a/ui/app/AppLayouts/Chat/panels/SuggestionBoxPanel.qml b/ui/app/AppLayouts/Chat/panels/SuggestionBoxPanel.qml index c44e7c00b2..d54c6c2e1c 100644 --- a/ui/app/AppLayouts/Chat/panels/SuggestionBoxPanel.qml +++ b/ui/app/AppLayouts/Chat/panels/SuggestionBoxPanel.qml @@ -161,7 +161,7 @@ Rectangle { anchors.leftMargin: Theme.smallPadding } - MouseArea { + StatusMouseArea { id: mouseArea cursorShape: Qt.PointingHandCursor anchors.fill: parent diff --git a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml index ce7b2916e3..5dd8d9ee70 100644 --- a/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml +++ b/ui/app/AppLayouts/Chat/popups/PinnedMessagesPopup.qml @@ -132,7 +132,7 @@ StatusDialog { shouldRepeatHeader: true } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true @@ -183,7 +183,7 @@ StatusDialog { anchors.rightMargin: Theme.bigPadding anchors.verticalCenter: parent.verticalCenter ButtonGroup.group: pinButtonGroup - onCheckedChanged: { // NB this should be `onToggled` but MouseArea above handles the whole delegate + onCheckedChanged: { // NB this should be `onToggled` but StatusMouseArea above handles the whole delegate root.messageToUnpin = checked ? model.id : "" } } diff --git a/ui/app/AppLayouts/Chat/views/ContactsColumnView.qml b/ui/app/AppLayouts/Chat/views/ContactsColumnView.qml index 8b294d10a7..dd21031559 100644 --- a/ui/app/AppLayouts/Chat/views/ContactsColumnView.qml +++ b/ui/app/AppLayouts/Chat/views/ContactsColumnView.qml @@ -99,7 +99,7 @@ Item { Layout.preferredHeight: 40 input.topPadding: 4 input.bottomPadding: 4 - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/controls/AddressesInputList.qml b/ui/app/AppLayouts/Communities/controls/AddressesInputList.qml index 70a628577d..6d18654a91 100644 --- a/ui/app/AppLayouts/Communities/controls/AddressesInputList.qml +++ b/ui/app/AppLayouts/Communities/controls/AddressesInputList.qml @@ -155,7 +155,7 @@ Control { icon: "delete" color: Theme.palette.directColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/controls/AirdropTokensSelector.qml b/ui/app/AppLayouts/Communities/controls/AirdropTokensSelector.qml index 933bdcff88..3a3c182776 100644 --- a/ui/app/AppLayouts/Communities/controls/AirdropTokensSelector.qml +++ b/ui/app/AppLayouts/Communities/controls/AirdropTokensSelector.qml @@ -60,7 +60,7 @@ StatusFlowSelector { : Theme.palette.dangerColor3 radius: root.placeholderItemHeight / 2 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: root.itemClicked(model.index, mouse, delegateRoot) diff --git a/ui/app/AppLayouts/Communities/controls/CommunityListItem.qml b/ui/app/AppLayouts/Communities/controls/CommunityListItem.qml index 342e7598a7..3f219f7590 100644 --- a/ui/app/AppLayouts/Communities/controls/CommunityListItem.qml +++ b/ui/app/AppLayouts/Communities/controls/CommunityListItem.qml @@ -2,6 +2,7 @@ import QtQuick 2.14 import StatusQ.Components 0.1 import StatusQ.Controls 0.1 +import StatusQ.Core 0.1 StatusListItem { property alias checked: checkBox.checked @@ -32,9 +33,9 @@ StatusListItem { } ] - // using MouseArea instead of build-in 'clicked' signal to avoid + // using StatusMouseArea instead of build-in 'clicked' signal to avoid // intercepting event by the StatusCheckBox - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { checkBox.toggle() diff --git a/ui/app/AppLayouts/Communities/controls/ExtendedDropdownContent.qml b/ui/app/AppLayouts/Communities/controls/ExtendedDropdownContent.qml index 89fdd92f8e..76df166dfd 100644 --- a/ui/app/AppLayouts/Communities/controls/ExtendedDropdownContent.qml +++ b/ui/app/AppLayouts/Communities/controls/ExtendedDropdownContent.qml @@ -338,7 +338,7 @@ Item { radioButtonSize: StatusRadioButton.Size.Small selected: model.selected - MouseArea { + StatusMouseArea { id: sensor1 anchors.fill: parent cursorShape: Qt.PointingHandCursor @@ -380,7 +380,7 @@ Item { radioButtonSize: StatusRadioButton.Size.Small selected: model.selected - MouseArea { + StatusMouseArea { id: sensor2 anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/controls/ListDropdownContent.qml b/ui/app/AppLayouts/Communities/controls/ListDropdownContent.qml index 4a7eb72670..467dcc732f 100644 --- a/ui/app/AppLayouts/Communities/controls/ListDropdownContent.qml +++ b/ui/app/AppLayouts/Communities/controls/ListDropdownContent.qml @@ -189,7 +189,7 @@ StatusListView { height: 16 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/controls/MembersSelectorPanel.qml b/ui/app/AppLayouts/Communities/controls/MembersSelectorPanel.qml index 6736e7be70..ee3be2d747 100644 --- a/ui/app/AppLayouts/Communities/controls/MembersSelectorPanel.qml +++ b/ui/app/AppLayouts/Communities/controls/MembersSelectorPanel.qml @@ -89,7 +89,7 @@ Control { icon: "delete" color: Theme.palette.directColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/controls/PermissionListItem.qml b/ui/app/AppLayouts/Communities/controls/PermissionListItem.qml index 290581e1bc..b6a6d1d152 100644 --- a/ui/app/AppLayouts/Communities/controls/PermissionListItem.qml +++ b/ui/app/AppLayouts/Communities/controls/PermissionListItem.qml @@ -47,9 +47,9 @@ StatusListItem { } ] - // using MouseArea instead of build-in 'clicked' signal to avoid + // using StatusMouseArea instead of build-in 'clicked' signal to avoid // intercepting event by the StatusRadioButton - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { if (!radioButton.checked) diff --git a/ui/app/AppLayouts/Communities/controls/ThumbnailsDropdownContent.qml b/ui/app/AppLayouts/Communities/controls/ThumbnailsDropdownContent.qml index 4ced17b7c5..f9da4175bf 100644 --- a/ui/app/AppLayouts/Communities/controls/ThumbnailsDropdownContent.qml +++ b/ui/app/AppLayouts/Communities/controls/ThumbnailsDropdownContent.qml @@ -88,7 +88,7 @@ StatusScrollView { } } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor hoverEnabled: true diff --git a/ui/app/AppLayouts/Communities/controls/TokenHolderListItem.qml b/ui/app/AppLayouts/Communities/controls/TokenHolderListItem.qml index 094799f951..3b4fceea81 100644 --- a/ui/app/AppLayouts/Communities/controls/TokenHolderListItem.qml +++ b/ui/app/AppLayouts/Communities/controls/TokenHolderListItem.qml @@ -190,7 +190,7 @@ ItemDelegate { } } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.AllButtons diff --git a/ui/app/AppLayouts/Communities/controls/TokenItem.qml b/ui/app/AppLayouts/Communities/controls/TokenItem.qml index f0ef0875d4..86a4527e97 100644 --- a/ui/app/AppLayouts/Communities/controls/TokenItem.qml +++ b/ui/app/AppLayouts/Communities/controls/TokenItem.qml @@ -26,7 +26,7 @@ Control { color: mouseArea.containsMouse ? Theme.palette.statusListItem.highlightColor : "transparent" radius: 8 - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent cursorShape: root.enabled ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/app/AppLayouts/Communities/panels/BannerPanel.qml b/ui/app/AppLayouts/Communities/panels/BannerPanel.qml index 44da1530e6..93d696187b 100644 --- a/ui/app/AppLayouts/Communities/panels/BannerPanel.qml +++ b/ui/app/AppLayouts/Communities/panels/BannerPanel.qml @@ -25,7 +25,7 @@ Rectangle { signal buttonClicked() - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton propagateComposedEvents: true diff --git a/ui/app/AppLayouts/Communities/popups/CommunityMemberMessagesPopup.qml b/ui/app/AppLayouts/Communities/popups/CommunityMemberMessagesPopup.qml index 020a773322..61ce7de548 100644 --- a/ui/app/AppLayouts/Communities/popups/CommunityMemberMessagesPopup.qml +++ b/ui/app/AppLayouts/Communities/popups/CommunityMemberMessagesPopup.qml @@ -109,7 +109,7 @@ StatusDialog { shouldRepeatHeader: true } - MouseArea { + StatusMouseArea { id: mouseArea acceptedButtons: Qt.LeftButton cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/popups/CreateChannelPopup.qml b/ui/app/AppLayouts/Communities/popups/CreateChannelPopup.qml index 53f6cfba5a..e9e4feaae5 100644 --- a/ui/app/AppLayouts/Communities/popups/CreateChannelPopup.qml +++ b/ui/app/AppLayouts/Communities/popups/CreateChannelPopup.qml @@ -434,7 +434,7 @@ StatusStackModal { horizontalAlignment: Qt.AlignHCenter text: qsTr("Export the Discord channel’s chat history data using %1").arg("DiscordChatExporter") onLinkActivated: Global.openLink(link) - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -446,7 +446,7 @@ StatusStackModal { horizontalAlignment: Qt.AlignHCenter text: qsTr("Refer to this documentation if you have any queries") onLinkActivated: Global.openLink(link) - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/app/AppLayouts/Communities/popups/CreateCommunityPopup.qml b/ui/app/AppLayouts/Communities/popups/CreateCommunityPopup.qml index dd2b0bd002..a29a28a0c1 100644 --- a/ui/app/AppLayouts/Communities/popups/CreateCommunityPopup.qml +++ b/ui/app/AppLayouts/Communities/popups/CreateCommunityPopup.qml @@ -163,7 +163,7 @@ StatusStackModal { HoverHandler { id: handler1 } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: handler1.hovered && parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -177,7 +177,7 @@ StatusStackModal { HoverHandler { id: handler2 } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: handler2.hovered && parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/app/AppLayouts/Communities/popups/InDropdown.qml b/ui/app/AppLayouts/Communities/popups/InDropdown.qml index a84f68d190..1a20c36dbe 100644 --- a/ui/app/AppLayouts/Communities/popups/InDropdown.qml +++ b/ui/app/AppLayouts/Communities/popups/InDropdown.qml @@ -198,9 +198,9 @@ StatusDropdown { } ] - // using MouseArea instead of build-in 'clicked' signal to avoid + // using StatusMouseArea instead of build-in 'clicked' signal to avoid // intercepting event by the StatusRadioButton - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { radioButton.toggle() @@ -254,7 +254,7 @@ StatusDropdown { width: ListView.view.width - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { diff --git a/ui/app/AppLayouts/Communities/popups/MembersDropdown.qml b/ui/app/AppLayouts/Communities/popups/MembersDropdown.qml index bf04cb7787..d7c7440f86 100644 --- a/ui/app/AppLayouts/Communities/popups/MembersDropdown.qml +++ b/ui/app/AppLayouts/Communities/popups/MembersDropdown.qml @@ -161,7 +161,7 @@ StatusDropdown { size: StatusCheckBox.Size.Small indicator.anchors.rightMargin: 12 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor @@ -210,7 +210,7 @@ StatusDropdown { size: StatusCheckBox.Size.Small checked: root.selectedKeys.has(model.airdropAddress) - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Communities/views/CommunityColumnView.qml b/ui/app/AppLayouts/Communities/views/CommunityColumnView.qml index 38225c0208..970ec5d50a 100644 --- a/ui/app/AppLayouts/Communities/views/CommunityColumnView.qml +++ b/ui/app/AppLayouts/Communities/views/CommunityColumnView.qml @@ -465,7 +465,7 @@ Item { text: qsTr("Create channel or category") font.underline: true - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/app/AppLayouts/Communities/views/CommunitySettingsView.qml b/ui/app/AppLayouts/Communities/views/CommunitySettingsView.qml index 88f5c011a1..55542cf0da 100644 --- a/ui/app/AppLayouts/Communities/views/CommunitySettingsView.qml +++ b/ui/app/AppLayouts/Communities/views/CommunitySettingsView.qml @@ -166,7 +166,7 @@ StatusSectionLayout { font.pixelSize: 15 font.underline: true - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: root.backToCommunityClicked() diff --git a/ui/app/AppLayouts/Communities/views/EditPermissionView.qml b/ui/app/AppLayouts/Communities/views/EditPermissionView.qml index dd1d08a21c..0c4160c9d0 100644 --- a/ui/app/AppLayouts/Communities/views/EditPermissionView.qml +++ b/ui/app/AppLayouts/Communities/views/EditPermissionView.qml @@ -424,7 +424,7 @@ StatusScrollView { value: Theme.palette.dangerColor1 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Onboarding2/OnboardingLayout.qml b/ui/app/AppLayouts/Onboarding2/OnboardingLayout.qml index 604879c200..302cf6c034 100644 --- a/ui/app/AppLayouts/Onboarding2/OnboardingLayout.qml +++ b/ui/app/AppLayouts/Onboarding2/OnboardingLayout.qml @@ -4,6 +4,7 @@ import Qt.labs.settings 1.1 import StatusQ 0.1 import StatusQ.Controls 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import AppLayouts.Onboarding2.stores 1.0 @@ -195,7 +196,7 @@ Page { // needs to be on top of the stack // we're here only to provide the Back button feature - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.BackButton cursorShape: undefined // don't override the cursor coming from the stack diff --git a/ui/app/AppLayouts/Profile/controls/BloomSelectorButton.qml b/ui/app/AppLayouts/Profile/controls/BloomSelectorButton.qml index 27637d65a6..76df227ec0 100644 --- a/ui/app/AppLayouts/Profile/controls/BloomSelectorButton.qml +++ b/ui/app/AppLayouts/Profile/controls/BloomSelectorButton.qml @@ -6,6 +6,7 @@ import utils 1.0 import shared 1.0 import shared.panels 1.0 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 @@ -53,7 +54,7 @@ Rectangle { anchors.topMargin: 6 } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/app/AppLayouts/Profile/controls/WalletNetworkDelegate.qml b/ui/app/AppLayouts/Profile/controls/WalletNetworkDelegate.qml index dec8fb2817..7015a865b6 100644 --- a/ui/app/AppLayouts/Profile/controls/WalletNetworkDelegate.qml +++ b/ui/app/AppLayouts/Profile/controls/WalletNetworkDelegate.qml @@ -56,7 +56,7 @@ StatusListItem { } } - MouseArea { + StatusMouseArea { id: inactiveSwitchMouseArea anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Profile/panels/NotificationAppearancePreviewPanel.qml b/ui/app/AppLayouts/Profile/panels/NotificationAppearancePreviewPanel.qml index 680ee11991..422b74f693 100644 --- a/ui/app/AppLayouts/Profile/panels/NotificationAppearancePreviewPanel.qml +++ b/ui/app/AppLayouts/Profile/panels/NotificationAppearancePreviewPanel.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import StatusQ.Controls 0.1 import StatusQ.Platform 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -50,7 +51,7 @@ Item { } } - MouseArea { + StatusMouseArea { anchors.fill: container hoverEnabled: true onEntered: root.isHovered = true diff --git a/ui/app/AppLayouts/Profile/popups/ENSPopup.qml b/ui/app/AppLayouts/Profile/popups/ENSPopup.qml index 613bcd3e5c..e1b633117c 100644 --- a/ui/app/AppLayouts/Profile/popups/ENSPopup.qml +++ b/ui/app/AppLayouts/Profile/popups/ENSPopup.qml @@ -90,7 +90,7 @@ StatusDialog { topPadding: Theme.halfPadding } - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { parent.checked = true diff --git a/ui/app/AppLayouts/Profile/popups/TokenListPopup.qml b/ui/app/AppLayouts/Profile/popups/TokenListPopup.qml index a95d304abe..c070f360d6 100644 --- a/ui/app/AppLayouts/Profile/popups/TokenListPopup.qml +++ b/ui/app/AppLayouts/Profile/popups/TokenListPopup.qml @@ -213,7 +213,7 @@ StatusDialog { property string explorerUrl property bool isTest - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent diff --git a/ui/app/AppLayouts/Profile/popups/WakuNodesModal.qml b/ui/app/AppLayouts/Profile/popups/WakuNodesModal.qml index 356bf0e363..0eda60389e 100644 --- a/ui/app/AppLayouts/Profile/popups/WakuNodesModal.qml +++ b/ui/app/AppLayouts/Profile/popups/WakuNodesModal.qml @@ -63,7 +63,7 @@ StatusModal { text: qsTr("Add a new node") color: Theme.palette.primaryColor1 width: parent.width - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: Global.openPopup(wakuNodeModalComponent) diff --git a/ui/app/AppLayouts/Profile/popups/WakuStoreModal.qml b/ui/app/AppLayouts/Profile/popups/WakuStoreModal.qml index 0b3d05b001..4daa33448e 100644 --- a/ui/app/AppLayouts/Profile/popups/WakuStoreModal.qml +++ b/ui/app/AppLayouts/Profile/popups/WakuStoreModal.qml @@ -122,7 +122,7 @@ StatusModal { text: qsTr("Add a new node") color: Theme.palette.primaryColor1 width: parent.width - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: Global.openPopup(wakuNodeModalComponent) diff --git a/ui/app/AppLayouts/Profile/views/AdvancedView.qml b/ui/app/AppLayouts/Profile/views/AdvancedView.qml index 9c573becb7..3a08b720ac 100644 --- a/ui/app/AppLayouts/Profile/views/AdvancedView.qml +++ b/ui/app/AppLayouts/Profile/views/AdvancedView.qml @@ -101,7 +101,7 @@ SettingsContentBase { color: Theme.palette.primaryColor1 topPadding: 23 - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent cursorShape: Qt.PointingHandCursor @@ -391,7 +391,7 @@ SettingsContentBase { Global.openPopup(enableDebugComponent) } - MouseArea { + StatusMouseArea { id: overlayMouseArea anchors.fill: parent enabled: true diff --git a/ui/app/AppLayouts/Profile/views/EnsListView.qml b/ui/app/AppLayouts/Profile/views/EnsListView.qml index 70d3d65166..32ad6b985b 100644 --- a/ui/app/AppLayouts/Profile/views/EnsListView.qml +++ b/ui/app/AppLayouts/Profile/views/EnsListView.qml @@ -92,7 +92,7 @@ Item { font.pixelSize: 15 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: addBtnClicked() @@ -201,7 +201,7 @@ Item { color: Theme.palette.directColor1 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/app/AppLayouts/Profile/views/EnsSearchView.qml b/ui/app/AppLayouts/Profile/views/EnsSearchView.qml index 485597dee8..2a1671c6c9 100644 --- a/ui/app/AppLayouts/Profile/views/EnsSearchView.qml +++ b/ui/app/AppLayouts/Profile/views/EnsSearchView.qml @@ -215,7 +215,7 @@ Item { anchors.right: parent.right anchors.rightMargin: Theme.padding - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked : { diff --git a/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml b/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml index df74f649a4..55851deea6 100644 --- a/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml +++ b/ui/app/AppLayouts/Profile/views/EnsTermsAndConditionsView.qml @@ -155,7 +155,7 @@ Item { anchors.right: parent.right onLinkActivated: Global.openLink(link) color: Theme.palette.directColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -179,7 +179,7 @@ Item { anchors.right: parent.right onLinkActivated: Global.openLink(link) color: Theme.palette.directColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -292,7 +292,7 @@ Item { enabled: !parent.hoveredLink onSingleTapped: termsAndConditionsCheckbox.toggle() } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor diff --git a/ui/app/AppLayouts/Profile/views/NotificationsView.qml b/ui/app/AppLayouts/Profile/views/NotificationsView.qml index 957adf66a0..322a1058f7 100644 --- a/ui/app/AppLayouts/Profile/views/NotificationsView.qml +++ b/ui/app/AppLayouts/Profile/views/NotificationsView.qml @@ -140,7 +140,7 @@ SettingsContentBase { visible: model.customized icon: "next" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { @@ -152,7 +152,7 @@ SettingsContentBase { visible: !model.customized icon: "add" color: Theme.palette.primaryColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/app/AppLayouts/Profile/views/SettingsContentBase.qml b/ui/app/AppLayouts/Profile/views/SettingsContentBase.qml index 3a2ad3cb49..2eadfc1fa1 100644 --- a/ui/app/AppLayouts/Profile/views/SettingsContentBase.qml +++ b/ui/app/AppLayouts/Profile/views/SettingsContentBase.qml @@ -57,8 +57,9 @@ FocusScope { readonly property int bottomDirtyToastMargin: 36 } - MouseArea { + StatusMouseArea { anchors.fill: parent + propagateComposedEvents: true onClicked: { root.baseAreaClicked() } } @@ -120,11 +121,12 @@ FocusScope { id: contentLayout width: scrollView.availableWidth - MouseArea { + StatusMouseArea { onClicked: root.baseAreaClicked() width: contentWrapper.implicitWidth height: contentWrapper.implicitHeight hoverEnabled: true + propagateComposedEvents: true Column { id: contentWrapper diff --git a/ui/app/AppLayouts/Wallet/controls/ActivityFilterTagItem.qml b/ui/app/AppLayouts/Wallet/controls/ActivityFilterTagItem.qml index 22fdfaae54..3d449da6a9 100644 --- a/ui/app/AppLayouts/Wallet/controls/ActivityFilterTagItem.qml +++ b/ui/app/AppLayouts/Wallet/controls/ActivityFilterTagItem.qml @@ -29,7 +29,7 @@ InformationTag { width: 20 height: 20 icon: "close" - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/app/AppLayouts/Wallet/controls/CollectibleDetailsHeader.qml b/ui/app/AppLayouts/Wallet/controls/CollectibleDetailsHeader.qml index 9fbc9a1577..c9b8b7eae8 100644 --- a/ui/app/AppLayouts/Wallet/controls/CollectibleDetailsHeader.qml +++ b/ui/app/AppLayouts/Wallet/controls/CollectibleDetailsHeader.qml @@ -144,7 +144,7 @@ ColumnLayout { } ] - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent hoverEnabled: true diff --git a/ui/app/AppLayouts/Wallet/controls/CollectibleLinksTags.qml b/ui/app/AppLayouts/Wallet/controls/CollectibleLinksTags.qml index 15cda99081..d6ebe50f74 100644 --- a/ui/app/AppLayouts/Wallet/controls/CollectibleLinksTags.qml +++ b/ui/app/AppLayouts/Wallet/controls/CollectibleLinksTags.qml @@ -39,7 +39,7 @@ Control { border.width: 1 border.color: Theme.palette.baseColor2 color: mouse.containsMouse ? Theme.palette.baseColor2 : Theme.palette.transparent - MouseArea { + StatusMouseArea { id: mouse anchors.fill: parent hoverEnabled: true diff --git a/ui/app/AppLayouts/Wallet/controls/CollectiblesHeader.qml b/ui/app/AppLayouts/Wallet/controls/CollectiblesHeader.qml index 5f041d9f59..0480bf7484 100644 --- a/ui/app/AppLayouts/Wallet/controls/CollectiblesHeader.qml +++ b/ui/app/AppLayouts/Wallet/controls/CollectiblesHeader.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtGraphicalEffects 1.15 import StatusQ.Components 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -100,7 +101,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { enabled: !collectibleHeader.isLoading anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/app/AppLayouts/Wallet/controls/HeaderButton.qml b/ui/app/AppLayouts/Wallet/controls/HeaderButton.qml index 87d7f3e246..8379c7f511 100644 --- a/ui/app/AppLayouts/Wallet/controls/HeaderButton.qml +++ b/ui/app/AppLayouts/Wallet/controls/HeaderButton.qml @@ -1,6 +1,7 @@ import QtQuick 2.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -52,7 +53,7 @@ Rectangle { color: Theme.palette.primaryColor1 } - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true onEntered: { diff --git a/ui/app/AppLayouts/Wallet/controls/TokenSelectorButton.qml b/ui/app/AppLayouts/Wallet/controls/TokenSelectorButton.qml index 0ad00f4ca9..01b26b408d 100644 --- a/ui/app/AppLayouts/Wallet/controls/TokenSelectorButton.qml +++ b/ui/app/AppLayouts/Wallet/controls/TokenSelectorButton.qml @@ -108,7 +108,7 @@ Control { } } - MouseArea { + StatusMouseArea { cursorShape: root.enabled ? Qt.PointingHandCursor : undefined anchors.fill: parent diff --git a/ui/app/AppLayouts/Wallet/controls/TokenSelectorCompactButton.qml b/ui/app/AppLayouts/Wallet/controls/TokenSelectorCompactButton.qml index a1ec605af0..7af298e052 100644 --- a/ui/app/AppLayouts/Wallet/controls/TokenSelectorCompactButton.qml +++ b/ui/app/AppLayouts/Wallet/controls/TokenSelectorCompactButton.qml @@ -104,7 +104,7 @@ Control { } } - MouseArea { + StatusMouseArea { cursorShape: root.enabled ? Qt.PointingHandCursor : undefined anchors.fill: parent diff --git a/ui/app/AppLayouts/Wallet/panels/SeedPhraseBackupWarning.qml b/ui/app/AppLayouts/Wallet/panels/SeedPhraseBackupWarning.qml index ea94788358..7ad568e740 100644 --- a/ui/app/AppLayouts/Wallet/panels/SeedPhraseBackupWarning.qml +++ b/ui/app/AppLayouts/Wallet/panels/SeedPhraseBackupWarning.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -53,7 +54,7 @@ Rectangle { border.color: Theme.palette.white color: "#19FFFFFF" } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: Global.openBackUpSeedPopup() @@ -76,7 +77,7 @@ Rectangle { color: Theme.palette.white opacity: 0.7 } - MouseArea { + StatusMouseArea { anchors.fill: closeImg cursorShape: Qt.PointingHandCursor onClicked: ParallelAnimation { diff --git a/ui/app/AppLayouts/Wallet/views/AssetsDetailView.qml b/ui/app/AppLayouts/Wallet/views/AssetsDetailView.qml index fc6ca749e1..d6933d80d1 100644 --- a/ui/app/AppLayouts/Wallet/views/AssetsDetailView.qml +++ b/ui/app/AppLayouts/Wallet/views/AssetsDetailView.qml @@ -482,7 +482,7 @@ Item { radius: 36 } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: Global.openLink(token.websiteUrl) @@ -506,7 +506,7 @@ Item { radius: 36 } } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: Global.switchToCommunity(token.communityId) diff --git a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml index 161f399d4a..0838febc2d 100644 --- a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml +++ b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml @@ -163,7 +163,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton @@ -186,7 +186,7 @@ Rectangle { Layout.rightMargin: Theme.padding Layout.topMargin: Theme.padding - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton onClicked: mouse.accepted = true @@ -321,7 +321,7 @@ Rectangle { bottomPadding: Theme.bigPadding background: Rectangle { - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent acceptedButtons: Qt.LeftButton @@ -444,7 +444,7 @@ Rectangle { spacing: walletAccountsListView.firstItem.statusListItemTitleArea.anchors.leftMargin onClicked: root.selectSavedAddresses() - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton cursorShape: Qt.PointingHandCursor diff --git a/ui/app/mainui/activitycenter/controls/ChannelBadge.qml b/ui/app/mainui/activitycenter/controls/ChannelBadge.qml index c14a933d48..1fc224715f 100644 --- a/ui/app/mainui/activitycenter/controls/ChannelBadge.qml +++ b/ui/app/mainui/activitycenter/controls/ChannelBadge.qml @@ -65,7 +65,7 @@ Badge { font.weight: Font.Medium font.pixelSize: 13 - MouseArea { + StatusMouseArea { id: replyArea hoverEnabled: true anchors.fill: parent diff --git a/ui/app/mainui/activitycenter/controls/ReplyBadge.qml b/ui/app/mainui/activitycenter/controls/ReplyBadge.qml index 135a0c41cf..8c8518e49f 100644 --- a/ui/app/mainui/activitycenter/controls/ReplyBadge.qml +++ b/ui/app/mainui/activitycenter/controls/ReplyBadge.qml @@ -50,7 +50,7 @@ Badge { } } - MouseArea { + StatusMouseArea { id: hoverArea hoverEnabled: true anchors.fill: layout diff --git a/ui/app/mainui/activitycenter/popups/ActivityCenterPopup.qml b/ui/app/mainui/activitycenter/popups/ActivityCenterPopup.qml index e9e7695a25..289606870a 100644 --- a/ui/app/mainui/activitycenter/popups/ActivityCenterPopup.qml +++ b/ui/app/mainui/activitycenter/popups/ActivityCenterPopup.qml @@ -51,7 +51,7 @@ Popup { }) } - Overlay.modal: MouseArea { // eat every event behind the popup + Overlay.modal: StatusMouseArea { // eat every event behind the popup hoverEnabled: true onPressed: (event) => { event.accept() diff --git a/ui/app/mainui/activitycenter/views/ActivityNotificationMessage.qml b/ui/app/mainui/activitycenter/views/ActivityNotificationMessage.qml index a5bfe01a0f..8043c43063 100644 --- a/ui/app/mainui/activitycenter/views/ActivityNotificationMessage.qml +++ b/ui/app/mainui/activitycenter/views/ActivityNotificationMessage.qml @@ -69,7 +69,7 @@ ActivityNotificationBase { onItemChanged: root.updateContactDetails() } - bodyComponent: MouseArea { + bodyComponent: StatusMouseArea { implicitWidth: parent.width implicitHeight: messageView.implicitHeight hoverEnabled: root.messageBadgeComponent diff --git a/ui/imports/shared/MacTrafficLights.qml b/ui/imports/shared/MacTrafficLights.qml index 5001475e41..70f9f905bd 100644 --- a/ui/imports/shared/MacTrafficLights.qml +++ b/ui/imports/shared/MacTrafficLights.qml @@ -1,11 +1,12 @@ import QtQuick 2.15 import QtQuick.Window 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 -MouseArea { +StatusMouseArea { id: root signal close() @@ -50,7 +51,7 @@ MouseArea { } - MouseArea { + StatusMouseArea { id: closeSensor anchors.fill: parent @@ -76,7 +77,7 @@ MouseArea { scale: 0.27 } - MouseArea { + StatusMouseArea { id: miniSensor anchors.fill: parent @@ -101,7 +102,7 @@ MouseArea { scale: 0.25 } - MouseArea { + StatusMouseArea { id: maxiSensor anchors.fill: parent diff --git a/ui/imports/shared/controls/CopyButton.qml b/ui/imports/shared/controls/CopyButton.qml index b2161160c6..4527dbd2f4 100644 --- a/ui/imports/shared/controls/CopyButton.qml +++ b/ui/imports/shared/controls/CopyButton.qml @@ -23,7 +23,7 @@ StatusIcon { root.color = Qt.binding(function(){ return mouseArea.containsMouse? Theme.palette.primaryColor1 : Theme.palette.baseColor1 }) } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/controls/ErrorDetails.qml b/ui/imports/shared/controls/ErrorDetails.qml index b4bc4f263e..775484697d 100644 --- a/ui/imports/shared/controls/ErrorDetails.qml +++ b/ui/imports/shared/controls/ErrorDetails.qml @@ -62,7 +62,7 @@ Rectangle { color: Theme.palette.primaryColor1 font.pixelSize: Theme.tertiaryTextFontSize - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { d.detailsVisible = true diff --git a/ui/imports/shared/controls/ExpandableTag.qml b/ui/imports/shared/controls/ExpandableTag.qml index 6f8ba7e6e5..c6ab1d0e6b 100644 --- a/ui/imports/shared/controls/ExpandableTag.qml +++ b/ui/imports/shared/controls/ExpandableTag.qml @@ -50,7 +50,7 @@ Control { anchors.topMargin: 4 radius: parent.width/2 color: root.backgroundColor - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/controls/SettingsRadioButton.qml b/ui/imports/shared/controls/SettingsRadioButton.qml index ad03660e29..dc8bfae859 100644 --- a/ui/imports/shared/controls/SettingsRadioButton.qml +++ b/ui/imports/shared/controls/SettingsRadioButton.qml @@ -31,7 +31,7 @@ Item { anchors.verticalCenter: radioButton.verticalCenter } - MouseArea { + StatusMouseArea { enabled: !radioButton.checked anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/controls/SocialLinkPreview.qml b/ui/imports/shared/controls/SocialLinkPreview.qml index c115b7041c..1d961cc5a3 100644 --- a/ui/imports/shared/controls/SocialLinkPreview.qml +++ b/ui/imports/shared/controls/SocialLinkPreview.qml @@ -52,7 +52,7 @@ Rectangle { visible: mouseArea.containsMouse } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/controls/chat/EmojiReaction.qml b/ui/imports/shared/controls/chat/EmojiReaction.qml index 2047771557..21c6f74f2b 100644 --- a/ui/imports/shared/controls/chat/EmojiReaction.qml +++ b/ui/imports/shared/controls/chat/EmojiReaction.qml @@ -1,5 +1,6 @@ import QtQuick 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -29,7 +30,7 @@ Rectangle { anchors.centerIn: parent } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor hoverEnabled: !reactedByUser diff --git a/ui/imports/shared/controls/chat/FetchMoreMessagesButton.qml b/ui/imports/shared/controls/chat/FetchMoreMessagesButton.qml index 23fd2bb362..ceef155fe4 100644 --- a/ui/imports/shared/controls/chat/FetchMoreMessagesButton.qml +++ b/ui/imports/shared/controls/chat/FetchMoreMessagesButton.qml @@ -61,7 +61,7 @@ Item { anchors.horizontalCenter: parent.horizontalCenter anchors.top: sep1.bottom anchors.topMargin: Theme.smallPadding - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: { diff --git a/ui/imports/shared/controls/chat/GapComponent.qml b/ui/imports/shared/controls/chat/GapComponent.qml index 8cb1e54f28..3ba5659cdf 100644 --- a/ui/imports/shared/controls/chat/GapComponent.qml +++ b/ui/imports/shared/controls/chat/GapComponent.qml @@ -31,7 +31,7 @@ Item { anchors.horizontalCenter: parent.horizontalCenter anchors.top: sep1.bottom anchors.topMargin: Theme.smallPadding - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: { diff --git a/ui/imports/shared/controls/chat/LinkPreviewCard.qml b/ui/imports/shared/controls/chat/LinkPreviewCard.qml index 40050e6aa3..11807aa2c3 100644 --- a/ui/imports/shared/controls/chat/LinkPreviewCard.qml +++ b/ui/imports/shared/controls/chat/LinkPreviewCard.qml @@ -142,7 +142,7 @@ CalloutCard { } } - MouseArea { + StatusMouseArea { anchors.fill: root hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/controls/chat/ProfileHeader.qml b/ui/imports/shared/controls/chat/ProfileHeader.qml index e1eccf278b..7e664a50e8 100644 --- a/ui/imports/shared/controls/chat/ProfileHeader.qml +++ b/ui/imports/shared/controls/chat/ProfileHeader.qml @@ -9,6 +9,7 @@ import StatusQ 0.1 import StatusQ.Controls 0.1 import StatusQ.Components 0.1 import StatusQ.Popups 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Utils 0.1 as StatusQUtils import StatusQ.Core.Theme 0.1 @@ -230,7 +231,7 @@ Item { height: compact ? 10 : 16 width: compact ? 10 : 16 source: Theme.svg("edit-message") - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton diff --git a/ui/imports/shared/controls/chat/UserImage.qml b/ui/imports/shared/controls/chat/UserImage.qml index 378444115f..3f68ce0865 100644 --- a/ui/imports/shared/controls/chat/UserImage.qml +++ b/ui/imports/shared/controls/chat/UserImage.qml @@ -6,6 +6,7 @@ import shared.panels 1.0 import utils 1.0 import StatusQ.Components 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 Loader { @@ -64,7 +65,7 @@ Loader { active: root.interactive - sourceComponent: MouseArea { + sourceComponent: StatusMouseArea { cursorShape: hoverEnabled ? Qt.PointingHandCursor : Qt.ArrowCursor hoverEnabled: !root.disabled onClicked: { diff --git a/ui/imports/shared/controls/delegates/InfoCard.qml b/ui/imports/shared/controls/delegates/InfoCard.qml index 054bc91e69..ee76eabe06 100644 --- a/ui/imports/shared/controls/delegates/InfoCard.qml +++ b/ui/imports/shared/controls/delegates/InfoCard.qml @@ -53,7 +53,7 @@ Control { } contentItem: Item { - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent acceptedButtons: Qt.LeftButton|Qt.RightButton @@ -122,7 +122,7 @@ Control { communityImage: root.tagIcon asset.width: 20 asset.height: 20 - MouseArea { + StatusMouseArea { anchors.fill: parent onClicked: { root.communityTagClicked(mouse); diff --git a/ui/imports/shared/controls/delegates/PaymentRequestCardDelegate.qml b/ui/imports/shared/controls/delegates/PaymentRequestCardDelegate.qml index c5a507e754..fc7d8febea 100644 --- a/ui/imports/shared/controls/delegates/PaymentRequestCardDelegate.qml +++ b/ui/imports/shared/controls/delegates/PaymentRequestCardDelegate.qml @@ -140,7 +140,7 @@ CalloutCard { y: -height } - MouseArea { + StatusMouseArea { id: ma anchors.fill: root hoverEnabled: true diff --git a/ui/imports/shared/panels/Address.qml b/ui/imports/shared/panels/Address.qml index b80e31606b..9f9062f4dc 100644 --- a/ui/imports/shared/panels/Address.qml +++ b/ui/imports/shared/panels/Address.qml @@ -1,5 +1,6 @@ import QtQuick 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -15,7 +16,7 @@ StyledText { elide: Text.ElideMiddle color: Theme.palette.secondaryText - MouseArea { + StatusMouseArea { width: parent.width height: parent.height cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/panels/ImageLoader.qml b/ui/imports/shared/panels/ImageLoader.qml index f4def300e5..935671abf6 100644 --- a/ui/imports/shared/panels/ImageLoader.qml +++ b/ui/imports/shared/panels/ImageLoader.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtGraphicalEffects 1.15 import StatusQ.Components 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -101,7 +102,7 @@ Rectangle { color: Theme.palette.textColor antialiasing: true } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: { @@ -128,7 +129,7 @@ Rectangle { loaded() } } - MouseArea { + StatusMouseArea { enabled: !noMouseArea cursorShape: noHover ? Qt.ArrowCursor : Qt.PointingHandCursor anchors.fill: parent diff --git a/ui/imports/shared/panels/ModuleWarning.qml b/ui/imports/shared/panels/ModuleWarning.qml index ba42ea94d3..3e7d40a5bc 100644 --- a/ui/imports/shared/panels/ModuleWarning.qml +++ b/ui/imports/shared/panels/ModuleWarning.qml @@ -162,7 +162,7 @@ Item { HoverHandler { id: handler1 } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: handler1.hovered && parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor @@ -192,7 +192,7 @@ Item { border.color: Theme.palette.indirectColor3 color: Theme.palette.getColor("white", button.hovered ? 0.4 : 0.1) } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton cursorShape: Qt.PointingHandCursor @@ -247,7 +247,7 @@ Item { color: Theme.palette.indirectColor1 opacity: closeButtonMouseArea.containsMouse ? 1 : 0.7 - MouseArea { + StatusMouseArea { id: closeButtonMouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/panels/RoundedIcon.qml b/ui/imports/shared/panels/RoundedIcon.qml index eba3b07b31..3f9b5848be 100644 --- a/ui/imports/shared/panels/RoundedIcon.qml +++ b/ui/imports/shared/panels/RoundedIcon.qml @@ -1,6 +1,7 @@ import QtQuick 2.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -69,7 +70,7 @@ Rectangle { anchors.leftMargin: 6 + (root.width - iconContainer.width) } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/ui/imports/shared/popups/ModalPopup.qml b/ui/imports/shared/popups/ModalPopup.qml index 1702df8b92..2f56bedff6 100644 --- a/ui/imports/shared/popups/ModalPopup.qml +++ b/ui/imports/shared/popups/ModalPopup.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -108,7 +109,7 @@ Popup { color: Theme.palette.textColor } - MouseArea { + StatusMouseArea { id: closeModalMouseArea objectName: "closeSensor" cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/popups/SettingsDirtyToastMessage.qml b/ui/imports/shared/popups/SettingsDirtyToastMessage.qml index 2f6c044f2e..268f13c9c6 100644 --- a/ui/imports/shared/popups/SettingsDirtyToastMessage.qml +++ b/ui/imports/shared/popups/SettingsDirtyToastMessage.qml @@ -110,7 +110,7 @@ Rectangle { NumberAnimation {} } - MouseArea { + StatusMouseArea { anchors.fill: parent visible: root.active // This is required not to change cursorShape enabled: root.active diff --git a/ui/imports/shared/popups/addaccount/panels/AccountAddressSelection.qml b/ui/imports/shared/popups/addaccount/panels/AccountAddressSelection.qml index 30dc3db0b9..e0e1d9e79c 100644 --- a/ui/imports/shared/popups/addaccount/panels/AccountAddressSelection.qml +++ b/ui/imports/shared/popups/addaccount/panels/AccountAddressSelection.qml @@ -117,7 +117,7 @@ StatusMenu { return "transparent" } - MouseArea { + StatusMouseArea { id: sensor anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/popups/addaccount/panels/DerivationPath.qml b/ui/imports/shared/popups/addaccount/panels/DerivationPath.qml index cd8276e641..172c0cd976 100644 --- a/ui/imports/shared/popups/addaccount/panels/DerivationPath.qml +++ b/ui/imports/shared/popups/addaccount/panels/DerivationPath.qml @@ -86,7 +86,7 @@ GridLayout { color: Theme.palette.baseColor1 visible: !root.store.selectedOrigin.migratedToKeycard - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/popups/addaccount/panels/DerivationPathSection.qml b/ui/imports/shared/popups/addaccount/panels/DerivationPathSection.qml index 5dff72ea4f..e6d5161c96 100644 --- a/ui/imports/shared/popups/addaccount/panels/DerivationPathSection.qml +++ b/ui/imports/shared/popups/addaccount/panels/DerivationPathSection.qml @@ -79,7 +79,7 @@ Column { visible: root.store.addAccountModule.actionAuthenticated color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/popups/keycard/helpers/KeyPairItem.qml b/ui/imports/shared/popups/keycard/helpers/KeyPairItem.qml index bc5c574dc3..f2e373653e 100644 --- a/ui/imports/shared/popups/keycard/helpers/KeyPairItem.qml +++ b/ui/imports/shared/popups/keycard/helpers/KeyPairItem.qml @@ -140,7 +140,7 @@ StatusListItem { visible: root.usedAsSelectOption && !root.displayRadioButtonForSelection icon: "next" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/imports/shared/popups/keypairimport/states/SelectImportMethod.qml b/ui/imports/shared/popups/keypairimport/states/SelectImportMethod.qml index e5dc10bee3..741cb7c5f3 100644 --- a/ui/imports/shared/popups/keypairimport/states/SelectImportMethod.qml +++ b/ui/imports/shared/popups/keypairimport/states/SelectImportMethod.qml @@ -45,7 +45,7 @@ Item { StatusIcon { icon: "next" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { @@ -77,7 +77,7 @@ Item { StatusIcon { icon: "next" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/imports/shared/popups/keypairimport/states/SelectKeypair.qml b/ui/imports/shared/popups/keypairimport/states/SelectKeypair.qml index a26f25b910..f63855d36c 100644 --- a/ui/imports/shared/popups/keypairimport/states/SelectKeypair.qml +++ b/ui/imports/shared/popups/keypairimport/states/SelectKeypair.qml @@ -72,7 +72,7 @@ Item { StatusIcon { icon: "next" color: Theme.palette.baseColor1 - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: Qt.PointingHandCursor onClicked: { diff --git a/ui/imports/shared/popups/send/views/AmountToSend.qml b/ui/imports/shared/popups/send/views/AmountToSend.qml index 18ad082053..631938088e 100644 --- a/ui/imports/shared/popups/send/views/AmountToSend.qml +++ b/ui/imports/shared/popups/send/views/AmountToSend.qml @@ -248,7 +248,7 @@ Control { visible: !root.mainInputLoading // handle TextField scroll and click to change cursor position - MouseArea { + StatusMouseArea { anchors.fill: parent enabled: textField.focus onClicked: { @@ -318,7 +318,7 @@ Control { customColor: Theme.palette.directColor5 loading: root.bottomTextLoading - MouseArea { + StatusMouseArea { objectName: "amountToSend_mouseArea" anchors.fill: parent diff --git a/ui/imports/shared/popups/walletconnect/controls/DAppDelegate.qml b/ui/imports/shared/popups/walletconnect/controls/DAppDelegate.qml index 48ae2b8103..9547053739 100644 --- a/ui/imports/shared/popups/walletconnect/controls/DAppDelegate.qml +++ b/ui/imports/shared/popups/walletconnect/controls/DAppDelegate.qml @@ -10,7 +10,7 @@ import StatusQ.Core.Utils 0.1 as SQUtils import shared.popups.walletconnect 1.0 -MouseArea { +StatusMouseArea { id: root implicitHeight: 50 diff --git a/ui/imports/shared/popups/walletconnect/private/ContextCard.qml b/ui/imports/shared/popups/walletconnect/private/ContextCard.qml index 408b2da176..c096cec4a2 100644 --- a/ui/imports/shared/popups/walletconnect/private/ContextCard.qml +++ b/ui/imports/shared/popups/walletconnect/private/ContextCard.qml @@ -86,7 +86,7 @@ Rectangle { // disable interactions w/o looking disabled control.hoverEnabled: false - MouseArea { + StatusMouseArea { anchors.fill: parent onPressed: mouse.accepted = true } diff --git a/ui/imports/shared/status/StatusChatImageLoader.qml b/ui/imports/shared/status/StatusChatImageLoader.qml index 4828b7e03b..3fc7bc3409 100644 --- a/ui/imports/shared/status/StatusChatImageLoader.qml +++ b/ui/imports/shared/status/StatusChatImageLoader.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtQuick.Window 2.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import shared.panels 1.0 @@ -106,7 +107,7 @@ Item { } } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor acceptedButtons: Qt.LeftButton | Qt.RightButton anchors.fill: parent diff --git a/ui/imports/shared/status/StatusChatInput.qml b/ui/imports/shared/status/StatusChatInput.qml index 71ff9658c1..4f6943625c 100644 --- a/ui/imports/shared/status/StatusChatInput.qml +++ b/ui/imports/shared/status/StatusChatInput.qml @@ -1019,7 +1019,7 @@ Rectangle { onTriggered: control.openImageDialog() } - MouseArea { + StatusMouseArea { implicitWidth: paymentRequestMenuItem.width implicitHeight: paymentRequestMenuItem.height hoverEnabled: true @@ -1445,7 +1445,7 @@ Rectangle { highlightedHyperlink: linkPreviewArea.hoveredUrl hyperlinkHoverColor: Theme.palette.primaryColor3 } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.NoButton enabled: parent.hoveredLink @@ -1508,7 +1508,7 @@ Rectangle { } text: visible ? remainingChars.toString() : "" - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/status/StatusChatInputImageArea.qml b/ui/imports/shared/status/StatusChatInputImageArea.qml index 515a046fa9..fbe4d1abc8 100644 --- a/ui/imports/shared/status/StatusChatInputImageArea.qml +++ b/ui/imports/shared/status/StatusChatInputImageArea.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtGraphicalEffects 1.15 import QtQuick.Controls 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -47,7 +48,7 @@ Row { } } - MouseArea { + StatusMouseArea { id: mouseArea anchors.fill: parent cursorShape: Qt.PointingHandCursor @@ -77,7 +78,7 @@ Row { onClicked: { imageArea.imageRemoved(index) } - MouseArea { + StatusMouseArea { id: buttonMouseArea anchors.fill: parent cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/status/StatusChatInputReplyArea.qml b/ui/imports/shared/status/StatusChatInputReplyArea.qml index 72d4fc94d4..d63d04aa22 100644 --- a/ui/imports/shared/status/StatusChatInputReplyArea.qml +++ b/ui/imports/shared/status/StatusChatInputReplyArea.qml @@ -134,7 +134,7 @@ Rectangle { root.contentType = -1 root.closeButtonClicked() } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onPressed: mouse.accepted = false diff --git a/ui/imports/shared/status/StatusEmojiPopup.qml b/ui/imports/shared/status/StatusEmojiPopup.qml index 4d3b34ddc0..0d589cc334 100644 --- a/ui/imports/shared/status/StatusEmojiPopup.qml +++ b/ui/imports/shared/status/StatusEmojiPopup.qml @@ -162,7 +162,7 @@ StatusDropdown { width: 22 height: 22 emojiId: modelData - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: { @@ -182,7 +182,7 @@ StatusDropdown { anchors.rightMargin: d.headerMargin visible: !skinToneEmoji.expandSkinColorOptions emojiId: "1f590" + ((settings.skinColor !== "" && visible) ? ("-" + settings.skinColor) : "") - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: { @@ -239,7 +239,7 @@ StatusDropdown { height: d.imageWidth emojiId: model.unicode - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent onClicked: root.addEmoji(model.unicode) diff --git a/ui/imports/shared/status/StatusGifPopup/StatusGifColumn.qml b/ui/imports/shared/status/StatusGifPopup/StatusGifColumn.qml index b992907147..0ce06eb6f6 100644 --- a/ui/imports/shared/status/StatusGifPopup/StatusGifColumn.qml +++ b/ui/imports/shared/status/StatusGifPopup/StatusGifColumn.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Layouts 1.15 import QtGraphicalEffects 1.15 +import StatusQ.Core 0.1 import StatusQ.Controls 0.1 import StatusQ.Core.Theme 0.1 @@ -105,7 +106,7 @@ Column { } } - MouseArea { + StatusMouseArea { id: mouseArea objectName: "gifMouseArea_" + index cursorShape: Qt.PointingHandCursor diff --git a/ui/imports/shared/status/StatusImageModal.qml b/ui/imports/shared/status/StatusImageModal.qml index 8c067fc319..6b72375025 100644 --- a/ui/imports/shared/status/StatusImageModal.qml +++ b/ui/imports/shared/status/StatusImageModal.qml @@ -5,6 +5,7 @@ import QtQuick.Layouts 1.15 import StatusQ.Popups.Dialog 0.1 import StatusQ.Components 0.1 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import utils 1.0 @@ -48,7 +49,7 @@ StatusDialog { active: true sourceComponent: root.plain ? plainImage : animatedImage - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton onClicked: { diff --git a/ui/imports/shared/status/StatusImageRadioButton.qml b/ui/imports/shared/status/StatusImageRadioButton.qml index a410290f12..7496eb8f3e 100644 --- a/ui/imports/shared/status/StatusImageRadioButton.qml +++ b/ui/imports/shared/status/StatusImageRadioButton.qml @@ -7,6 +7,7 @@ import shared 1.0 import shared.panels 1.0 import StatusQ.Controls 0.1 as StatusQControls +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 Rectangle { @@ -44,7 +45,7 @@ Rectangle { } } - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true onEntered: root.isHovered = true diff --git a/ui/imports/shared/status/StatusInputListPopup.qml b/ui/imports/shared/status/StatusInputListPopup.qml index fa3eb5576a..9ed509eedf 100644 --- a/ui/imports/shared/status/StatusInputListPopup.qml +++ b/ui/imports/shared/status/StatusInputListPopup.qml @@ -199,7 +199,7 @@ Popup { font.pixelSize: 15 } - MouseArea { + StatusMouseArea { cursorShape: Qt.PointingHandCursor anchors.fill: parent hoverEnabled: true diff --git a/ui/imports/shared/status/StatusSearchListPopup.qml b/ui/imports/shared/status/StatusSearchListPopup.qml index 138bd4e5fe..92419b14b3 100644 --- a/ui/imports/shared/status/StatusSearchListPopup.qml +++ b/ui/imports/shared/status/StatusSearchListPopup.qml @@ -141,7 +141,7 @@ Popup { asset.letterSize: asset._twoLettersSize ringSettings.ringSpecModel: model ? model.colorHash : undefined - MouseArea { + StatusMouseArea { anchors.fill: parent hoverEnabled: true @@ -159,7 +159,7 @@ Popup { anchors.fill: parent active: !listView.selectByHover - sourceComponent: MouseArea { + sourceComponent: StatusMouseArea { hoverEnabled: true onPositionChanged: listView.selectByHover = true } diff --git a/ui/imports/shared/status/StatusSettingsLineButton.qml b/ui/imports/shared/status/StatusSettingsLineButton.qml index f63b0484fa..97e85fb554 100644 --- a/ui/imports/shared/status/StatusSettingsLineButton.qml +++ b/ui/imports/shared/status/StatusSettingsLineButton.qml @@ -111,7 +111,7 @@ Rectangle { color: Theme.palette.secondaryText } - MouseArea { + StatusQCore.StatusMouseArea { anchors.fill: parent enabled: root.isEnabled hoverEnabled: true diff --git a/ui/imports/shared/status/StatusStickerButton.qml b/ui/imports/shared/status/StatusStickerButton.qml index 65fa890636..23a88ded18 100644 --- a/ui/imports/shared/status/StatusStickerButton.qml +++ b/ui/imports/shared/status/StatusStickerButton.qml @@ -2,6 +2,7 @@ import QtQuick 2.15 import QtQuick.Controls 2.15 import QtQml 2.15 +import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 @@ -157,7 +158,7 @@ StatusButton { maxWidth: 300 } - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: !root.isPending ? Qt.PointingHandCursor : undefined onClicked: { diff --git a/ui/imports/shared/status/StatusVideoModal.qml b/ui/imports/shared/status/StatusVideoModal.qml index 6d3183e2cd..e8a4e87a71 100644 --- a/ui/imports/shared/status/StatusVideoModal.qml +++ b/ui/imports/shared/status/StatusVideoModal.qml @@ -3,6 +3,7 @@ import QtQuick.Controls 2.15 import QtQuick.Window 2.15 import QtMultimedia 5.15 +import StatusQ.Core 0.1 import StatusQ.Popups.Dialog 0.1 import StatusQ.Components 0.1 @@ -36,7 +37,7 @@ StatusDialog { contentItem: StatusVideo { id: videoItem - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.LeftButton | Qt.RightButton onClicked: { diff --git a/ui/imports/shared/views/AssetsView.qml b/ui/imports/shared/views/AssetsView.qml index bd4f1ffb62..9217dd8bb8 100644 --- a/ui/imports/shared/views/AssetsView.qml +++ b/ui/imports/shared/views/AssetsView.qml @@ -259,7 +259,7 @@ Control { if (mouse.button === Qt.LeftButton) root.assetClicked(model.key) else if (mouse.button === Qt.RightButton) - tokenContextMenu.createObject(this, { model }).popup(mouse) + tokenContextMenu.createObject(this, { model }).popup(mouse.x, mouse.y) } onCommunityClicked: root.communityClicked(model.communityId) diff --git a/ui/imports/shared/views/chat/SimplifiedMessageView.qml b/ui/imports/shared/views/chat/SimplifiedMessageView.qml index 7fafd6ecef..26ac178149 100644 --- a/ui/imports/shared/views/chat/SimplifiedMessageView.qml +++ b/ui/imports/shared/views/chat/SimplifiedMessageView.qml @@ -38,7 +38,7 @@ RowLayout { asset: root.messageDetails.sender.profileImage.assetSettings ringSettings: root.messageDetails.sender.profileImage.ringSettings - MouseArea { + StatusMouseArea { anchors.fill: parent cursorShape: enabled ? Qt.PointingHandCursor : Qt.ArrowCursor acceptedButtons: Qt.LeftButton | Qt.RightButton diff --git a/ui/imports/shared/views/profile/ShareProfileDialog.qml b/ui/imports/shared/views/profile/ShareProfileDialog.qml index ce59c19074..d479d04a74 100644 --- a/ui/imports/shared/views/profile/ShareProfileDialog.qml +++ b/ui/imports/shared/views/profile/ShareProfileDialog.qml @@ -73,7 +73,7 @@ StatusDialog { colorHash: JSON.stringify([{colorId: 4, segmentLength: 32}]) } - MouseArea { + StatusMouseArea { anchors.fill: parent acceptedButtons: Qt.RightButton cursorShape: Qt.PointingHandCursor