fix(Stored): Make stores typed

adding types instead of var for stores used in qml components
fixes: #14801
This commit is contained in:
Seitseman 2024-05-22 11:13:39 +03:00 committed by RomanChornii
parent afde836517
commit 19215ca698
No known key found for this signature in database
GPG Key ID: 66C7DD33EFA7C0C4
172 changed files with 653 additions and 327 deletions

View File

@ -8,6 +8,9 @@ import mainui 1.0
import Storybook 1.0
import Models 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import shared.stores 1.0
SplitView {
id: root
@ -20,8 +23,8 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
communityTokensStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}
QtObject {

View File

@ -7,6 +7,7 @@ import SortFilterProxyModel 0.2
import Storybook 1.0
import Models 1.0
import AppLayouts.stores 1.0
import AppLayouts.Wallet.popups 1.0
import utils 1.0

View File

@ -9,6 +9,12 @@ import Storybook 1.0
import Qt.labs.settings 1.1
import Models 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Wallet.views 1.0
import AppLayouts.Wallet.stores 1.0
SplitView {
id: root

View File

@ -4,6 +4,7 @@ import QtQuick.Layouts 1.15
import QtQuick.Extras 1.4
import shared.views 1.0
import AppLayouts.Profile.stores 1.0
import AppLayouts.Profile.views 1.0
import utils 1.0
@ -31,7 +32,7 @@ SplitView {
passwordStrengthScoreFunction: (newPass) => Math.min(newPass.length, 4)
privacyStore: QtObject{
privacyStore: PrivacyStore {
property QtObject privacyModule: QtObject {
signal passwordChanged(success: bool, errorMsg: string)
signal storeToKeychainError(errorDescription: string)

View File

@ -4,6 +4,7 @@ import QtQuick.Layouts 1.15
import Storybook 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
import AppLayouts.Wallet 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStores
import AppLayouts.Wallet.views.collectibles 1.0
@ -11,7 +12,7 @@ import AppLayouts.Wallet.views.collectibles 1.0
import StatusQ.Core.Utils 0.1
import shared.controls 1.0
import shared.stores 1.0
import shared.stores 1.0 as SharedStores
import Models 1.0
import utils 1.0
@ -85,8 +86,8 @@ SplitView {
isCollectibleLoading: isLoadingCheckbox.checked
activityModel: d.transactionsModel
addressFilters: d.addressesSelected
rootStore: QtObject {
readonly property string currentCurrency: "EUR"
rootStore: SharedStores.RootStore {
currentCurrency: "EUR"
function getFiatValue(cryptoValue, symbol) {
return cryptoValue * 0.1;
@ -96,7 +97,7 @@ SplitView {
return "%L1 %2".arg(cryptoValue).arg(symbol)
}
}
walletRootStore: QtObject {
walletRootStore: WalletStores.RootStore {
function getNameForAddress(address) {
return "NAMEFOR: %1".arg(address)
}
@ -127,7 +128,7 @@ SplitView {
return "%1/assets/%2/%3/%4".arg(baseLink).arg(networkShortName).arg(contractAddress).arg(tokenId)
}
}
communitiesStore: QtObject {
communitiesStore: CommunitiesStores.CommunitiesStore {
function getCommunityDetailsAsJson(communityId) {
if (communityId.indexOf("unknown") >= 0) {
return { name : "", image : "", color : "" }

View File

@ -12,9 +12,12 @@ import StatusQ.Core.Utils 0.1 as SQUtils
import mainui 1.0
import utils 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Communities.stores 1.0 as CommunitiesStore
import AppLayouts.Wallet.views 1.0
import AppLayouts.Wallet.stores 1.0
import shared.stores 1.0
import shared.views 1.0
import Storybook 1.0
@ -47,8 +50,8 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
communityTokensStore: QtObject {}
rootStore: AppLayoutStores.RootStore
communityTokensStore: CommunityTokensStore {}
walletCollectiblesStore: CollectiblesStore {
collectiblesController: collectiblesView.controller
}

View File

@ -1,9 +1,11 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Communities 1.0
import AppLayouts.Communities.stores 1.0
import StatusQ 0.1
import SortFilterProxyModel 0.2
import Storybook 1.0
@ -19,7 +21,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutStores.RootStore
communityTokensStore: CommunityTokensStore {}
}

View File

@ -3,6 +3,7 @@ import QtQuick.Controls 2.15
import StatusQ.Core 0.1
import AppLayouts.stores 1.0 as AppLayoutsStores
import AppLayouts.Profile.views 1.0
import AppLayouts.Wallet.stores 1.0
import AppLayouts.Profile.stores 1.0
@ -28,7 +29,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutsStores.RootStore
communityTokensStore: CommunityTokensStore {}
}
@ -56,7 +57,7 @@ SplitView {
}
property var communitiesList: ctrlEmptyView.checked ? emptyModel : communitiesModel
}
rootStore: QtObject {
rootStore: AppLayoutsStores.RootStore {
function isMyCommunityRequestPending(communityId) {
return communityId === "0x0006"
}

View File

@ -10,6 +10,7 @@ import Storybook 1.0
import Models 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
SplitView {
id: root
@ -77,7 +78,7 @@ SplitView {
}
}
communitiesStore: QtObject {
communitiesStore: CommunitiesStores.CommunitiesStore {
property string discordImportChannelName
readonly property bool discordImportInProgress: false
readonly property bool discordDataExtractionInProgress: false

View File

@ -4,6 +4,7 @@ import QtQuick.Layouts 1.15
import mainui 1.0
import shared.stores 1.0
import AppLayouts.stores 1.0 as AppLayoutsStores
import AppLayouts.Communities.panels 1.0
import Storybook 1.0
@ -14,7 +15,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutsStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}

View File

@ -2,6 +2,7 @@ import QtQuick 2.15
import QtQuick.Controls 2.15
import AppLayouts.Communities.popups 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import utils 1.0
@ -91,7 +92,7 @@ SplitView {
property string image: Style.png("tokens/UNI")
property string color: "orchid"
}
devicesStore: QtObject {
devicesStore: ProfileStores.DevicesStore {
function loadDevices() {}
property bool isDeviceSetup: true

View File

@ -7,6 +7,7 @@ import Models 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.helpers 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
import utils 1.0
@ -43,7 +44,7 @@ SplitView {
communityId: "123"
communityName: communityNameText.text
communityLogo: ModelsData.collectibles.doodles
communitiesStore: QtObject {
communitiesStore: CommunitiesStores.CommunitiesStore {
function navigateToCommunity(id) {
logs.logEvent("FirstTokenReceivedPopup::onNavigateToCommunity: " + id)
}

View File

@ -1,7 +1,9 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Communities.popups 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import utils 1.0
import Storybook 1.0
@ -106,7 +108,7 @@ SplitView {
name: "community-name"
})
rootStore: QtObject {
rootStore: AppLayoutStores.RootStore {
function communityHasMember(communityId, pubKey) {
return false
}
@ -119,7 +121,7 @@ SplitView {
}
}
contactsStore: QtObject {
contactsStore: ProfileStores.ContactsStore {
readonly property ListModel myContactsModel: ListModel {
Component.onCompleted: {
for (let i = 0; i < 20; i++) {

View File

@ -2,6 +2,7 @@ import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.views 1.0
import AppLayouts.Profile.stores 1.0
@ -10,6 +11,8 @@ import Storybook 1.0
import utils 1.0
import mainui 1.0
import shared.stores 1.0
SplitView {
id: root
@ -17,8 +20,8 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
communityTokensStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}
SplitView {
@ -67,7 +70,7 @@ SplitView {
}
}
currencyStore: QtObject {
currencyStore: CurrenciesStore {
property string currentCurrency: "USD"
property string currentCurrencySymbol: "$"

View File

@ -3,6 +3,7 @@ import QtQuick.Controls 2.14
import QtQuick.Layouts 1.14
import AppLayouts.Chat.views 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
import Storybook 1.0
import utils 1.0
@ -63,7 +64,7 @@ SplitView {
}
}
QtObject {
ChatStores.RootStore {
id: rootStoreMock
readonly property var contactsModel: ListModel {

View File

@ -3,16 +3,19 @@ import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15
import mainui 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Communities.panels 1.0
import shared.stores 1.0
SplitView {
id: root
SplitView.fillWidth: true
Popups {
popupParent: root
rootStore: QtObject {}
communityTokensStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}
OverviewSettingsPanel {

View File

@ -10,6 +10,8 @@ import mainui 1.0
import StatusQ 0.1
import StatusQ.Core.Utils 0.1 as StatusQUtils
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.stores 1.0 as ProfileStores
import AppLayouts.Wallet.stores 1.0
import Storybook 1.0
@ -174,7 +176,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {
rootStore: AppLayoutStores.RootStore {
property var contactStore: QtObject {
property var contactsModule: null
@ -352,7 +354,7 @@ SplitView {
assetsModel: AssetsModel {}
collectiblesModel: CollectiblesModel {}
profileStore: QtObject {
profileStore: ProfileStores.ProfileStore {
readonly property string pubkey: "0xdeadbeef"
readonly property string ensName: name.text
@ -364,7 +366,7 @@ SplitView {
}
}
contactsStore: QtObject {
contactsStore: ProfileStores.ContactsStore {
readonly property string myPublicKey: "0xdeadbeef"
function joinPrivateChat(publicKey) {

View File

@ -1,7 +1,10 @@
import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick 2.15
import QtQuick.Controls 2.15
import AppLayouts.Communities.panels 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import AppLayouts.stores 1.0 as AppLayoutStores
import utils 1.0
Item {
@ -56,13 +59,13 @@ Item {
community: ({ id: "communityId" })
rootStore: QtObject {
rootStore: AppLayoutStores.RootStore {
function communityHasMember(communityId, pubKey) {
return false
}
}
contactsStore: QtObject {
contactsStore: ProfileStores.ContactsStore {
readonly property ListModel myContactsModel: ListModel {
Component.onCompleted: {
const keys = []

View File

@ -2,6 +2,8 @@ import QtQuick 2.14
import QtQuick.Controls 2.14
import AppLayouts.Communities.panels 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import utils 1.0
Item {
@ -63,7 +65,7 @@ Item {
sourceComponent: ProfilePopupInviteMessagePanel {
id: panel
contactsStore: QtObject {
contactsStore: ProfileStores.ContactsStore {
readonly property ListModel myContactsModel: ListModel {
Component.onCompleted: {
const keys = []

View File

@ -5,6 +5,7 @@ import StatusQ.Core 0.1
import StatusQ.Core.Utils 0.1 as CoreUtils
import mainui 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.panels 1.0
import shared.stores 1.0
@ -21,7 +22,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}

View File

@ -9,6 +9,7 @@ import StatusQ.Core.Utils 0.1
import Storybook 1.0
import Models 1.0
import AppLayouts.Wallet.popups 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStores
SplitView {
orientation: Qt.Horizontal
@ -59,7 +60,7 @@ SplitView {
property string networksNames: "oeth:arb1:eth:"
store: QtObject {
store: WalletStores.RootStore {
property var filteredFlatModel: SortFilterProxyModel {
sourceModel: NetworksModel.flatNetworks
filters: ValueFilter { roleName: "isTest"; value: false }

View File

@ -11,6 +11,8 @@ import shared.stores 1.0
import StatusQ.Core.Utils 0.1
import AppLayouts.Chat.stores 1.0 as ChatStores
SplitView {
id: root
@ -129,7 +131,7 @@ SplitView {
d.loadLinkPreviews(unformattedText)
}
}
usersStore: QtObject {
usersStore: ChatStores.UsersStore {
readonly property var usersModel: fakeUsersModel
}
onSendMessage: {

View File

@ -8,6 +8,8 @@ import mainui 1.0
import shared.views 1.0
import shared.stores 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
SplitView {
id: root
orientation: Qt.Vertical
@ -16,7 +18,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}

View File

@ -6,7 +6,10 @@ import Storybook 1.0
import mainui 1.0
import utils 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.views 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import shared.stores 1.0
SplitView {
@ -17,7 +20,7 @@ SplitView {
Popups {
popupParent: root
rootStore: QtObject {}
rootStore: AppLayoutStores.RootStore {}
communityTokensStore: CommunityTokensStore {}
}
@ -30,11 +33,11 @@ SplitView {
isProduction: ctrlIsProduction.checked
advancedStore: QtObject {
advancedStore: ProfileStores.AdvancedStore {
readonly property bool isDebugEnabled: ctrlDebugEnabled.checked
}
devicesStore: QtObject {
devicesStore: ProfileStores.DevicesStore {
function generateConnectionStringAndRunSetupSyncingPopup() {
logs.logEvent("devicesStore::generateConnectionStringAndRunSetupSyncingPopup()")
}

View File

@ -7,6 +7,9 @@ import Storybook 1.0
import utils 1.0
import shared.controls 1.0
import shared.stores 1.0 as SharedStores
import AppLayouts.Wallet.stores 1.0 as WalletStores
import Models 1.0
@ -73,7 +76,7 @@ SplitView {
id: delegate
Layout.fillWidth: true
modelData: root.mockupModelData
rootStore: QtObject {
rootStore: SharedStores.RootStore {
readonly property string currentCurrency: "EUR"
function getFiatValue(cryptoValue, symbol) {
@ -86,7 +89,7 @@ SplitView {
property var flatNetworks: NetworksModel.flatNetworks
}
walletRootStore: QtObject {
walletRootStore: WalletStores.RootStore {
function getNameForAddress(address) {
return "NAMEFOR: %1".arg(address)
}

View File

@ -9,6 +9,8 @@ import utils 1.0
import shared.status 1.0
import shared.stores 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
import TextUtils 1.0
Item {
@ -24,7 +26,7 @@ Item {
width: parent.width
height: implicitHeight
anchors.bottom: parent.bottom
usersStore: QtObject {
usersStore: ChatStores.UsersStore {
property var usersModel: ListModel {}
}
}

View File

@ -0,0 +1,5 @@
import QtQuick 2.15
QtObject {
}

View File

@ -0,0 +1,5 @@
import QtQuick 2.15
QtObject {
}

View File

@ -1,2 +1,4 @@
RootStore 1.0 RootStore.qml
StickersStore 1.0 StickersStore.qml
MessageStore 1.0 MessageStore.qml
UsersStore 1.0 UsersStore.qml

View File

@ -0,0 +1,4 @@
import QtQuick 2.15
QtObject {
}

View File

@ -0,0 +1,5 @@
import QtQuick 2.15
QtObject {
}

View File

@ -0,0 +1,28 @@
import QtQuick 2.15
QtObject {
property QtObject privacyModule: QtObject {
signal passwordChanged(success: bool, errorMsg: string)
signal storeToKeychainError(errorDescription: string)
signal storeToKeychainSuccess()
}
function tryStoreToKeyChain(errorDescription) {
if (generateMacKeyChainStoreError.checked) {
privacyModule.storeToKeychainError(errorDescription)
} else {
passwordView.localAccountSettings.storeToKeychainValue = Constants.keychain.storedValue.store
privacyModule.storeToKeychainSuccess()
privacyModule.passwordChanged(true, "")
}
}
function tryRemoveFromKeyChain() {
if (generateMacKeyChainStoreError.checked) {
privacyModule.storeToKeychainError("Error removing from keychain")
} else {
passwordView.localAccountSettings.storeToKeychainValue = Constants.keychain.storedValue.notNow
privacyModule.storeToKeychainSuccess()
}
}
}

View File

@ -1,5 +1,8 @@
LanguageStore 1.0 LanguageStore.qml
ProfileSectionStore 1.0 ProfileSectionStore.qml
WalletStore 1.0 WalletStore.qml
DevicesStore 1.0 DevicesStore.qml
ContactsStore 1.0 ContactsStore.qml
PrivacyStore 1.0 PrivacyStore.qml
ProfileStore 1.0 ProfileStore.qml
AdvancedStore 1.0 AdvancedStore.qml

View File

@ -0,0 +1,5 @@
import QtQuick 2.15
QtObject {
}

View File

@ -3,3 +3,4 @@ WalletAssetsStore 1.0 WalletAssetsStore.qml
TokensStore 1.0 TokensStore.qml
ActivityFiltersStore 1.0 ActivityFiltersStore.qml
SwapStore 1.0 SwapStore.qml
RootStore 1.0 RootStore.qml

View File

@ -0,0 +1,4 @@
import QtQuick 2.15
QtObject {
}

View File

@ -0,0 +1,2 @@
RootStore 1.0 RootStore.qml
CloneModel 1.0 ../../../../ui/app/AppLayouts/stores/CloneModel.qml

View File

@ -0,0 +1,5 @@
import QtQuick 2.15
QtObject {
}

View File

@ -1,6 +1,4 @@
pragma Singleton
import QtQuick 2.14
import QtQuick 2.15
QtObject {
property var userProfileInst

View File

@ -0,0 +1,4 @@
import QtQuick 2.15
QtObject {
}

View File

@ -1,8 +1,10 @@
CommunityTokensStore 1.0 CommunityTokensStore.qml
CurrenciesStore 1.0 CurrenciesStore.qml
NetworkConnectionStore 1.0 NetworkConnectionStore.qml
singleton RootStore 1.0 RootStore.qml
RootStore 1.0 RootStore.qml
TokenBalanceHistoryStore 1.0 TokenBalanceHistoryStore.qml
BIP39_en 1.0 BIP39_en.qml
DAppsStore 1.0 DAppsStore.qml
ProfileStore 1.0 ProfileStore.qml
PermissionsStore 1.0 PermissionsStore.qml
TokenMarketValuesStore 1.0 TokenMarketValuesStore.qml

View File

@ -15,8 +15,11 @@ import shared.controls 1.0
import shared 1.0
import shared.status 1.0
import shared.popups.send 1.0
import shared.stores 1.0
import shared.stores.send 1.0
import "../Wallet/stores"
import "popups"
import "controls"
import "views"
@ -29,12 +32,11 @@ import "stores"
StatusSectionLayout {
id: root
property var globalStore
property var sendTransactionModal
required property TransactionStore transactionStore
required property var assetsStore
required property var currencyStore
required property var tokensStore
required property TokensStore tokensStore
required property WalletAssetsStore walletAssetsStore
required property CurrenciesStore currencyStore
function openUrlInNewTab(url) {
var tab = _internal.addNewTab()
@ -433,7 +435,7 @@ StatusSectionLayout {
Component {
id: browserWalletMenu
BrowserWalletMenu {
assetsStore: root.assetsStore
walletAssetsStore: root.walletAssetsStore
currencyStore: root.currencyStore
tokensStore: root.tokensStore
property point headerPoint: Qt.point(browserHeader.x, browserHeader.y)

View File

@ -7,18 +7,20 @@ import StatusQ.Controls 0.1
import StatusQ.Core 0.1
import shared.controls 1.0
import shared.stores 1.0
import shared.views 1.0
import utils 1.0
import "../stores"
import "../../Wallet/stores"
// TODO: replace with StatusMenu
Dialog {
id: popup
required property var assetsStore
required property var currencyStore
required property var tokensStore
required property WalletAssetsStore walletAssetsStore
required property CurrenciesStore currencyStore
required property TokensStore tokensStore
signal sendTriggered(var selectedAccount)
signal disconnect()
@ -210,7 +212,7 @@ Dialog {
// integration but the old version was not working properly neither.
//AssetsView {
// id: assetsTab
// controller: popup.assetsStore.assetsController
// controller: popup.walletAssetsStore.assetsController
// currencyStore: popup.currencyStore
// tokensStore: popup.tokensStore
//}

View File

@ -13,8 +13,10 @@ import "stores"
import AppLayouts.Communities.views 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.helpers 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
import AppLayouts.Chat.stores 1.0
import AppLayouts.Profile.stores 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStore
import StatusQ.Core.Utils 0.1
@ -23,10 +25,10 @@ StackLayout {
id: root
property RootStore rootStore
property var createChatPropertiesStore
readonly property var contactsStore: rootStore.contactsStore
readonly property var permissionsStore: rootStore.permissionsStore
property var communitiesStore
property CreateChatPropertiesStore createChatPropertiesStore
readonly property ContactsStore contactsStore: rootStore.contactsStore
readonly property PermissionsStore permissionsStore: rootStore.permissionsStore
property CommunitiesStores.CommunitiesStore communitiesStore
required property WalletStore.TokensStore tokensStore
required property TransactionStore transactionStore
required property WalletStore.WalletAssetsStore walletAssetsStore

View File

@ -15,10 +15,12 @@ import utils 1.0
import SortFilterProxyModel 0.2
import AppLayouts.Chat.stores 1.0 as ChatStores
Item {
id: root
property var store
property ChatStores.RootStore store
property var usersModel
property string label
property int communityMemberReevaluationStatus: Constants.CommunityMemberReevaluationStatus.None

View File

@ -13,11 +13,13 @@ import StatusQ.Popups.Dialog 0.1
import utils 1.0
import shared.views.chat 1.0
import AppLayouts.Chat.stores 1.0
StatusDialog {
id: root
property var store
property var messageStore
property RootStore store
property MessageStore messageStore
property var pinnedMessagesModel //this doesn't belong to the messageStore, it is a part of the ChatContentStore, but we didn't introduce it yet.
property string messageToPin
property string messageToUnpin

View File

@ -6,14 +6,17 @@ import SortFilterProxyModel 0.2
import StatusQ.Core.Utils 0.1 as StatusQUtils
import shared.stores 1.0
import AppLayouts.Profile.stores 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStore
QtObject {
id: root
property var contactsStore
property var communityTokensStore
property var walletStore
property ContactsStore contactsStore
property CommunityTokensStore communityTokensStore
property WalletStore.RootStore walletStore
property var networkConnectionStore
property NetworkConnectionStore networkConnectionStore
readonly property PermissionsStore permissionsStore: PermissionsStore {
activeSectionId: mainModuleInst.activeSection.id
@ -202,7 +205,7 @@ QtObject {
}
}
property var messageStore: MessageStore { }
property MessageStore messageStore: MessageStore { }
property var emojiReactionsModel
@ -231,7 +234,7 @@ QtObject {
readonly property int loginType: getLoginType()
property var stickersStore: StickersStore {
property StickersStore stickersStore: StickersStore {
stickersModule: stickersModuleInst
}

View File

@ -4,3 +4,5 @@ RootStore 1.0 RootStore.qml
StickerData 1.0 StickerData.qml
StickerPackData 1.0 StickerPackData.qml
StickersStore 1.0 StickersStore.qml
MessageStore 1.0 MessageStore.qml
UsersStore 1.0 UsersStore.qml

View File

@ -20,6 +20,7 @@ import SortFilterProxyModel 0.2
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Profile.stores 1.0
import "../helpers"
import "../controls"
@ -35,9 +36,9 @@ Item {
// don't follow struct we have on the backend.
property var parentModule
property var rootStore
property var createChatPropertiesStore
property var contactsStore
property RootStore rootStore
property CreateChatPropertiesStore createChatPropertiesStore
property ContactsStore contactsStore
property var emojiPopup
property var stickersPopup

View File

@ -15,6 +15,8 @@ import shared.status 1.0
import shared.controls 1.0
import shared.views.chat 1.0
import AppLayouts.Profile.stores 1.0
import "../helpers"
import "../controls"
import "../popups"
@ -28,8 +30,8 @@ ColumnLayout {
// Important: each chat/channel has its own ChatContentModule
property var chatContentModule
property var chatSectionModule
property var rootStore
property var contactsStore
property RootStore rootStore
property ContactsStore contactsStore
property string chatId
property int chatType: Constants.chatType.unknown
@ -45,7 +47,7 @@ ColumnLayout {
property bool isUserAllowedToSendMessage: root.rootStore.isUserAllowedToSendMessage
property bool stickersLoaded: false
readonly property var messageStore: MessageStore {
readonly property MessageStore messageStore: MessageStore {
messageModule: chatContentModule ? chatContentModule.messagesModule : null
chatSectionModule: root.rootStore.chatCommunitySectionModule
}

View File

@ -21,7 +21,7 @@ Item {
property alias membersButton: membersButton
property alias searchButton: searchButton
property var rootStore
property RootStore rootStore
property var chatContentModule: root.rootStore.currentChatContentModule() || null
property var emojiPopup
property int padding: Style.current.halfPadding

View File

@ -18,6 +18,9 @@ import shared.status 1.0
import shared.controls 1.0
import shared.views.chat 1.0
import AppLayouts.Chat.stores 1.0
import AppLayouts.Profile.stores 1.0
import "../controls"
import "../panels"
@ -25,10 +28,10 @@ Item {
id: root
property var chatContentModule
property var rootStore
property var messageStore
property var usersStore
property var contactsStore
property RootStore rootStore
property MessageStore messageStore
property UsersStore usersStore
property ContactsStore contactsStore
property string channelEmoji
property var emojiPopup

View File

@ -21,9 +21,13 @@ import QtQuick.Layouts 1.15
import "."
import "../panels"
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.views 1.0
import AppLayouts.Communities.controls 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
import AppLayouts.Communities.views 1.0
import AppLayouts.Profile.stores 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStore
import "../popups"
import "../helpers"
@ -33,13 +37,13 @@ import "../stores"
StatusSectionLayout {
id: root
property var contactsStore
property ContactsStore contactsStore
property bool hasAddedContacts: contactsStore.myContactsModel.count > 0
property RootStore rootStore
required property TransactionStore transactionStore
property var createChatPropertiesStore
property var communitiesStore
property CreateChatPropertiesStore createChatPropertiesStore
property CommunitiesStores.CommunitiesStore communitiesStore
required property WalletStore.WalletAssetsStore walletAssetsStore
required property CurrenciesStore currencyStore
property var sectionItemModel

View File

@ -19,7 +19,9 @@ import SortFilterProxyModel 0.2
import "../panels"
import "../popups"
import AppLayouts.Chat.stores 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Profile.stores 1.0
Item {
id: root
@ -31,8 +33,8 @@ Item {
// This module is set from `ChatLayout` (each `ChatLayout` has its own chatSectionModule)
property var chatSectionModule
property var store
property var contactsStore
property RootStore store
property ContactsStore contactsStore
property var emojiPopup
signal openProfileClicked()

View File

@ -13,11 +13,13 @@ import utils 1.0
import shared.status 1.0
import shared.controls.delegates 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
Page {
id: root
property var rootStore
property var createChatPropertiesStore
property ChatStores.RootStore rootStore
property ChatStores.CreateChatPropertiesStore createChatPropertiesStore
property var emojiPopup: null
property var stickersPopup: null

View File

@ -19,7 +19,7 @@ import SortFilterProxyModel 0.2
MembersSelectorBase {
id: root
property var usersStore
property UsersStore usersStore
onConfirmed: {
usersStore.updateGroupMembers()

View File

@ -10,6 +10,8 @@ import StatusQ.Components 0.1
import "../../panels"
import AppLayouts.Chat.stores 1.0 as ChatStores
import utils 1.0
import shared.controls.delegates 1.0
@ -18,7 +20,7 @@ import SortFilterProxyModel 0.2
InlineSelectorPanel {
id: root
property var rootStore
property ChatStores.RootStore rootStore
readonly property int membersLimit: 20 // see: https://github.com/status-im/status-mobile/issues/13066
property bool limitReached: model.count >= membersLimit

View File

@ -22,11 +22,12 @@ import AppLayouts.Communities.controls 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.views 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.stores 1.0
StatusSectionLayout {
id: root
property var communitiesStore
property CommunitiesStore communitiesStore
property var assetsModel
property var collectiblesModel

View File

@ -4,13 +4,14 @@ import QtQuick.Layouts 1.15
import StatusQ.Controls 0.1
import utils 1.0
import AppLayouts.Chat.stores 1.0
import AppLayouts.Communities.layouts 1.0
import AppLayouts.Communities.popups 1.0
SettingsPage {
id: root
property var rootStore
property RootStore rootStore
property var membersModel
property var bannedMembersModel
property var pendingMemberRequestsModel

View File

@ -14,6 +14,7 @@ import shared.views.chat 1.0
import shared.controls.chat 1.0
import shared.controls 1.0
import AppLayouts.Chat.stores 1.0
import AppLayouts.Communities.layouts 1.0
import SortFilterProxyModel 0.2
@ -23,7 +24,7 @@ Item {
property string placeholderText
property var model
property var rootStore
property RootStore rootStore
property int memberRole: Constants.memberRole.none
readonly property bool isOwner: memberRole === Constants.memberRole.owner

View File

@ -12,14 +12,17 @@ import shared.panels 1.0
import shared.views 1.0
import shared.status 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.stores 1.0 as ProfileStores
ColumnLayout {
id: root
objectName: "CommunityProfilePopupInviteFrindsPanel_ColumnLayout"
property string headerTitle: ""
property var rootStore
property var contactsStore
property AppLayoutStores.RootStore rootStore
property ProfileStores.ContactsStore contactsStore
property var community
property var pubKeys: ([])

View File

@ -12,14 +12,15 @@ import shared.panels 1.0
import shared.views 1.0
import shared.status 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
ColumnLayout {
id: root
objectName: "CommunityProfilePopupInviteMessagePanel_ColumnLayout"
property var pubKeys: ([])
property var rootStore
property var contactsStore
property ProfileStores.ContactsStore contactsStore
property alias inviteMessage: messageInput.text

View File

@ -4,6 +4,8 @@ import StatusQ.Core 0.1
import StatusQ.Core.Theme 0.1
import StatusQ.Controls 0.1
import AppLayouts.Chat.stores 1.0
import shared.panels 1.0
import shared.status 1.0
@ -13,7 +15,7 @@ Rectangle {
id: root
property var activeCommunity
property var store
property RootStore store
property var communitySectionModule
property bool hasAddedContacts

View File

@ -13,10 +13,12 @@ import StatusQ.Popups.Dialog 0.1
import utils 1.0
import shared.views.chat 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
StatusDialog {
id: root
property var store
property ChatStores.RootStore rootStore
property var chatCommunitySectionModule
property var memberMessagesModel: chatCommunitySectionModule.memberMessagesModel
property string memberPubKey: ""

View File

@ -13,9 +13,7 @@ import AppLayouts.Communities.panels 1.0
StatusModal {
id: root
property var store
property var community
property var contactsStore
property bool hasAddedContacts
property var communitySectionModule

View File

@ -15,10 +15,12 @@ import shared.popups 1.0
import SortFilterProxyModel 0.2
import AppLayouts.Chat.stores 1.0
StatusModal {
id: root
property var store
property RootStore store
property string communityId
property string categoryId
property string categoryName: ""

View File

@ -22,11 +22,12 @@ import AppLayouts.Communities.views 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.models 1.0
import AppLayouts.Communities.controls 1.0
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
StatusStackModal {
id: root
property var communitiesStore
property CommunitiesStores.CommunitiesStore communitiesStore
property bool isDiscordImport // creating new or importing from discord?
property bool isEdit: false

View File

@ -17,11 +17,12 @@ import StatusQ.Popups 0.1
import AppLayouts.Communities.controls 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.stores 1.0
StatusStackModal {
id: root
property var store
property CommunitiesStore store
property bool isDiscordImport // creating new or importing from discord?
property bool isDevBuild

View File

@ -13,12 +13,14 @@ import StatusQ.Popups.Dialog 0.1
import SortFilterProxyModel 0.2
import AppLayouts.Communities.stores 1.0
import "../controls"
StatusScrollView {
id: root
property var store
property CommunitiesStore store
property bool importingSingleChannel

View File

@ -5,10 +5,12 @@ import StatusQ.Core 0.1
import StatusQ.Core.Theme 0.1
import StatusQ.Popups.Dialog 0.1
import AppLayouts.Communities.stores 1.0
StatusDialog {
id: root
property var store
property CommunitiesStore store
property bool importingSingleChannel

View File

@ -12,13 +12,15 @@ import StatusQ.Core.Utils 0.1 as SQUtils
import utils 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
import SortFilterProxyModel 0.2
StatusDialog {
id: root
required property var community
property var devicesStore
property ProfileStores.DevicesStore devicesStore
width: 640

View File

@ -11,6 +11,7 @@ import StatusQ.Core.Theme 0.1
import StatusQ.Core.Utils 0.1
import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.stores 1.0
import utils 1.0
@ -18,7 +19,7 @@ StatusDialog {
id: root
// Community related props:
required property var communitiesStore
required property CommunitiesStore communitiesStore
required property string communityId
required property string communityName
required property string communityLogo

View File

@ -9,12 +9,14 @@ import utils 1.0
import shared.panels 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.stores 1.0 as AppLayoutStores
import AppLayouts.Profile.stores 1.0 as ProfileStores
StatusStackModal {
id: root
property var rootStore
property var contactsStore
property AppLayoutStores.RootStore rootStore
property ProfileStores.ContactsStore contactsStore
property var community
property var communitySectionModule

View File

@ -19,9 +19,11 @@ import shared.panels 1.0
import shared.stores 1.0
import shared.views.chat 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.panels 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStore
import AppLayouts.Communities.stores 1.0 as CommunitiesStores
import AppLayouts.Wallet.stores 1.0 as WalletStores
// FIXME: Rework me to use ColumnLayout instead of anchors!!
Item {
@ -36,9 +38,9 @@ Item {
property var communitySectionModule
property var emojiPopup
property var store
property var communitiesStore
required property WalletStore.WalletAssetsStore walletAssetsStore
property ChatStores.RootStore store
property CommunitiesStores.CommunitiesStore communitiesStore
required property WalletStores.WalletAssetsStore walletAssetsStore
required property CurrenciesStore currencyStore
property bool hasAddedContacts: false
property var communityData

View File

@ -14,8 +14,8 @@ import StatusQ.Layout 0.1
import shared.panels 1.0
import shared.popups 1.0
import shared.stores 1.0
import shared.views.chat 1.0
import shared.stores.send 1.0
import shared.views.chat 1.0
import utils 1.0
import AppLayouts.Communities.controls 1.0
@ -23,6 +23,7 @@ import AppLayouts.Communities.panels 1.0
import AppLayouts.Communities.popups 1.0
import AppLayouts.Communities.helpers 1.0
import AppLayouts.Chat.stores 1.0 as ChatStores
import AppLayouts.Wallet.stores 1.0
StatusSectionLayout {
@ -32,11 +33,11 @@ StatusSectionLayout {
hasUnseenNotifications: activityCenterStore.hasUnseenNotifications
onNotificationButtonClicked: Global.openActivityCenterPopup()
property var rootStore
property ChatStores.RootStore rootStore
property var chatCommunitySectionModule
required property TokensStore tokensStore
property var community
required property var transactionStore
required property TransactionStore transactionStore
property bool communitySettingsDisabled
property var sendModalPopup

View File

@ -17,7 +17,7 @@ import "../Profile/stores"
OnboardingBasePage {
id: root
property var startupStore: StartupStore {}
property StartupStore startupStore: StartupStore {}
backButtonVisible: root.startupStore.currentStartupState ? root.startupStore.currentStartupState.displayBackButton
: false

View File

@ -28,6 +28,7 @@ import StatusQ.Popups.Dialog 0.1
import StatusQ.Core.Utils 0.1 as SQUtils
import SortFilterProxyModel 0.2
import AppLayouts.stores 1.0 as AppLayoutsStores
StatusSectionLayout {
id: root
@ -35,10 +36,10 @@ StatusSectionLayout {
objectName: "profileStatusSectionLayout"
property ProfileSectionStore store
property var globalStore
property AppLayoutsStores.RootStore globalStore
property var systemPalette
property var emojiPopup
property var networkConnectionStore
property SharedStores.NetworkConnectionStore networkConnectionStore
required property TokensStore tokensStore
required property TransactionStore transactionStore
required property WalletAssetsStore walletAssetsStore

View File

@ -6,10 +6,12 @@ import utils 1.0
import shared.popups 1.0
import shared.controls 1.0
import AppLayouts.Profile.stores 1.0
RadioButtonSelector {
id: root
property var advancedStore
property AdvancedStore advancedStore
property string fleetName: ""
property string newFleet: ""

View File

@ -9,11 +9,12 @@ import StatusQ.Popups 0.1
import utils 1.0
import shared.controls.chat.menuItems 1.0
import AppLayouts.stores 1.0 as AppLayoutsStores
StatusListView {
id: root
property var rootStore
property AppLayoutsStores.RootStore rootStore
signal inviteFriends(var communityData)

View File

@ -16,6 +16,8 @@ import shared.views 1.0
import shared.controls.chat 1.0
import shared.controls.chat.menuItems 1.0
import AppLayouts.Profile.stores 1.0
StatusListItem {
id: root
@ -23,7 +25,7 @@ StatusListItem {
height: visible ? implicitHeight : 0
title: root.name
property var contactsStore
property ContactsStore contactsStore
property string name
property string publicKey

View File

@ -13,13 +13,15 @@ import shared.panels 1.0
import "../../Chat/popups"
import "."
import AppLayouts.Profile.stores 1.0
import SortFilterProxyModel 0.2
Item {
id: root
implicitHeight: (title.height + contactsList.height)
property var contactsStore
property ContactsStore contactsStore
property var contactsModel
property int panelUsage: Constants.contactsPanelUsage.unknownPosition

View File

@ -8,14 +8,15 @@ import StatusQ.Controls 0.1
import StatusQ.Controls.Validators 0.1
import StatusQ.Popups 0.1
import utils 1.0
import AppLayouts.Profile.stores 1.0
StatusModal {
id: root
property var messagingStore
property var advancedStore
property MessagingStore messagingStore
property AdvancedStore advancedStore
height: 560
padding: 8

View File

@ -12,12 +12,14 @@ import StatusQ.Popups 0.1
import StatusQ.Controls 0.1
import StatusQ.Core.Theme 0.1
import AppLayouts.Profile.stores 1.0 as ProfileStores
import "backupseed"
StatusStackModal {
id: root
property var privacyStore
property ProfileStores.PrivacyStore privacyStore
onCurrentIndexChanged: {
//StatusAnimatedStack doesn't handle well items' visibility,

View File

@ -13,10 +13,12 @@ import shared 1.0
import shared.panels 1.0
import shared.popups 1.0
import AppLayouts.Profile.stores 1.0
StatusDialog {
id: root
property var ensUsernamesStore
property EnsUsernamesStore ensUsernamesStore
title: qsTr("Primary username")
standardButtons: Dialog.ApplyRole

View File

@ -12,11 +12,12 @@ import utils 1.0
import shared.panels 1.0
import "../controls"
import "../stores"
StatusModal {
id: root
property var notificationsStore
property NotificationsStore notificationsStore
property var item: ({
name: "",
image: "",

View File

@ -7,6 +7,8 @@ import shared 1.0
import shared.popups 1.0
import shared.status 1.0
import AppLayouts.Profile.stores 1.0
import "../controls"
// TODO: replace with StatusModal
@ -14,7 +16,7 @@ ModalPopup {
id: popup
title: qsTr("Fleet")
property var advancedStore
property AdvancedStore advancedStore
property string newFleet: "";

View File

@ -10,10 +10,12 @@ import StatusQ.Controls 0.1
import StatusQ.Controls.Validators 0.1
import StatusQ.Popups 0.1
import "../stores"
StatusModal {
id: root
property var contactsStore
property ContactsStore contactsStore
headerSettings.title: qsTr("Send Contact Request to chat key")
padding: d.contentMargins

View File

@ -19,8 +19,8 @@ import "../stores"
StatusDialog {
id: root
property var devicesStore
property var advancedStore
property DevicesStore devicesStore
property AdvancedStore advancedStore
property var deviceModel
readonly property string deviceName: d.deviceName

View File

@ -17,6 +17,8 @@ import shared.popups 1.0
import shared.status 1.0
import shared.controls 1.0
import AppLayouts.Profile.stores 1.0
StatusModal {
id: root
@ -25,8 +27,8 @@ StatusModal {
padding: 8
headerSettings.title: qsTr("Waku nodes")
property var messagingStore
property var advancedStore
property MessagingStore messagingStore
property AdvancedStore advancedStore
onClosed: {
destroy()

View File

@ -17,6 +17,8 @@ import shared.popups 1.0
import shared.status 1.0
import shared.controls 1.0
import AppLayouts.Profile.stores 1.0
StatusModal {
id: root
@ -25,8 +27,8 @@ StatusModal {
padding: 8
headerSettings.title: qsTr("History Nodes")
property var messagingStore
property var advancedStore
property MessagingStore messagingStore
property AdvancedStore advancedStore
property string nameValidationError: ""
property string enodeValidationError: ""

View File

@ -9,12 +9,14 @@ import StatusQ.Controls 0.1
import shared.panels 1.0
import utils 1.0
import AppLayouts.Profile.stores 1.0 as ProfileStores
BackupSeedStepBase {
id: root
property var seedPhrase: []
property bool hideSeed: true
property var privacyStore
property ProfileStores.PrivacyStore privacyStore
titleText: qsTr("Write down your 12-word seed phrase to keep offline")

View File

@ -73,7 +73,7 @@ QtObject {
}
property var stickersModuleInst: stickersModule
property var stickersStore: StickersStore {
property StickersStore stickersStore: StickersStore {
stickersModule: stickersModuleInst
}

View File

@ -6,3 +6,7 @@ DevicesStore 1.0 DevicesStore.qml
ProfileSectionStore 1.0 ProfileSectionStore.qml
WalletStore 1.0 WalletStore.qml
ContactsStore 1.0 ContactsStore.qml
AdvancedStore 1.0 AdvancedStore.qml
MessagingStore 1.0 MessagingStore.qml
PrivacyStore 1.0 PrivacyStore.qml
EnsUsernamesStore 1.0 EnsUsernamesStore.qml

View File

@ -15,7 +15,7 @@ import shared.status 1.0
SettingsContentBase {
id: root
property var store
property QtObject store
// TODO when we re-implement check for updates, put isProduction back
titleRowComponentLoader.active: false //root.store.isProduction

View File

@ -17,11 +17,12 @@ import StatusQ.Popups 0.1
import StatusQ.Popups.Dialog 0.1
import AppLayouts.Profile.popups 1.0
import AppLayouts.Profile.stores 1.0
SettingsContentBase {
id: root
property var privacyStore
property PrivacyStore privacyStore
readonly property bool biometricsEnabled: localAccountSettings.storeToKeychainValue === Constants.keychain.storedValue.store

View File

@ -22,12 +22,13 @@ import AppLayouts.Communities.panels 1.0
import AppLayouts.Profile.stores 1.0
import AppLayouts.Wallet.stores 1.0 as WalletStore
import AppLayouts.Chat.stores 1.0 as ChatStore
import AppLayouts.stores 1.0 as AppLayoutsStores
SettingsContentBase {
id: root
property ProfileSectionStore profileSectionStore
property var rootStore
property AppLayoutsStores.RootStore rootStore
required property WalletStore.WalletAssetsStore walletAssetsStore
required property CurrenciesStore currencyStore

View File

@ -13,10 +13,12 @@ import shared.popups 1.0
import shared.popups.send 1.0
import shared.stores.send 1.0
import AppLayouts.Profile.stores 1.0
Item {
id: root
property var ensUsernamesStore
property var contactsStore
property EnsUsernamesStore ensUsernamesStore
property ContactsStore contactsStore
required property TransactionStore transactionStore
property string username: ""
property string chainId: ""

View File

@ -13,12 +13,14 @@ import shared.views.chat 1.0
import shared.controls.chat 1.0
import utils 1.0
import AppLayouts.Profile.stores 1.0
import "../popups"
Item {
id: root
property var ensUsernamesStore
property EnsUsernamesStore ensUsernamesStore
property int profileContentWidth

View File

@ -15,11 +15,13 @@ import shared.controls 1.0
import shared.popups.send 1.0
import shared.stores.send 1.0
import AppLayouts.Profile.stores 1.0
Item {
id: root
property var ensUsernamesStore
property var contactsStore
property EnsUsernamesStore ensUsernamesStore
property ContactsStore contactsStore
required property TransactionStore transactionStore
property int profileContentWidth

View File

@ -18,11 +18,13 @@ import StatusQ.Components 0.1
import AppLayouts.Wallet.stores 1.0
import "../stores"
Item {
id: root
property var ensUsernamesStore
property var contactsStore
property EnsUsernamesStore ensUsernamesStore
property ContactsStore contactsStore
required property TransactionStore transactionStore
property WalletAssetsStore walletAssetsStore
property string username: ""

Some files were not shown because too many files have changed in this diff Show More