New HTabbedBoxes component, base AddChat on it
This commit is contained in:
parent
883d1c095b
commit
28b3727e88
42
src/qml/Base/HTabbedBoxes.qml
Normal file
42
src/qml/Base/HTabbedBoxes.qml
Normal file
|
@ -0,0 +1,42 @@
|
|||
import QtQuick 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.12
|
||||
|
||||
HColumnLayout {
|
||||
implicitWidth: Math.min(
|
||||
parent.width,
|
||||
Math.max(tabBar.contentWidth, swipeView.contentWidth),
|
||||
)
|
||||
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.fillWidth: false
|
||||
Layout.fillHeight: false
|
||||
|
||||
property alias tabIndex: tabBar.currentIndex
|
||||
property alias tabModel: tabRepeater.model
|
||||
default property alias boxes: swipeView.contentData
|
||||
|
||||
HTabBar {
|
||||
id: tabBar
|
||||
Component.onCompleted: shortcuts.tabsTarget = this
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
Repeater {
|
||||
id: tabRepeater
|
||||
HTabButton { text: modelData }
|
||||
}
|
||||
}
|
||||
|
||||
SwipeView {
|
||||
id: swipeView
|
||||
clip: true
|
||||
currentIndex: tabBar.currentIndex
|
||||
interactive: false
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
Behavior on implicitWidth { HNumberAnimation {} }
|
||||
Behavior on implicitHeight { HNumberAnimation {} }
|
||||
}
|
||||
}
|
|
@ -6,7 +6,6 @@ import "../../utils.js" as Utils
|
|||
|
||||
HPage {
|
||||
id: addChatPage
|
||||
onFocusChanged: findSomeone.forceActiveFocus()
|
||||
|
||||
|
||||
property string userId
|
||||
|
@ -15,48 +14,13 @@ HPage {
|
|||
Utils.getItem(modelSources["Account"] || [], "user_id", userId)
|
||||
|
||||
|
||||
HColumnLayout {
|
||||
Layout.alignment: Qt.AlignCenter
|
||||
Layout.minimumWidth: Layout.maximumWidth
|
||||
Layout.maximumWidth: Math.min(
|
||||
parent.width,
|
||||
Math.max(tabBar.contentWidth, swipeView.contentWidth),
|
||||
)
|
||||
|
||||
HTabBar {
|
||||
id: tabBar
|
||||
currentIndex: 0
|
||||
Component.onCompleted: shortcuts.tabsTarget = this
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
Repeater {
|
||||
model: [
|
||||
qsTr("Find someone"),
|
||||
qsTr("Join room"),
|
||||
qsTr("Create room"),
|
||||
HTabbedBoxes {
|
||||
tabModel: [
|
||||
qsTr("Find someone"), qsTr("Join room"), qsTr("Create room"),
|
||||
]
|
||||
|
||||
HTabButton {
|
||||
text: modelData
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SwipeView {
|
||||
id: swipeView
|
||||
clip: true
|
||||
currentIndex: tabBar.currentIndex
|
||||
interactive: false
|
||||
|
||||
Layout.fillWidth: true
|
||||
|
||||
Behavior on implicitWidth { HNumberAnimation {} }
|
||||
Behavior on implicitHeight { HNumberAnimation {} }
|
||||
|
||||
FindSomeone { id: findSomeone }
|
||||
FindSomeone { Component.onCompleted: forceActiveFocus() }
|
||||
JoinRoom {}
|
||||
CreateRoom {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user