forked from Shinonome/alt-illogical-impulse
ac6d3adeb9
BREAKING CHANGE: Remove external dots-hyprland dependency - Imported all essential configs from dots-hyprland/installer-replication - Added complete configs/ directory with: - hypr/ - Hyprland configuration - quickshell/ - Quickshell widgets and config - applications/ - Application configurations - scripts/ - Utility scripts - matugen/ - Material You theming - Updated flake.nix to use local ./configs instead of external repo - Simplified update-flake script (removed external repo management) - Updated README to reflect self-contained architecture - All builds pass with local configurations Benefits: - No external repository dependencies - Faster builds (no network dependencies) - Version controlled configs in single repo - Easier maintenance and development - Complete installer replication in one place
42 lines
1.4 KiB
QML
42 lines
1.4 KiB
QML
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
|
|
Item {
|
|
id: root
|
|
property int currentIndex: 0
|
|
property bool expanded: false
|
|
default property alias data: tabBarColumn.data
|
|
implicitHeight: tabBarColumn.implicitHeight
|
|
implicitWidth: tabBarColumn.implicitWidth
|
|
Layout.topMargin: 25
|
|
Rectangle {
|
|
property real itemHeight: tabBarColumn.children[0].baseSize
|
|
property real baseHighlightHeight: tabBarColumn.children[0].baseHighlightHeight
|
|
anchors {
|
|
top: tabBarColumn.top
|
|
left: tabBarColumn.left
|
|
topMargin: itemHeight * root.currentIndex + (root.expanded ? 0 : ((itemHeight - baseHighlightHeight) / 2))
|
|
}
|
|
radius: Appearance.rounding.full
|
|
color: Appearance.colors.colSecondaryContainer
|
|
implicitHeight: root.expanded ? itemHeight : baseHighlightHeight
|
|
implicitWidth: tabBarColumn.children[root.currentIndex].visualWidth
|
|
|
|
Behavior on anchors.topMargin {
|
|
NumberAnimation {
|
|
duration: Appearance.animationCurves.expressiveFastSpatialDuration
|
|
easing.type: Appearance.animation.elementMove.type
|
|
easing.bezierCurve: Appearance.animationCurves.expressiveFastSpatial
|
|
}
|
|
}
|
|
}
|
|
ColumnLayout {
|
|
id: tabBarColumn
|
|
anchors.fill: parent
|
|
spacing: 0
|
|
|
|
}
|
|
}
|