Files
qbz/scripts/qt-runtime-gate.sh
T
vicrodh 7ca6c9fa80 fix(qt): a theme's options sit under its picker, boxed and collapsible
In Settings > Appearance the rows that exist only for one theme trailed the
whole THEME group: the Custom editor and the Auto source rows came after
Album header gradient, Compact header and Dynamic background. With a
Wallpaper background, Background image then ran straight into the Custom
editor and read as one of its options.

Each choice's options now follow their own picker inside a SettingsFieldset:
a bordered group with a header whose chevron folds it (> folded, v open).
The Custom and Auto theme options sit right under Theme, Custom starting at
"Start from current theme", and the Wallpaper background's Background image
sits under Dynamic background. The rows themselves are unchanged.

Each box keeps its folded state across restarts through settingsBool and
ui_prefs, the way the sidebar sections do (theme-custom-collapsed,
theme-auto-collapsed, ambient-options-collapsed; default open). Folding the
Custom box also closes an open color picker.

tst_settings_fieldset covers the rows inside the border, the header click
and keys, the settings below moving up, and a row click not toggling.

cc
2026-09-14 13:08:25 -06:00

44 lines
2.0 KiB
Bash

#!/usr/bin/env bash
# Shared Linux CI/local runtime gate. Serial builds, no personal profile.
set -euo pipefail
cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/.."
export QBZ_PREBUILT_SHADERS=1
# The same target qt-run.sh builds in: this worktree's own when the host shares
# one target across worktrees, Cargo's default otherwise (scripts/qt-target.py).
CARGO_TARGET_DIR="$(python3 scripts/qt-target.py resolve)"
export CARGO_TARGET_DIR
bash scripts/test-search-local-qml.sh
bash scripts/test-updates-qml.sh
bash scripts/test-playback-cache-qml.sh
bash scripts/test-text-edit-menu-qml.sh
bash scripts/test-compact-seek-qml.sh
bash scripts/test-library-folders-qml.sh
bash scripts/test-array-model-qml.sh
bash scripts/test-keyed-model-qml.sh
bash scripts/test-multi-select-qml.sh
bash scripts/test-settings-fieldset-qml.sh
bash scripts/test-wallpaper-field-qml.sh
bash scripts/test-card-menu-qml.sh
bash scripts/test-orbit-qml.sh
node scripts/test_qt_local_views.mjs
node scripts/test_qt_library.mjs
node scripts/test_qt_purchases_navigation.mjs
node scripts/test_qt_kiosk_art.mjs
node scripts/test_qt_kiosk_navigation.mjs
node scripts/test_qt_kiosk_feedback.mjs
node scripts/test_qt_exclusive_gate.mjs
python3 scripts/qt-cargo.py test --manifest-path crates/Cargo.toml -p qbz-qt --no-fail-fast
target_dir="$CARGO_TARGET_DIR"
logs="$(mktemp -d "${TMPDIR:-/tmp}/qbz-qt-gate-XXXXXX")"
printf '[qt-gate] startup logs: %s\n' "$logs"
for profile in debug release; do
args=()
[[ "$profile" == release ]] && args=(--release)
python3 scripts/qt-cargo.py build "${args[@]}" --manifest-path crates/Cargo.toml -p qbz-qt
python3 scripts/qt-smoke.py "$target_dir/$profile/qbz" --log "$logs/$profile.log"
done
python3 scripts/qt-target.py link --target-dir "$target_dir" \
|| printf '[qt-gate] crates/target not re-pointed; binaries are in %s\n' "$target_dir" >&2
# A healthy offscreen bus cannot expose Qt's synchronous xcb D-Bus startup.
python3 scripts/qt-smoke.py "$target_dir/release/qbz" --silent-bus --log "$logs/release-silent-bus.log"