ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
118 lines
2.9 KiB
QML
118 lines
2.9 KiB
QML
// Copyright (C) 2025 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
|
|
Page {
|
|
id: settingsDrawer
|
|
default property alias content: contentLayout.children
|
|
required property bool isLandscape
|
|
readonly property bool isMobile: Qt.platform.os === "android" || Qt.platform.os === "ios"
|
|
property bool isOpen: isMobile ? false : true
|
|
|
|
title: "Settings"
|
|
|
|
onIsLandscapeChanged: updateState();
|
|
Component.onCompleted: updateState();
|
|
onIsOpenChanged: updateState();
|
|
x: 0
|
|
y: 0
|
|
|
|
function updateState() {
|
|
if (isOpen)
|
|
if (isLandscape)
|
|
settingsDrawer.state = "Landscape_Visible"
|
|
else
|
|
settingsDrawer.state = "Portrait_Visible"
|
|
else
|
|
if (isLandscape)
|
|
settingsDrawer.state = "Landscape_Hidden"
|
|
else
|
|
settingsDrawer.state = "Portrait_Hidden"
|
|
}
|
|
|
|
states: [
|
|
State {
|
|
name: "Landscape_Visible"
|
|
PropertyChanges {
|
|
settingsDrawer.x: 0
|
|
}
|
|
},
|
|
State {
|
|
name: "Landscape_Hidden"
|
|
PropertyChanges {
|
|
settingsDrawer.x: -settingsDrawer.width
|
|
}
|
|
},
|
|
State {
|
|
name: "Portrait_Visible"
|
|
PropertyChanges {
|
|
settingsDrawer.y: 0
|
|
}
|
|
},
|
|
State {
|
|
name: "Portrait_Hidden"
|
|
PropertyChanges {
|
|
settingsDrawer.y: -settingsDrawer.height
|
|
}
|
|
}
|
|
]
|
|
|
|
transitions: [
|
|
Transition {
|
|
from: "Landscape_Visible"
|
|
to: "Landscape_Hidden"
|
|
NumberAnimation {
|
|
duration: 400
|
|
property: "x"
|
|
easing.type: Easing.InOutQuad
|
|
}
|
|
},
|
|
Transition {
|
|
from: "Landscape_Hidden"
|
|
to: "Landscape_Visible"
|
|
NumberAnimation {
|
|
duration: 400
|
|
property: "x"
|
|
easing.type: Easing.InOutQuad
|
|
}
|
|
},
|
|
Transition {
|
|
from: "Portrait_Visible"
|
|
to: "Portrait_Hidden"
|
|
NumberAnimation {
|
|
duration: 400
|
|
property: "y"
|
|
easing.type: Easing.InOutQuad
|
|
}
|
|
},
|
|
Transition {
|
|
from: "Portrait_Hidden"
|
|
to: "Portrait_Visible"
|
|
NumberAnimation {
|
|
duration: 400
|
|
property: "y"
|
|
easing.type: Easing.InOutQuad
|
|
}
|
|
}
|
|
]
|
|
|
|
header: Label {
|
|
text: settingsDrawer.title
|
|
horizontalAlignment: Text.AlignHCenter
|
|
verticalAlignment: Text.AlignVCenter
|
|
font.pointSize: 20
|
|
}
|
|
|
|
ScrollView {
|
|
anchors.fill: parent
|
|
padding: 10
|
|
|
|
ColumnLayout {
|
|
id: contentLayout
|
|
}
|
|
}
|
|
}
|