diff --git a/src/app/core/notifications/notifications_manager.nim b/src/app/core/notifications/notifications_manager.nim index fccffcfac0..b3a230a960 100644 --- a/src/app/core/notifications/notifications_manager.nim +++ b/src/app/core/notifications/notifications_manager.nim @@ -74,7 +74,7 @@ QtObject: self, "onNewCommunityMembershipRequestNotification(QString, QString, QString)", 2) signalConnect(singletonInstance.globalEvents, "myRequestToJoinCommunityAcccepted(QString, QString, QString)", self, "onMyRequestToJoinCommunityAcccepted(QString, QString, QString)", 2) - signalConnect(singletonInstance.globalEvents, "myRequestToJoinCommunityHasBeenRejected(QString, QString, QString)", + signalConnect(singletonInstance.globalEvents, "myRequestToJoinCommunityRejected(QString, QString, QString)", self, "onMyRequestToJoinCommunityRejected(QString, QString, QString)", 2) self.notificationSetUp = true diff --git a/src/app/modules/main/node_section/view.nim b/src/app/modules/main/node_section/view.nim index 2d65ae8137..007f5e9006 100644 --- a/src/app/modules/main/node_section/view.nim +++ b/src/app/modules/main/node_section/view.nim @@ -49,12 +49,15 @@ QtObject: proc receivedMessage*(self: View, lastMessage: string) {.signal.} + proc getLastMessage*(self: View): string {.slot.} = + return self.lastMessage + proc setLastMessage*(self: View, lastMessage: string) = self.lastMessage = lastMessage self.receivedMessage(lastMessage) QtProperty[string] lastMessage: - read = lastMessage + read = getLastMessage notify = receivedMessage proc getWakuBloomFilterMode*(self: View): bool {.slot.} = diff --git a/ui/app/AppLayouts/Chat/stores/RootStore.qml b/ui/app/AppLayouts/Chat/stores/RootStore.qml index 0c0f9108be..8df9a50893 100644 --- a/ui/app/AppLayouts/Chat/stores/RootStore.qml +++ b/ui/app/AppLayouts/Chat/stores/RootStore.qml @@ -130,7 +130,7 @@ QtObject { property string currentCurrency: walletSection.currentCurrency property string signingPhrase: walletSection.signingPhrase - property string channelEmoji: chatCommunitySectionModule && chatCommunitySectionModule.emoji + property string channelEmoji: chatCommunitySectionModule && chatCommunitySectionModule.emoji ? chatCommunitySectionModule.emoji : "" property string gasPrice: profileSectionModule.ensUsernamesModule.gasPrice diff --git a/ui/app/AppLayouts/Chat/views/ChatView.qml b/ui/app/AppLayouts/Chat/views/ChatView.qml index 85082d3bca..552b6fbd16 100644 --- a/ui/app/AppLayouts/Chat/views/ChatView.qml +++ b/ui/app/AppLayouts/Chat/views/ChatView.qml @@ -46,6 +46,7 @@ StatusAppThreePanelLayout { Connections { target: root.rootStore.chatCommunitySectionModule + ignoreUnknownSignals: true onActiveItemChanged: { root.rootStore.openCreateChat = false; } diff --git a/ui/app/AppLayouts/Profile/controls/NetworkRadioSelector.qml b/ui/app/AppLayouts/Profile/controls/NetworkRadioSelector.qml index b25dea4eab..f9aa3e5d25 100644 --- a/ui/app/AppLayouts/Profile/controls/NetworkRadioSelector.qml +++ b/ui/app/AppLayouts/Profile/controls/NetworkRadioSelector.qml @@ -20,7 +20,7 @@ RadioButtonSelector { onCheckedChanged: { if (checked) { - if (root.advancedStore.currentNetworkName === root.network) + if (root.advancedStore.currentNetworkName === root.title) return root.newNetwork = root.network; diff --git a/ui/app/AppLayouts/Profile/views/AppearanceView.qml b/ui/app/AppLayouts/Profile/views/AppearanceView.qml index 7331e3b187..b87078ba2d 100644 --- a/ui/app/AppLayouts/Profile/views/AppearanceView.qml +++ b/ui/app/AppLayouts/Profile/views/AppearanceView.qml @@ -125,8 +125,10 @@ SettingsContentBase { model: [ qsTr("XS"), qsTr("S"), qsTr("M"), qsTr("L"), qsTr("XL"), qsTr("XXL") ] value: localAccountSensitiveSettings.fontSize onValueChanged: { - localAccountSensitiveSettings.fontSize = value - appearanceView.updateFontSize(value) + if (localAccountSensitiveSettings.fontSize !== value) { + localAccountSensitiveSettings.fontSize = value + appearanceView.updateFontSize(value) + } } } diff --git a/ui/app/AppLayouts/Profile/views/BrowserView.qml b/ui/app/AppLayouts/Profile/views/BrowserView.qml index 98fdb19fb1..60bd27aec8 100644 --- a/ui/app/AppLayouts/Profile/views/BrowserView.qml +++ b/ui/app/AppLayouts/Profile/views/BrowserView.qml @@ -80,7 +80,9 @@ SettingsContentBase { StatusSwitch { checked: localAccountSensitiveSettings.shouldShowFavoritesBar onCheckedChanged: { - localAccountSensitiveSettings.shouldShowFavoritesBar = checked + if (localAccountSensitiveSettings.shouldShowFavoritesBar !== checked) { + localAccountSensitiveSettings.shouldShowFavoritesBar = checked + } } } ] diff --git a/ui/app/AppLayouts/Profile/views/ContactsView.qml b/ui/app/AppLayouts/Profile/views/ContactsView.qml index 517cd7c56a..35d4e33cbf 100644 --- a/ui/app/AppLayouts/Profile/views/ContactsView.qml +++ b/ui/app/AppLayouts/Profile/views/ContactsView.qml @@ -72,7 +72,7 @@ SettingsContentBase { enabled: root.contactsStore.receivedContactRequestsModel.count > 0 || root.contactsStore.sentContactRequestsModel.count > 0 btnText: qsTr("Pending Requests") - badge.value: contactList.count + badge.value: root.contactsStore.receivedContactRequestsModel.count } // Temporary commented until we provide appropriate flags on the `status-go` side to cover all sections. // StatusTabButton { diff --git a/ui/app/AppLayouts/Profile/views/browser/DefaultDAppExplorerView.qml b/ui/app/AppLayouts/Profile/views/browser/DefaultDAppExplorerView.qml index de967f750b..da37e6393b 100644 --- a/ui/app/AppLayouts/Profile/views/browser/DefaultDAppExplorerView.qml +++ b/ui/app/AppLayouts/Profile/views/browser/DefaultDAppExplorerView.qml @@ -49,7 +49,7 @@ ColumnLayout { checked: localAccountSensitiveSettings.useBrowserEthereumExplorer === Constants.browserEthereumExplorerEtherscan text: "etherscan.io" onCheckedChanged: { - if (checked) { + if (checked && localAccountSensitiveSettings.useBrowserEthereumExplorer !== Constants.browserEthereumExplorerEtherscan) { localAccountSensitiveSettings.useBrowserEthereumExplorer = Constants.browserEthereumExplorerEtherscan } } diff --git a/ui/app/AppLayouts/Wallet/panels/SelectGeneratedAccount.qml b/ui/app/AppLayouts/Wallet/panels/SelectGeneratedAccount.qml index 064b62e5d5..b71fde4083 100644 --- a/ui/app/AppLayouts/Wallet/panels/SelectGeneratedAccount.qml +++ b/ui/app/AppLayouts/Wallet/panels/SelectGeneratedAccount.qml @@ -54,10 +54,12 @@ StatusSelect { if(generatedAccountsModel) { generatedAccountsModel.clear() for (var row = 0; row < _internal.delegateModel.model.count; row++) { - var item = _internal.delegateModel.items.get(row).model; - generatedAccountsModel.append({"name": item.name, "iconName": item.iconName, "generatedModel": item.generatedModel, "derivedfrom": item.derivedfrom, "isHeader": false}) - if(row === 0 && _internal.delegateModel.model.count > 1) { - generatedAccountsModel.append({"name": qsTr("Imported"), "iconName": "", "derivedfrom": "", "isHeader": true}) + if (_internal.delegateModel.items.count > 0) { + var item = _internal.delegateModel.items.get(row).model; + generatedAccountsModel.append({"name": item.name, "iconName": item.iconName, "generatedModel": item.generatedModel, "derivedfrom": item.derivedfrom, "isHeader": false}) + if (row === 0 && _internal.delegateModel.model.count > 1) { + generatedAccountsModel.append({"name": qsTr("Imported"), "iconName": "", "derivedfrom": "", "isHeader": true}) + } } } generatedAccountsModel.append({"name": qsTr("Add new"), "iconName": "", "derivedfrom": "", "isHeader": true}) diff --git a/ui/app/AppLayouts/Wallet/stores/RootStore.qml b/ui/app/AppLayouts/Wallet/stores/RootStore.qml index 84f10fda71..6036991d24 100644 --- a/ui/app/AppLayouts/Wallet/stores/RootStore.qml +++ b/ui/app/AppLayouts/Wallet/stores/RootStore.qml @@ -143,7 +143,7 @@ QtObject { } function checkRecentHistory() { - history.checkRecentHistory() + walletSection.checkRecentHistory() } function fetchCollectionCollectiblesList(slug) { diff --git a/ui/app/mainui/AppMain.qml b/ui/app/mainui/AppMain.qml index 5af7815078..f6c5caaa9c 100644 --- a/ui/app/mainui/AppMain.qml +++ b/ui/app/mainui/AppMain.qml @@ -28,6 +28,8 @@ import StatusQ.Layout 0.1 import StatusQ.Popups 0.1 import StatusQ.Core 0.1 +import AppLayouts.Browser.stores 1.0 as BrowserStores + import AppLayouts.stores 1.0 Item { diff --git a/ui/imports/shared/status/StatusChatInput.qml b/ui/imports/shared/status/StatusChatInput.qml index 7a3215a6e0..58349535d1 100644 --- a/ui/imports/shared/status/StatusChatInput.qml +++ b/ui/imports/shared/status/StatusChatInput.qml @@ -404,7 +404,7 @@ Rectangle { property string copiedTextFormatted: "" ListView { id: dummyContactList - model: control.usersStore.usersModel + model: control.usersStore ? control.usersStore.usersModel : [] delegate: Item { property string contactName: model.name } @@ -631,6 +631,7 @@ Rectangle { Connections { enabled: control.isActiveChannel target: Global.appMain.dragAndDrop + ignoreUnknownSignals: true onDroppedOnValidScreen: (drop) => { let validImages = validateImages(drop.urls) if (validImages.length > 0) { @@ -690,7 +691,7 @@ Rectangle { SuggestionBoxPanel { id: suggestionsBox - model: control.usersStore.usersModel + model: control.usersStore ? control.usersStore.usersModel : [] x : messageInput.x y: -height - Style.current.smallPadding width: messageInput.width diff --git a/ui/imports/shared/views/chat/CompactMessageView.qml b/ui/imports/shared/views/chat/CompactMessageView.qml index 8b1459a86b..09fea425a3 100644 --- a/ui/imports/shared/views/chat/CompactMessageView.qml +++ b/ui/imports/shared/views/chat/CompactMessageView.qml @@ -87,7 +87,7 @@ Item { + (dateGroupLbl.visible ? dateGroupLbl.height + dateGroupLbl.anchors.topMargin : 0) Connections { - target: root.messageStore.messageModule? root.messageStore.messageModule : null + target: !!root.messageStore && root.messageStore.messageModule? root.messageStore.messageModule : null enabled: responseTo !== "" onRefreshAMessageUserRespondedTo: { if(msgId === messageId)