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
44 lines
2.0 KiB
Bash
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"
|