mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 22:04:56 +00:00
Complete Qt6/QML native frontend matching the old/ React 5-level platform: - Qt5→Qt6 migration: versioned imports, TabView→TabBar+StackLayout, QtGraphicalEffects removed, QAudioOutput→stub, QJSValue::engine() fix - Migrate from local qmllib/Material (35 components) to shared /qml/ QmlComponents 1.0 library (119 components, 9 themes, 19 languages) - 5-level auth system with seed users (demo/admin/god/super) - Level 1: FrontPage, LoginView - Level 2: DashboardView, ProfileView, CommentsView - Level 3: AdminView (10 entities, full CRUD, search, filter, pagination) - Level 4: GodPanel (13-tab builder) with SchemaEditor, WorkflowEditor, LuaEditor, DatabaseManager, PageRoutesManager, ComponentHierarchyEditor, CssClassManager, DropdownConfigManager, UserManagement, ThemeEditor, SMTPConfigEditor - Level 5: SuperGodPanel (tenants, god users, power transfer, system health) - Remove unused cpr dependency, fix conan Qt build (qtshadertools) - Add ROADMAP.md with 10-phase plan including DBAL integration and Python+Jinja2 CMake generator 25 QML views (~12,800 LOC), 6 C++ files, 22 package views. Builds successfully: Qt 6.7.3, MSVC 19.5, C++20. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 lines
1.1 KiB
QML
43 lines
1.1 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QmlComponents 1.0
|
|
|
|
CPaper {
|
|
id: panel
|
|
width: 420
|
|
implicitHeight: contentCol.implicitHeight + 32
|
|
|
|
ColumnLayout {
|
|
id: contentCol
|
|
anchors.fill: parent
|
|
anchors.margins: 16
|
|
spacing: 14
|
|
|
|
CText { variant: "h4"; text: "MOD Player" }
|
|
CText {
|
|
variant: "body2"
|
|
text: "Play the procedural Retro Gaming MOD and watch the visualizer react."
|
|
}
|
|
|
|
FlexRow {
|
|
spacing: 12
|
|
CButton {
|
|
text: ModPlayer.playing ? "Replay MOD" : "Play MOD"
|
|
variant: "primary"
|
|
onClicked: ModPlayer.play("frontends/qt6/assets/audio/retro-gaming.mod")
|
|
}
|
|
CButton {
|
|
text: "Stop"
|
|
variant: "ghost"
|
|
onClicked: ModPlayer.stop()
|
|
enabled: ModPlayer.playing
|
|
}
|
|
}
|
|
|
|
CStatusBadge {
|
|
status: ModPlayer.playing ? "success" : "info"
|
|
text: ModPlayer.playing ? "Playing" : "Idle"
|
|
}
|
|
}
|
|
}
|