moment/src/gui/Base/HTabbedBox.qml
miruka da4a5ab5cd Rework HBox-based pages and account settings
- 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)
2020-06-25 08:49:27 -04:00

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()
}
}