Files
RedBear-OS/local/recipes/qt/qtdeclarative/source/examples/quick/pointerhandlers/sidebar.qml
T
vasilito f31522130f fix: comprehensive boot warnings and exceptions — fixable silenced, unfixable diagnosed
Build system (5 gaps hardened):
- COOKBOOK_OFFLINE defaults to true (fork-mode)
- normalize_patch handles diff -ruN format
- New 'repo validate-patches' command (25/25 relibc patches)
- 14 patched Qt/Wayland/display recipes added to protected list
- relibc archive regenerated with current patch chain

Boot fixes (fixable):
- Full ISO EFI partition: 16 MiB → 1 MiB (matches mini, BIOS hardcoded 2 MiB offset)
- D-Bus system bus: absolute /usr/bin/dbus-daemon path (was skipped)
- redbear-sessiond: absolute /usr/bin/redbear-sessiond path (was skipped)
- daemon framework: silenced spurious INIT_NOTIFY warnings for oneshot_async services (P0-daemon-silence-init-notify.patch)
- udev-shim: demoted INIT_NOTIFY warning to INFO (expected for oneshot_async)
- relibc: comprehensive named semaphores (sem_open/close/unlink) replacing upstream todo!() stubs
- greeterd: Wayland socket timeout 15s → 30s (compositor DRM wait)
- greeter-ui: built and linked (header guard unification, sem_compat stubs removed)
- mc: un-ignored in both configs, fixed glib/libiconv/pcre2 transitive deps
- greeter config: removed stale keymapd dependency from display/greeter services
- prefix toolchain: relibc headers synced, _RELIBC_STDLIB_H guard unified

Unfixable (diagnosed, upstream):
- i2c-hidd: abort on no-I2C-hardware (QEMU) — process::exit → relibc abort
- kded6/greeter-ui: page fault 0x8 — Qt library null deref
- Thread panics fd != -1 — Rust std library on Redox
- DHCP timeout / eth0 MAC — QEMU user-mode networking
- hwrngd/thermald — no hardware RNG/thermal in VM
- live preload allocation — BIOS memory fragmentation, continues on demand
2026-05-05 20:20:37 +01:00

185 lines
4.6 KiB
QML

// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
import QtQuick
import "components"
Rectangle {
id: root
width: 640
height: 480
color: rootHover.hovered ? "#555" : "#444"
component ButtonsAndStuff: Column {
anchors.fill: parent
anchors.margins: 8
spacing: 8
CheckBox {
id: hoverBlockingCB
text: "Button hover is blocking"
}
Rectangle {
objectName: "buttonWithMA"
width: parent.width
height: 30
color: buttonMA.pressed ? "lightsteelblue" : "#999"
border.color: buttonMA.containsMouse ? "cyan" : "transparent"
MouseArea {
id: buttonMA
objectName: "buttonMA"
hoverEnabled: true
cursorShape: Qt.UpArrowCursor
anchors.fill: parent
onClicked: console.log("clicked MA")
}
Text {
anchors.centerIn: parent
text: "MouseArea"
}
}
Rectangle {
objectName: "buttonWithHH"
width: parent.width
height: 30
color: flash ? "#999" : "white"
border.color: buttonHH.hovered ? "cyan" : "transparent"
property bool flash: true
HoverHandler {
id: buttonHH
objectName: "buttonHH"
acceptedDevices: PointerDevice.AllDevices
blocking: hoverBlockingCB.checked
cursorShape: tapHandler.pressed ? Qt.BusyCursor : Qt.PointingHandCursor
}
TapHandler {
id: tapHandler
onTapped: tapFlash.start()
}
Text {
anchors.centerIn: parent
text: "HoverHandler"
}
FlashAnimation on flash {
id: tapFlash
}
}
}
Rectangle {
id: paddle
width: 100
height: 40
color: paddleHH.hovered ? "indianred" : "#888"
y: parent.height - 100
radius: 10
HoverHandler {
id: paddleHH
objectName: "paddleHH"
}
SequentialAnimation on x {
NumberAnimation {
to: root.width - paddle.width
duration: 2000
easing { type: Easing.InOutQuad }
}
PauseAnimation { duration: 100 }
NumberAnimation {
to: 0
duration: 2000
easing { type: Easing.InOutQuad }
}
PauseAnimation { duration: 100 }
loops: Animation.Infinite
}
}
Rectangle {
objectName: "topSidebar"
radius: 5
antialiasing: true
x: -10
y: -radius
width: 200
height: 200
border.color: topSidebarHH.hovered ? "cyan" : "black"
color: "#777"
Rectangle {
color: "cyan"
width: 10
height: width
radius: width / 2
visible: topSidebarHH.hovered
x: topSidebarHH.point.position.x - width / 2
y: topSidebarHH.point.position.y - height / 2
z: 100
}
HoverHandler {
id: topSidebarHH
objectName: "topSidebarHH"
cursorShape: Qt.OpenHandCursor
}
ButtonsAndStuff {
anchors.fill: parent
}
Text {
anchors { left: parent.left; bottom: parent.bottom; margins: 12 }
text: "Hover Handler"
}
}
Rectangle {
objectName: "bottomSidebar"
radius: 5
antialiasing: true
x: -10
anchors.bottom: parent.bottom
anchors.bottomMargin: -radius
width: 200
height: 200
border.color: bottomSidebarMA.containsMouse ? "cyan" : "black"
color: "#777"
MouseArea {
id: bottomSidebarMA
objectName: "bottomSidebarMA"
hoverEnabled: true
cursorShape: Qt.ClosedHandCursor
anchors.fill: parent
ButtonsAndStuff {
anchors.fill: parent
}
}
Text {
anchors { left: parent.left; bottom: parent.bottom; margins: 12 }
text: "MouseArea"
}
}
HoverHandler {
id: rootHover
}
Text {
anchors.right: parent.right
color: "cyan"
text: "scene " + rootHover.point.scenePosition.x.toFixed(1) + ", " + rootHover.point.scenePosition.y.toFixed(1)
}
}