da4a5ab5cd
- Refactor everything about HBox, and adapt all the pages and popups that used it - Replace HTabContainer by HTabbedBox - Make boxes swippable - Make esc presses in boxes click the cancel button - Make all boxes and popups scrollable when needed - Replace generic apply button icons in popups - Fix tab focus for error and invite popups - Rework (still WIP) the account settings page: - Use the standard tabbed design of other pages - Ditch the horizontal profile layout, hacky and impossible to extend - Add real-time coloring for the display name field - Implement a device list in account settings (Sessions, still WIP)
46 lines
966 B
QML
46 lines
966 B
QML
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
import QtQuick 2.12
|
|
import QtQuick.Controls 2.12
|
|
import QtQuick.Layouts 1.12
|
|
|
|
HPage {
|
|
default property alias swipeViewData: swipeView.contentData
|
|
|
|
|
|
contentWidth:
|
|
Math.max(swipeView.contentWidth, theme.controls.box.defaultWidth)
|
|
|
|
header: HTabBar {}
|
|
|
|
background: Rectangle {
|
|
color: theme.controls.box.background
|
|
radius: theme.controls.box.radius
|
|
}
|
|
|
|
HNumberAnimation on scale {
|
|
running: true
|
|
from: 0
|
|
to: 1
|
|
overshoot: 3
|
|
}
|
|
|
|
Behavior on implicitWidth { HNumberAnimation {} }
|
|
Behavior on implicitHeight { HNumberAnimation {} }
|
|
|
|
Binding {
|
|
target: header
|
|
property: "currentIndex"
|
|
value: swipeView.currentIndex
|
|
}
|
|
|
|
SwipeView {
|
|
id: swipeView
|
|
anchors.fill: parent
|
|
clip: true
|
|
currentIndex: header.currentIndex
|
|
|
|
onCurrentItemChanged: currentItem.takeFocus()
|
|
}
|
|
}
|