separate profile sections
This commit is contained in:
parent
1503f2d1f8
commit
d2a23fb265
|
@ -10,7 +10,6 @@ import "./LeftTab"
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
readonly property int w: 340
|
readonly property int w: 340
|
||||||
// property alias currentTab: profileScreenButtons.currentIndex
|
|
||||||
property alias currentTab: profileMenu.profileCurrentIndex
|
property alias currentTab: profileMenu.profileCurrentIndex
|
||||||
|
|
||||||
id: profileInfoContainer
|
id: profileInfoContainer
|
||||||
|
@ -23,12 +22,25 @@ ColumnLayout {
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
anchors.bottomMargin: 0
|
anchors.bottomMargin: 0
|
||||||
|
|
||||||
Profile {}
|
RowLayout {
|
||||||
|
id: profileHeader
|
||||||
|
height: 240
|
||||||
|
Layout.fillWidth: true
|
||||||
|
width: profileInfoContainer.w
|
||||||
|
|
||||||
Menu {
|
Profile {}
|
||||||
id: profileMenu
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RowLayout {
|
||||||
|
width: profileInfoContainer.w
|
||||||
|
height: btnheight * 10
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Menu {
|
||||||
|
id: profileMenu
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*##^##
|
/*##^##
|
||||||
|
|
|
@ -4,281 +4,273 @@ import QtQuick.Layouts 1.3
|
||||||
import QtQuick.Controls 2.3
|
import QtQuick.Controls 2.3
|
||||||
import "../../../../imports"
|
import "../../../../imports"
|
||||||
|
|
||||||
RowLayout {
|
Rectangle {
|
||||||
property alias profileCurrentIndex: profileScreenButtons.currentIndex
|
property alias profileCurrentIndex: profileScreenButtons.currentIndex
|
||||||
readonly property int btnheight: 42
|
readonly property int btnheight: 42
|
||||||
|
|
||||||
id: profileTabBar
|
id: profileTabBar
|
||||||
width: profileInfoContainer.w
|
color: "#ffffff"
|
||||||
height: btnheight * 10
|
height: parent.height
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
Rectangle {
|
TabBar {
|
||||||
id: profileTabBarBg
|
id: profileScreenButtons
|
||||||
color: "#ffffff"
|
width: profileInfoContainer.w
|
||||||
height: parent.height
|
height: parent.height
|
||||||
Layout.fillHeight: true
|
anchors.bottom: parent.bottom
|
||||||
Layout.fillWidth: true
|
anchors.bottomMargin: 0
|
||||||
|
currentIndex: 0
|
||||||
|
spacing: 0
|
||||||
|
background: Rectangle {
|
||||||
|
color: "#00000000"
|
||||||
|
}
|
||||||
|
|
||||||
TabBar {
|
TabButton {
|
||||||
id: profileScreenButtons
|
id: ensTabButton
|
||||||
width: profileInfoContainer.w
|
width: profileInfoContainer.w
|
||||||
height: parent.height
|
height: profileTabBar.btnheight
|
||||||
anchors.bottom: parent.bottom
|
text: ""
|
||||||
anchors.bottomMargin: 0
|
anchors.top: parent.top
|
||||||
currentIndex: 0
|
anchors.topMargin: 0
|
||||||
spacing: 0
|
|
||||||
background: Rectangle {
|
background: Rectangle {
|
||||||
color: "#00000000"
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: ensTabButton
|
id: element1
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("ENS usernames")
|
||||||
text: ""
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 0
|
|
||||||
background: Rectangle {
|
|
||||||
color: Theme.transparent
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element1
|
|
||||||
color: "#000000"
|
|
||||||
text: qsTr("ENS usernames")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 72
|
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
|
||||||
font.weight: Font.Medium
|
|
||||||
font.pixelSize: 14
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TabButton {
|
|
||||||
id: contactsTabButton
|
|
||||||
width: profileInfoContainer.w
|
|
||||||
height: profileTabBar.btnheight
|
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: ensTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element2
|
id: contactsTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Contacts")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: ensTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: privacyTabButton
|
id: element2
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Contacts")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: contactsTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element3
|
id: privacyTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Privacy and security")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: contactsTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: syncTabButton
|
id: element3
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Privacy and security")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: privacyTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element4
|
id: syncTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Sync settings")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: privacyTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: languageTabButton
|
id: element4
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Sync settings")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: syncTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element5
|
id: languageTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Language settings")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: syncTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: notificationsTabButton
|
id: element5
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Language settings")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: languageTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element6
|
id: notificationsTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Notifications settings")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: languageTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: advancedTabButton
|
id: element6
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Notifications settings")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: notificationsTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element7
|
id: advancedTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Advanced settings")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: notificationsTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: helpTabButton
|
id: element7
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Advanced settings")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: advancedTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element8
|
id: helpTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Need help?")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: advancedTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: aboutTabButton
|
id: element8
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("Need help?")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: helpTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element9
|
id: aboutTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("About")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: helpTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
}
|
}
|
||||||
|
|
||||||
TabButton {
|
Text {
|
||||||
id: signoutTabButton
|
id: element9
|
||||||
width: profileInfoContainer.w
|
color: "#000000"
|
||||||
height: profileTabBar.btnheight
|
text: qsTr("About")
|
||||||
text: ""
|
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 72
|
||||||
anchors.top: aboutTabButton.bottom
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
anchors.topMargin: 0
|
font.weight: Font.Medium
|
||||||
background: Rectangle {
|
font.pixelSize: 14
|
||||||
color: Theme.transparent
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Text {
|
TabButton {
|
||||||
id: element10
|
id: signoutTabButton
|
||||||
color: "#000000"
|
width: profileInfoContainer.w
|
||||||
text: qsTr("Sign out")
|
height: profileTabBar.btnheight
|
||||||
anchors.left: parent.left
|
text: ""
|
||||||
anchors.leftMargin: 72
|
anchors.left: parent.left
|
||||||
anchors.verticalCenter: parent.verticalCenter
|
anchors.leftMargin: 0
|
||||||
font.weight: Font.Medium
|
anchors.top: aboutTabButton.bottom
|
||||||
font.pixelSize: 14
|
anchors.topMargin: 0
|
||||||
}
|
background: Rectangle {
|
||||||
|
color: Theme.transparent
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element10
|
||||||
|
color: "#000000"
|
||||||
|
text: qsTr("Sign out")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 72
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
font.weight: Font.Medium
|
||||||
|
font.pixelSize: 14
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,61 +4,54 @@ import QtQuick.Layouts 1.3
|
||||||
import QtQuick.Controls 2.3
|
import QtQuick.Controls 2.3
|
||||||
import "../../../../imports"
|
import "../../../../imports"
|
||||||
|
|
||||||
RowLayout {
|
Rectangle {
|
||||||
id: profileHeader
|
id: profileHeaderContent
|
||||||
height: 240
|
height: parent.height
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
width: profileInfoContainer.w
|
|
||||||
|
|
||||||
Rectangle {
|
Item {
|
||||||
id: profileHeaderContent
|
id: profileImgNameContainer
|
||||||
height: parent.height
|
width: profileHeaderContent.width
|
||||||
Layout.fillWidth: true
|
height: profileHeaderContent.height
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
anchors.top: parent.top
|
||||||
|
|
||||||
Item {
|
Image {
|
||||||
id: profileImgNameContainer
|
id: profileImg
|
||||||
width: profileHeaderContent.width
|
source: profileModel.profile.identicon
|
||||||
height: profileHeaderContent.height
|
width: 80
|
||||||
|
height: 80
|
||||||
|
fillMode: Image.PreserveAspectCrop
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
anchors.top: parent.top
|
|
||||||
|
|
||||||
Image {
|
property bool rounded: true
|
||||||
id: profileImg
|
property bool adapt: false
|
||||||
source: profileModel.profile.identicon
|
y: 78
|
||||||
width: 80
|
|
||||||
height: 80
|
|
||||||
fillMode: Image.PreserveAspectCrop
|
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
|
||||||
|
|
||||||
property bool rounded: true
|
layer.enabled: rounded
|
||||||
property bool adapt: false
|
layer.effect: OpacityMask {
|
||||||
y: 78
|
maskSource: Item {
|
||||||
|
width: profileImg.width
|
||||||
layer.enabled: rounded
|
height: profileImg.height
|
||||||
layer.effect: OpacityMask {
|
Rectangle {
|
||||||
maskSource: Item {
|
anchors.centerIn: parent
|
||||||
width: profileImg.width
|
width: profileImg.adapt ? profileImg.width : Math.min(profileImg.width, profileImg.height)
|
||||||
height: profileImg.height
|
height: profileImg.adapt ? profileImg.height : width
|
||||||
Rectangle {
|
radius: Math.min(width, height)
|
||||||
anchors.centerIn: parent
|
|
||||||
width: profileImg.adapt ? profileImg.width : Math.min(profileImg.width, profileImg.height)
|
|
||||||
height: profileImg.adapt ? profileImg.height : width
|
|
||||||
radius: Math.min(width, height)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
id: profileName
|
id: profileName
|
||||||
text: profileModel.profile.username
|
text: profileModel.profile.username
|
||||||
anchors.top: profileImg.bottom
|
anchors.top: profileImg.bottom
|
||||||
anchors.topMargin: 10
|
anchors.topMargin: 10
|
||||||
anchors.horizontalCenterOffset: 0
|
anchors.horizontalCenterOffset: 0
|
||||||
anchors.horizontalCenter: parent.horizontalCenter
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
font.weight: Font.Medium
|
font.weight: Font.Medium
|
||||||
font.pixelSize: 20
|
font.pixelSize: 20
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ import QtQuick.Layouts 1.3
|
||||||
import Qt.labs.platform 1.1
|
import Qt.labs.platform 1.1
|
||||||
import "../../../imports"
|
import "../../../imports"
|
||||||
import "../../../shared"
|
import "../../../shared"
|
||||||
|
import "./Sections"
|
||||||
import "."
|
import "."
|
||||||
|
|
||||||
Item {
|
Item {
|
||||||
|
@ -31,264 +32,25 @@ Item {
|
||||||
anchors.leftMargin: 0
|
anchors.leftMargin: 0
|
||||||
currentIndex: leftTab.currentTab
|
currentIndex: leftTab.currentTab
|
||||||
|
|
||||||
Item {
|
EnsContainer {}
|
||||||
id: ensContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
ContactsContainer {}
|
||||||
id: element1
|
|
||||||
text: qsTr("ENS usernames")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
PrivacyContainer {}
|
||||||
id: contactsContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
SyncContainer {}
|
||||||
id: element2
|
|
||||||
text: qsTr("Contacts")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
|
|
||||||
Component {
|
LanguageContainer {}
|
||||||
id: contactsList
|
|
||||||
|
|
||||||
Item {
|
NotificationsContainer {}
|
||||||
height: 56
|
|
||||||
anchors.right: parent.right
|
|
||||||
anchors.rightMargin: 0
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 0
|
|
||||||
Column {
|
|
||||||
Row {
|
|
||||||
Text {
|
|
||||||
text: name
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 14
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Row {
|
|
||||||
Text {
|
|
||||||
text: address
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 12
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ListView {
|
AdvancedContainer {}
|
||||||
id: contactListView
|
|
||||||
anchors.topMargin: 48
|
|
||||||
anchors.top: element2.bottom
|
|
||||||
anchors.fill: parent
|
|
||||||
model: profileModel.contactList
|
|
||||||
delegate: contactsList
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
HelpContainer {}
|
||||||
|
|
||||||
Item {
|
AboutContainer {}
|
||||||
id: privacyContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
SignoutContainer {}
|
||||||
id: element3
|
|
||||||
text: qsTr("Privacy and security settings")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: syncContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element4
|
|
||||||
text: qsTr("Sync settings")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
Component {
|
|
||||||
id: mailserversList
|
|
||||||
|
|
||||||
RadioButton {
|
|
||||||
text: name
|
|
||||||
checked: index == 0 ? true: false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
ListView {
|
|
||||||
id: mailServersListView
|
|
||||||
anchors.topMargin: 48
|
|
||||||
anchors.top: element4.bottom
|
|
||||||
anchors.fill: parent
|
|
||||||
model: profileModel.mailserversList
|
|
||||||
delegate: mailserversList
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: languageContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element5
|
|
||||||
text: qsTr("Language settings")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: notificationsContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element6
|
|
||||||
text: qsTr("Notifications settings")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: advancedContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element7
|
|
||||||
text: qsTr("Advanced settings")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: helpContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element8
|
|
||||||
text: qsTr("Help menus: FAQ, Glossary, etc.")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
anchors.centerIn: parent
|
|
||||||
text: "<a href='https://status.im/docs/FAQs.html'>Frequently asked questions</a>"
|
|
||||||
onLinkActivated: Qt.openUrlExternally(link)
|
|
||||||
|
|
||||||
MouseArea {
|
|
||||||
anchors.fill: parent
|
|
||||||
acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text
|
|
||||||
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: aboutContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element9
|
|
||||||
text: qsTr("About the app")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Item {
|
|
||||||
id: signoutContainer
|
|
||||||
width: 200
|
|
||||||
height: 200
|
|
||||||
Layout.fillHeight: true
|
|
||||||
Layout.fillWidth: true
|
|
||||||
|
|
||||||
Text {
|
|
||||||
id: element10
|
|
||||||
text: qsTr("Sign out controls")
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.leftMargin: 24
|
|
||||||
anchors.top: parent.top
|
|
||||||
anchors.topMargin: 24
|
|
||||||
font.weight: Font.Bold
|
|
||||||
font.pixelSize: 20
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: aboutContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element9
|
||||||
|
text: qsTr("About the app")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: advancedContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element7
|
||||||
|
text: qsTr("Advanced settings")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,60 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: contactsContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element2
|
||||||
|
text: qsTr("Contacts")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: contactsList
|
||||||
|
|
||||||
|
Item {
|
||||||
|
height: 56
|
||||||
|
anchors.right: parent.right
|
||||||
|
anchors.rightMargin: 0
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 0
|
||||||
|
Column {
|
||||||
|
Row {
|
||||||
|
Text {
|
||||||
|
text: name
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 14
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Row {
|
||||||
|
Text {
|
||||||
|
text: address
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 12
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListView {
|
||||||
|
id: contactListView
|
||||||
|
anchors.topMargin: 48
|
||||||
|
anchors.top: element2.bottom
|
||||||
|
anchors.fill: parent
|
||||||
|
model: profileModel.contactList
|
||||||
|
delegate: contactsList
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: ensContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element1
|
||||||
|
text: qsTr("ENS usernames")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: helpContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element8
|
||||||
|
text: qsTr("Help menus: FAQ, Glossary, etc.")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
text: "<a href='https://status.im/docs/FAQs.html'>Frequently asked questions</a>"
|
||||||
|
onLinkActivated: Qt.openUrlExternally(link)
|
||||||
|
|
||||||
|
MouseArea {
|
||||||
|
anchors.fill: parent
|
||||||
|
acceptedButtons: Qt.NoButton // we don't want to eat clicks on the Text
|
||||||
|
cursorShape: parent.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: languageContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element5
|
||||||
|
text: qsTr("Language settings")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: notificationsContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element6
|
||||||
|
text: qsTr("Notifications settings")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: privacyContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element3
|
||||||
|
text: qsTr("Privacy and security settings")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,23 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: signoutContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element10
|
||||||
|
text: qsTr("Sign out controls")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
import QtQuick 2.3
|
||||||
|
import QtQuick.Layouts 1.3
|
||||||
|
import QtQuick.Controls 2.3
|
||||||
|
import "../../../../imports"
|
||||||
|
|
||||||
|
Item {
|
||||||
|
id: syncContainer
|
||||||
|
width: 200
|
||||||
|
height: 200
|
||||||
|
Layout.fillHeight: true
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: element4
|
||||||
|
text: qsTr("Sync settings")
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.leftMargin: 24
|
||||||
|
anchors.top: parent.top
|
||||||
|
anchors.topMargin: 24
|
||||||
|
font.weight: Font.Bold
|
||||||
|
font.pixelSize: 20
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Component {
|
||||||
|
id: mailserversList
|
||||||
|
|
||||||
|
RadioButton {
|
||||||
|
text: name
|
||||||
|
checked: index == 0 ? true: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ListView {
|
||||||
|
id: mailServersListView
|
||||||
|
anchors.topMargin: 48
|
||||||
|
anchors.top: element4.bottom
|
||||||
|
anchors.fill: parent
|
||||||
|
model: profileModel.mailserversList
|
||||||
|
delegate: mailserversList
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
EnsContainer 1.0 EnsContainer.qml
|
||||||
|
ContactsContainer 1.0 ContactsContainer.qml
|
||||||
|
PrivacyContainer 1.0 PrivacyContainer.qml
|
||||||
|
SyncContainer 1.0 SyncContainer.qml
|
||||||
|
LanguageContainer 1.0 LanguageContainer.qml
|
||||||
|
NotificationsContainer 1.0 NotificationsContainer.qml
|
||||||
|
AdvancedContainer 1.0 AdvancedContainer.qml
|
||||||
|
HelpContainer 1.0 HelpContainer.qml
|
||||||
|
AboutContainer 1.0 AboutContainer.qml
|
||||||
|
SignoutContainer 1.0 SignoutContainer.qml
|
Loading…
Reference in New Issue