Add "Edit Account" interface skeleton

This commit is contained in:
miruka 2019-07-13 05:34:58 -04:00
parent 6dab79ae9a
commit 6916039546
7 changed files with 139 additions and 13 deletions

View File

@ -1,13 +1,13 @@
- Rename theme.bottomElementsHeight
- Qt 5.12
- New input handlers
- ECMAScript 7
- .mjs modules
- inset properties
- `ToolTip.hide()`/`show()`
- horizontal & vertical padding props
- Refactoring
- Don't bake in size properties for components
- Unfinished work in button-refactor branch
- Bug fixes
- Past events loading (limit 100) freezes the GUI - need to move upsert func
@ -19,7 +19,6 @@
- "Rejoin" LeftBanner button if room is public
- Daybreak color
- Html links color
- [debug mode](https://docs.python.org/3/library/asyncio-dev.html)
- `pyotherside.atexit()`
- Way to put sidepane back to auto-sizing (snap)
- Better look for arrows when sidepane collapsed
@ -57,6 +56,7 @@
- Links preview
- Client improvements
- [debug mode](https://docs.python.org/3/library/asyncio-dev.html)
- More intelligent thumbnails downloading for different sizes
- Filtering rooms: search more than display names?
- Initial sync filter and lazy load, see weechat-matrix `_handle_login()`

View File

@ -0,0 +1,15 @@
// Copyright 2019 miruka
// This file is part of harmonyqml, licensed under LGPLv3.
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import "../../Base"
import "../../utils.js" as Utils
HRectangle {
HLabel {
anchors.centerIn: parent
text: "Client - TODO"
}
}

View File

@ -0,0 +1,15 @@
// Copyright 2019 miruka
// This file is part of harmonyqml, licensed under LGPLv3.
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import "../../Base"
import "../../utils.js" as Utils
HRectangle {
HLabel {
anchors.centerIn: parent
text: "Devices - TODO"
}
}

View File

@ -0,0 +1,72 @@
// Copyright 2019 miruka
// This file is part of harmonyqml, licensed under LGPLv3.
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import "../../Base"
import "../../utils.js" as Utils
HRectangle {
property string userId: ""
readonly property var userInfo: users.find(userId)
HColumnLayout {
anchors.fill: parent
HRowLayout {
Layout.preferredHeight: theme.bottomElementsHeight
HLabel {
text: qsTr("Edit %1").arg(
Utils.coloredNameHtml(userInfo.displayName, userId)
)
textFormat: Text.StyledText
font.pixelSize: theme.fontSize.big
elide: Text.ElideRight
maximumLineCount: 1
// visible: width > 50
Layout.fillWidth: true
Layout.maximumWidth: parent.width - tabBar.width
Layout.leftMargin: 8
Layout.rightMargin: Layout.leftMargin
}
TabBar {
id: tabBar
currentIndex: swipeView.currentIndex
spacing: 0
contentHeight: parent.height
TabButton {
text: qsTr("Profile")
width: implicitWidth * 1.25
}
TabButton {
text: qsTr("Devices")
width: implicitWidth * 1.25
}
TabButton {
text: qsTr("Harmony")
width: implicitWidth * 1.25
}
}
}
SwipeView {
id: swipeView
clip: true
currentIndex: tabBar.currentIndex
Layout.fillHeight: true
Layout.fillWidth: true
Profile {}
Devices {}
ClientSettings {}
}
}
}

View File

@ -0,0 +1,15 @@
// Copyright 2019 miruka
// This file is part of harmonyqml, licensed under LGPLv3.
import QtQuick 2.12
import QtQuick.Controls 2.12
import QtQuick.Layouts 1.12
import "../../Base"
import "../../utils.js" as Utils
HRectangle {
HLabel {
anchors.centerIn: parent
text: "profile"
}
}

View File

@ -1,8 +1,8 @@
// Copyright 2019 miruka
// This file is part of harmonyqml, licensed under LGPLv3.
import QtQuick 2.7
import QtQuick.Layouts 1.3
import QtQuick 2.12
import QtQuick.Layouts 1.12
import "../Base"
Column {
@ -10,9 +10,14 @@ Column {
width: parent.width
property var userInfo: users.find(model.userId)
property bool expanded: true
TapHandler {
onTapped: pageStack.showPage(
"EditAccount/EditAccount", { "userId": model.userId }
)
}
HHighlightRectangle {
width: parent.width
height: childrenRect.height

View File

@ -15,7 +15,7 @@ Item {
target: py
onWillLoadAccounts: function(will) {
pageStack.showPage(will ? "Default": "SignIn")
// if (will) {initialRoomTimer.start()}
if (will) {initialRoomTimer.start()}
}
}
@ -86,12 +86,16 @@ Item {
Timer {
// TODO: remove this, debug
id: initialRoomTimer
interval: 4000
interval: 2000
repeat: false
onTriggered: pageStack.showRoom(
"@test_mary:matrix.org",
"Rooms",
"!TSXGsbBbdwsdylIOJZ:matrix.org"
// onTriggered: pageStack.showRoom(
// "@test_mary:matrix.org",
// "Rooms",
// "!TSXGsbBbdwsdylIOJZ:matrix.org"
// )
onTriggered: pageStack.showPage(
"EditAccount/EditAccount",
{"userId": "@test_mary:matrix.org"}
)
}