feat(a11y): extend Accessible annotations to all widget + view QML files

Continues the a11y pass from the previous commit — adds objectName,
Accessible.role, Accessible.name to all remaining qml/MetaBuilder/,
qml/qt6/, and qml/widgets/ files. Widget files also get activeFocusOnTab
on interactive elements and dynamic Accessible.name bindings.

Cleans up redundant addImportPath(projectRoot) call in main.cpp.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-19 20:47:28 +00:00
parent 5456f7eb4c
commit 7ce9667c58
104 changed files with 380 additions and 15 deletions

View File

@@ -14,16 +14,20 @@ int main(int argc, char *argv[]) {
QGuiApplication app(argc, argv);
QQmlApplicationEngine engine;
// Add shared QML component library import paths
// No symlinks — directly reference the qml/ directory tree
const QString projectRoot = QDir::cleanPath(QStringLiteral(SRCDIR) + QStringLiteral("/../.."));
const QString qmlDir = projectRoot + QStringLiteral("/qml");
// Add qml/ parent so Qt finds "import QmlComponents 1.0" at qml/components/
// and "import MetaBuilder 1.0" at qml/MetaBuilder/
// QML import paths — no symlinks needed
// qml/qmldir has "module QmlComponents"
// qml/MetaBuilder/qmldir has "module MetaBuilder"
//
// Qt resolves "import X 1.0" by scanning import paths
// for a qmldir that declares "module X". Adding qml/
// as an import path lets Qt find the QmlComponents
// module (qml/qmldir) and MetaBuilder (qml/MetaBuilder/)
const QString projectRoot = QDir::cleanPath(
QStringLiteral(SRCDIR) + QStringLiteral("/../.."));
const QString qmlDir =
projectRoot + QStringLiteral("/qml");
if (QDir(qmlDir).exists()) {
engine.addImportPath(qmlDir);
engine.addImportPath(projectRoot);
}
PackageRegistry registry;

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "list_activity"
Accessible.role: Accessible.List
Accessible.name: "Recent Activity"
property var activities: []
property bool isDark: false

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "selector_adapter_pattern"
Accessible.role: Accessible.Pane
Accessible.name: "Multi-Adapter Pattern"
Layout.fillWidth: true
spacing: 12

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: addDropdownDialog
objectName: "dialog_add_dropdown"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
title: "Add New Dropdown"
property string dropdownName: ""

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: dlg
objectName: "dialog_add_field"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
title: "Add New Field"
property var fieldTypes: []
property string fieldName: ""

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: root
objectName: "dialog_add_route"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
property string newPath: ""
property string newTitle: ""

View File

@@ -3,6 +3,9 @@ import QtQuick.Layouts; import QmlComponents 1.0
import "../AdminCrud.js" as Crud
Rectangle {
id: panel; color: Theme.background
objectName: "panel_admin_content"
Accessible.role: Accessible.Pane
Accessible.name: "Admin Content Panel"
property var adminRoot
property var adminDlg
ColumnLayout {

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
Item {
id: root
objectName: "container_admin_dialogs"
Accessible.role: Accessible.Pane
Accessible.name: "Admin Dialogs"
property bool createDialogOpen: false
property bool editDialogOpen: false

View File

@@ -15,6 +15,9 @@ import QmlComponents 1.0
*/
Rectangle {
id: root
objectName: "bar_admin_stats"
Accessible.role: Accessible.Pane
Accessible.name: "Admin Statistics"
property var stats: [] // Array of { label, value, accent }
property bool isDark: Theme.mode === "dark"

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "toolbar_admin"
Accessible.role: Accessible.ToolBar
Accessible.name: "Admin Toolbar"
spacing: 12
property string selectedEntity: ""

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "section_backend_connection"
Accessible.role: Accessible.Pane
Accessible.name: "Backend Connection"
Layout.fillWidth: true
spacing: 16

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "panel_backend_detail"
Accessible.role: Accessible.Pane
Accessible.name: backend.name || "Backend"
Layout.fillWidth: true
Layout.fillHeight: true

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "sidebar_backend_list"
Accessible.role: Accessible.List
Accessible.name: "Backend List"
Layout.preferredWidth: 300
Layout.fillHeight: true

View File

@@ -2,6 +2,9 @@ import QtQuick
Canvas {
id: root
objectName: "canvas_grid"
Accessible.role: Accessible.Pane
Accessible.name: "Canvas Grid"
onPaint: {
var ctx = getContext("2d")

View File

@@ -4,6 +4,9 @@ import QtQuick.Layouts
MouseArea {
id: root
objectName: "area_canvas_interaction"
Accessible.role: Accessible.Pane
Accessible.name: "Canvas Interaction Area"
property bool drawingConnection: false

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Flickable {
id: canvas
objectName: "viewport_canvas"
Accessible.role: Accessible.Pane
Accessible.name: "Canvas Viewport"
property alias canvasContent: contentItem
property alias connectionLayer: connLayer

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "overlay_canvas_zoom"
Accessible.role: Accessible.ToolBar
Accessible.name: "Zoom Controls"
property real zoom: 1.0

View File

@@ -5,6 +5,11 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "card_comment"
Accessible.role: Accessible.Pane
Accessible.name: comment.username
? comment.username + " comment"
: "Comment"
required property var comment
property string currentUser: ""

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "card_comment_input"
Accessible.role: Accessible.Pane
Accessible.name: "Post a Comment"
activeFocusOnTab: true
property bool isDark: false
property bool loading: false

View File

@@ -5,6 +5,11 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "panel_component_properties"
Accessible.role: Accessible.Pane
Accessible.name: node
? node.name + " Properties"
: "Component Properties"
Layout.fillWidth: true
Layout.fillHeight: true
spacing: 14

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "list_component_props"
Accessible.role: Accessible.List
Accessible.name: "Custom Properties"
Layout.fillWidth: true
Layout.fillHeight: true
spacing: 8

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "row_component_tree"
Accessible.role: Accessible.ListItem
Accessible.name: node ? node.name : ""
activeFocusOnTab: true
property var node
property bool isSelected: false

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
FlexRow {
id: root
objectName: "legend_component_type"
Accessible.role: Accessible.Pane
Accessible.name: "Component Type Legend"
Layout.fillWidth: true
spacing: 6

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "card_config_stat"
Accessible.role: Accessible.StaticText
Accessible.name: label + ": " + value
property string label: ""
property string value: ""

View File

@@ -3,6 +3,9 @@ import QmlComponents 1.0
Canvas {
id: root
objectName: "layer_connection"
Accessible.role: Accessible.Pane
Accessible.name: "Connection Layer"
property var nodes: []
property var connections: ({})

View File

@@ -10,6 +10,9 @@ import "../dbal"
*/
ColumnLayout {
id: root
objectName: "panel_connection_test"
Accessible.role: Accessible.Pane
Accessible.name: "Connection Test"
spacing: 12
property bool isDark: Theme.mode === "dark"

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: dlg
objectName: "dialog_create_schema"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
title: "Create New Schema"
property string schemaName: ""
property string schemaDescription: ""

View File

@@ -9,6 +9,9 @@ import QmlComponents 1.0
*/
CCard {
id: root
objectName: "table_data"
Accessible.role: Accessible.Table
Accessible.name: "Data Table"
property var headers: []
property var fields: []

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
CCard {
id: envConfig
objectName: "card_database_env_config"
Accessible.role: Accessible.Pane
Accessible.name: "Environment Configuration"
Layout.fillWidth: true
property string databaseUrl: ""

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
FlexRow {
id: root
objectName: "row_database_stats"
Accessible.role: Accessible.Pane
Accessible.name: "Database Statistics"
Layout.fillWidth: true
spacing: 12

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: root
objectName: "dialog_delete_confirm"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
property string itemName: ""
property string description: "This action cannot be undone."

View File

@@ -4,6 +4,10 @@ import QmlComponents 1.0
CDialog {
id: root
objectName: "dialog_delete_dropdown"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
title: "Delete Dropdown"
property var dropdown: null

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
CDialog {
id: deleteRecordDialog
objectName: "dialog_delete_record"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
title: "Delete " + entity
property string entity: ""

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "panel_dropdown_editor"
Accessible.role: Accessible.Pane
Accessible.name: "Dropdown Editor"
Layout.fillWidth: true
Layout.fillHeight: true

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "menu_dropdown"
Accessible.role: Accessible.PopupMenu
Accessible.name: "Dropdown Menu"
property bool isDark: Theme.mode === "dark"
property var menuItems: []

View File

@@ -4,6 +4,10 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "menuitem_" + action
Accessible.role: Accessible.MenuItem
Accessible.name: label
activeFocusOnTab: true
property bool isDark: Theme.mode === "dark"
property string icon: ""

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "selector_encryption"
Accessible.role: Accessible.RadioGroup
Accessible.name: "Encryption"
property var options: ["None", "TLS", "SSL"]
property int selectedIndex: 1

View File

@@ -18,6 +18,10 @@ import QmlComponents 1.0
*/
CDialog {
id: root
objectName: "dialog_entity_form"
Accessible.role: Accessible.Dialog
Accessible.name: title
activeFocusOnTab: true
property string entity: "" // Entity type name (e.g. "User")
property var fields: [] // Array of { field, label, value? }

View File

@@ -16,6 +16,9 @@ import QmlComponents 1.0
*/
Rectangle {
id: root
objectName: "sidebar_entity"
Accessible.role: Accessible.Pane
Accessible.name: "Entity Sidebar"
property var entities: [] // Array of entity name strings
property string selectedEntity: "" // Currently selected entity

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
FlexRow {
id: root
objectName: "status_execution"
Accessible.role: Accessible.Indicator
Accessible.name: "Execution Status"
property string status: ""

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
Rectangle {
id: footer
objectName: "footer_frontpage"
Accessible.role: Accessible.Footer
Accessible.name: "Page Footer"
property color surfaceColor: "transparent"
property color textColor: Theme.textSecondary

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: guideTab
objectName: "tab_god_panel_guide"
Accessible.role: Accessible.PageTab
Accessible.name: "Guide"
color: "transparent"
required property var levelData

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "header_god_panel"
Accessible.role: Accessible.Heading
Accessible.name: "God Panel"
property var configCounts: ({})
property bool isDark: false
signal navigateLevel(int level)

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "tab_god_panel_settings"
Accessible.role: Accessible.PageTab
Accessible.name: "Settings"
color: "transparent"
required property bool isDark

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "card_god_user"
Accessible.role: Accessible.ListItem
Accessible.name: user ? user.username : ""
required property var user
property bool isDark: false

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "tab_god_users"
Accessible.role: Accessible.PageTab
Accessible.name: "God Users"
color: "transparent"
// ── Data ──

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "section_hero"
Accessible.role: Accessible.Pane
Accessible.name: "MetaBuilder Hero"
property string platformVersion: "0.9.1"
property bool isDark: false

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "progressbar_job"
Accessible.role: Accessible.ProgressBar
Accessible.name: "Job Progress"
Layout.fillWidth: true
Layout.preferredHeight: 20
color: "transparent"

View File

@@ -2,6 +2,9 @@ import QtQuick
Item {
id: shortcuts
objectName: "keyboard_shortcuts"
Accessible.role: Accessible.Pane
Accessible.name: "Keyboard Shortcuts"
required property var appWindow

View File

@@ -6,6 +6,9 @@ import QmlComponents 1.0
// Language selector pill (e.g. "EN")
Item {
id: root
Accessible.role: Accessible.Button
Accessible.name: "Language: "
+ currentLanguage
property string currentLanguage: "EN"
property bool isDark: Theme.mode === "dark"

View File

@@ -4,6 +4,10 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "card_level_" + level
Accessible.role: Accessible.Button
Accessible.name: name + " Level " + level
activeFocusOnTab: true
property int level: 1
property string name: ""

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "card_level_ref_" + levelNumber
Accessible.role: Accessible.ListItem
Accessible.name: levelName
property string levelName: ""
property string role: ""

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
Flow {
id: root
objectName: "flow_level_tags"
Accessible.role: Accessible.Pane
Accessible.name: "Level Tags"
property var tags: []
property color accent: "#94A3B8"

View File

@@ -5,6 +5,10 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "form_login"
Accessible.role: Accessible.Form
Accessible.name: "Login Form"
activeFocusOnTab: true
property bool isDark: false
property bool loading: false

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "mediaHeader"
Accessible.role: Accessible.Pane
Accessible.name: "Media service header"
Layout.fillWidth: true
property string serviceStatus: "unknown"

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "mediaJobsTab"
Accessible.role: Accessible.Pane
Accessible.name: "Media jobs"
color: "transparent"
property var jobs: []

View File

@@ -6,6 +6,8 @@ import QmlComponents 1.0
// Centered level navigation buttons for the app bar
Item {
id: root
Accessible.role: Accessible.MenuBar
Accessible.name: "Level navigation"
property string currentView: "frontpage"
property int currentLevel: 1
@@ -31,6 +33,8 @@ Item {
Repeater {
model: root.levels
delegate: CButton {
Accessible.role: Accessible.MenuItem
Accessible.name: modelData.label
visible: modelData.level <= root.currentLevel
text: modelData.label
variant: root.currentView === modelData.view

View File

@@ -6,6 +6,8 @@ import QmlComponents 1.0
// Bell icon with red notification dot
Item {
id: root
Accessible.role: Accessible.Button
Accessible.name: "Notifications"
property bool hasNotifications: true
property bool isDark: Theme.mode === "dark"

View File

@@ -7,6 +7,8 @@ import QmlComponents 1.0
// Settings
Rectangle {
id: root
Accessible.role: Accessible.Pane
Accessible.name: "Navigation"
property string currentView: "frontpage"
property int currentLevel: 1
@@ -74,6 +76,7 @@ Rectangle {
delegate: CListItem {
Layout.fillWidth: true
activeFocusOnTab: true
title: modelData.label
leadingIcon: modelData.icon
selected: root.currentView
@@ -96,6 +99,7 @@ Rectangle {
delegate: CListItem {
Layout.fillWidth: true
activeFocusOnTab: true
title: modelData.navLabel
? modelData.navLabel
: modelData.name
@@ -115,6 +119,7 @@ Rectangle {
CListItem {
Layout.fillWidth: true
activeFocusOnTab: true
title: "Settings"
leadingIcon: "S"
selected: root.currentView === "settings"

View File

@@ -23,6 +23,8 @@ Item {
id: avatarCircle
anchors.fill: parent
radius: 16
Accessible.role: Accessible.Button
Accessible.name: "User menu: " + root.username
color: avatarMA.containsMouse
? Qt.rgba(0.39, 0.4, 0.95, isDark ? 0.25 : 0.2)
: Qt.rgba(0.39, 0.4, 0.95, isDark ? 0.15 : 0.12)
@@ -48,6 +50,8 @@ Item {
// ── Dropdown menu ──
CDropdownMenu {
id: dropdownMenu
Accessible.role: Accessible.Menu
Accessible.name: "User actions"
visible: false
anchors.top: parent.bottom
anchors.right: parent.right

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: root
objectName: "dropdownExpandedList"
Accessible.role: Accessible.List
Accessible.name: "Dropdown options list"
property var options: []

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "dropdownGeneralForm"
Accessible.role: Accessible.Form
Accessible.name: "Dropdown general settings"
spacing: 16
property var dropdown: null

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: root
objectName: "dropdownOptionsEditor"
Accessible.role: Accessible.Form
Accessible.name: "Dropdown options editor"
spacing: 16
property var dropdown: null
signal addOptionClicked()

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CPaper {
id: root
objectName: "dropdownPreview"
Accessible.role: Accessible.Pane
Accessible.name: "Dropdown preview"
property var dropdown: null
implicitHeight: previewColumn.implicitHeight + 32

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
CCard {
id: root
objectName: "dropdownSidebar"
Accessible.role: Accessible.Pane
Accessible.name: "Dropdown sidebar"
property var dropdowns: []
property int selectedIndex: -1

View File

@@ -3,6 +3,9 @@ import QtQuick.Layouts
Rectangle {
id: card
objectName: "featureCard"
Accessible.role: Accessible.Pane
Accessible.name: title
property string title: ""
property string description: ""

View File

@@ -4,6 +4,9 @@ import QtQuick.Layouts
Rectangle {
id: hero
objectName: "heroSection"
Accessible.role: Accessible.Pane
Accessible.name: "Hero section"
property string headline: "Build entire stacks visually,
from public sites to secure admin panels."
property string subhead: "MetaBuilder layers marketing, observability,

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: codeEditorRoot
objectName: "luaCodeEditor"
Accessible.role: Accessible.EditableText
Accessible.name: "Lua code editor"
Layout.fillWidth: true
Layout.fillHeight: true
color: "#1e1e2e"

View File

@@ -3,6 +3,9 @@ import QtQuick.Layouts
Rectangle {
id: root
objectName: "luaEditorStatusBar"
Accessible.role: Accessible.StatusBar
Accessible.name: "Editor status bar"
property int lineCount: 0

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
ColumnLayout {
id: outputConsole
objectName: "luaOutputConsole"
Accessible.role: Accessible.Pane
Accessible.name: "Lua output console"
Layout.fillWidth: true
Layout.fillHeight: true
spacing: 8

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: outputPanel
objectName: "luaOutputPanel"
Accessible.role: Accessible.Pane
Accessible.name: "Lua output panel"
Layout.fillWidth: true
Layout.preferredHeight: 220
color: Theme.paper

View File

@@ -5,6 +5,9 @@ import QmlComponents 1.0
Rectangle {
id: propsPanel
objectName: "luaPropertiesPanel"
Accessible.role: Accessible.Pane
Accessible.name: "Lua script properties"
Layout.preferredWidth: 260
Layout.fillHeight: true
color: Theme.paper

View File

@@ -4,6 +4,9 @@ import "qmllib/dbal"; import "qmllib/MetaBuilder"
import "AdminCrud.js" as Crud
Rectangle {
id: root; color: Theme.background
objectName: "view_admin"
Accessible.role: Accessible.Pane
Accessible.name: "Admin View"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected; property bool configLoaded: false
property string selEnt: "User"

View File

@@ -9,9 +9,12 @@ import "qmllib/MetaBuilder/AppLogic.js" as Logic
ApplicationWindow {
id: appWindow
objectName: "appWindow"
visible: true; width: 1400; height: 900
title: "MetaBuilder Observatory"
color: Theme.background
Accessible.role: Accessible.Window
Accessible.name: "MetaBuilder"
DBALProvider { id: dbalProvider }
@@ -46,6 +49,7 @@ ApplicationWindow {
}
header: CAppBar {
objectName: "appBar"
height: 48
RowLayout {
anchors.fill: parent
@@ -122,6 +126,7 @@ ApplicationWindow {
anchors.topMargin:
dbalBanner.visible ? 28 : 0
CSidebar {
objectName: "sidebar"
currentView: appWindow.currentView
currentLevel: appWindow.currentLevel
loggedIn: appWindow.loggedIn
@@ -138,6 +143,7 @@ ApplicationWindow {
Layout.fillHeight: true
color: "transparent"
StackLayout {
objectName: "mainContent"
anchors.fill: parent
currentIndex:
viewIndex(currentView)

View File

@@ -7,7 +7,11 @@ import "qmllib/MetaBuilder" as Meta
import "CommentsDBAL.js" as DBAL
Rectangle {
id: commentsRoot
color: "transparent"
objectName: "view_comments"
Accessible.role: Accessible.Pane
Accessible.name: "Discussion Board"
DBALProvider { id: dbal }
property int sortMode: 0

View File

@@ -9,6 +9,9 @@ import "qmllib/MetaBuilder/ComponentTreeDBAL.js" as CTDBAL
Rectangle {
id: root
color: Theme.background
objectName: "view_component_hierarchy"
Accessible.role: Accessible.Pane
Accessible.name: "Component Hierarchy Editor"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected

View File

@@ -9,6 +9,9 @@ import "qmllib/MetaBuilder/CssClassLogic.js" as Logic
Rectangle {
id: root
color: Theme.background
objectName: "view_css_class_manager"
Accessible.role: Accessible.Pane
Accessible.name: "CSS Class Manager"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected

View File

@@ -10,6 +10,9 @@ import "qmllib/MetaBuilder/DashboardDBAL.js"
Rectangle {
id: dashRoot
color: Theme.background
objectName: "view_dashboard"
Accessible.role: Accessible.Pane
Accessible.name: "Dashboard"
DBALProvider { id: dbal }

View File

@@ -4,6 +4,9 @@ import "qmllib/dbal"; import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/DatabaseLogic.js" as Logic
Rectangle {
id: root; color: Theme.background
objectName: "view_database_manager"
Accessible.role: Accessible.Pane
Accessible.name: "Database Manager"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected
property int selBk: 2; property int actBk: 2; property int adPat: 0

View File

@@ -9,6 +9,9 @@ import "DropdownCrud.js" as Crud
Rectangle {
id: root
color: Theme.background
objectName: "view_dropdown_config"
Accessible.role: Accessible.Pane
Accessible.name: "Dropdown Configuration"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected

View File

@@ -4,6 +4,9 @@ import "qmllib/dbal"; import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/FrontPageLogic.js" as Logic
Rectangle {
id: root; color: Theme.background
objectName: "view_frontpage"
Accessible.role: Accessible.Pane
Accessible.name: "Front Page"
DBALProvider { id: dbal }
property bool dbalOnline: dbal.connected
property string platformVersion: "0.9.1"

View File

@@ -9,6 +9,9 @@ import "config/GodPanelConfig.js"
Rectangle {
id: godPanel
color: Theme.background
objectName: "view_god_panel"
Accessible.role: Accessible.Pane
Accessible.name: "God Panel"
property int currentTab: 0
property var configCounts: ({

View File

@@ -8,6 +8,9 @@ import "LoginDBAL.js" as DBAL
Rectangle {
id: loginView; color: "transparent"
objectName: "view_login"
Accessible.role: Accessible.Pane
Accessible.name: "Login"
property string errorMessage: ""
property bool loggingIn: false
property bool isDark:

View File

@@ -4,6 +4,9 @@ import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/LuaEditorLogic.js" as Logic
Rectangle {
id: root; color: "transparent"
objectName: "view_lua_editor"
Accessible.role: Accessible.Pane
Accessible.name: "Lua Editor"
property int selIdx: 0
property string testOutput: ""
property string scanResult: ""

View File

@@ -4,7 +4,11 @@ import QtQuick.Layouts
import QmlComponents 1.0
Rectangle {
id: materialRoot
color: Theme.background
objectName: "view_material_landing"
Accessible.role: Accessible.Pane
Accessible.name: "Material Landing"
ColumnLayout {
anchors.fill: parent

View File

@@ -9,6 +9,9 @@ import "MediaServiceCrud.js" as Crud
Rectangle {
id: root
color: "transparent"
objectName: "view_media_service"
Accessible.role: Accessible.Pane
Accessible.name: "Media Service Panel"
property int currentTab: 0
property string serviceStatus: "unknown"

View File

@@ -4,6 +4,9 @@ import QmlComponents 1.0
CPaper {
id: panel
objectName: "view_mod_player"
Accessible.role: Accessible.Pane
Accessible.name: "MOD Player"
width: 420
implicitHeight: contentCol.implicitHeight + 32

View File

@@ -8,6 +8,9 @@ import "ModeratorData.js" as Data
Rectangle {
id: modView
color: Theme.background
objectName: "view_moderator"
Accessible.role: Accessible.Pane
Accessible.name: "Moderator View"
readonly property bool isDark:
Theme.mode === "dark"

View File

@@ -8,6 +8,9 @@ import "NotificationsDBAL.js" as DBAL
Rectangle {
id: root; color: "transparent"
objectName: "view_notifications"
Accessible.role: Accessible.Pane
Accessible.name: "Notifications Panel"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected
property string activeFilter: "All"

View File

@@ -4,7 +4,11 @@ import QtQuick.Layouts
import QmlComponents 1.0
Rectangle {
id: pkgRoot
color: Theme.background
objectName: "view_package_manager"
Accessible.role: Accessible.Pane
Accessible.name: "Package Manager"
property string searchText: ""
property string selectedPackageId: ""

View File

@@ -6,6 +6,9 @@ import QmlComponents 1.0
Rectangle {
id: loader
color: "transparent"
objectName: "view_package_" + packageId
Accessible.role: Accessible.Pane
Accessible.name: formatTitle(packageId)
property string packageId: ""

View File

@@ -8,6 +8,9 @@ import "PageRoutesDBAL.js" as DBAL
Rectangle {
id: root; color: Theme.background
objectName: "view_page_routes"
Accessible.role: Accessible.Pane
Accessible.name: "Page Routes Manager"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected
property int selectedIndex: -1

View File

@@ -9,6 +9,9 @@ import "qmllib/MetaBuilder/ProfileDBAL.js"
Rectangle {
id: profileRoot; color: Theme.background
objectName: "view_profile"
Accessible.role: Accessible.Pane
Accessible.name: "Profile"
DBALProvider { id: dbal }
readonly property bool isDark:
Theme.mode === "dark"

View File

@@ -4,6 +4,9 @@ import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/SmtpLogic.js" as Logic
Rectangle {
id: se; color: "transparent"
objectName: "view_smtp_config"
Accessible.role: Accessible.Pane
Accessible.name: "SMTP Configuration"
property string smtpHost: "smtp.example.com"
property string smtpPort: "587"
property string smtpUsername: ""; property string smtpPassword: ""

View File

@@ -4,6 +4,9 @@ import "qmllib/dbal"; import "qmllib/MetaBuilder"
import "qmllib/MetaBuilder/SchemaEditorDBAL.js" as SDBAL
Rectangle {
id: root; color: Theme.background
objectName: "view_schema_editor"
Accessible.role: Accessible.Pane
Accessible.name: "Schema Editor"
DBALProvider { id: dbal }
property int selSch: 0; property int selFld: -1
property bool createDlg: false; property bool addFldDlg: false

View File

@@ -9,6 +9,9 @@ import "qmllib/MetaBuilder/SettingsLogic.js" as Logic
Rectangle {
id: root
color: "transparent"
objectName: "view_settings"
Accessible.role: Accessible.Pane
Accessible.name: "Settings"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected

View File

@@ -5,7 +5,11 @@ import QmlComponents 1.0
import "qmllib/MetaBuilder"
Rectangle {
id: storybookRoot
color: Theme.background
objectName: "view_storybook"
Accessible.role: Accessible.Pane
Accessible.name: "Storybook"
property string selectedComponent: "Button"
property bool outlinedMode: false

View File

@@ -9,6 +9,9 @@ import "SuperGodCrud.js" as Crud
Rectangle {
id: root
color: Theme.background
objectName: "view_supergod_panel"
Accessible.role: Accessible.Pane
Accessible.name: "Super God Panel"
DBALProvider { id: dbal }
property bool dbalOnline: dbal.connected

View File

@@ -8,6 +8,9 @@ import "qmllib/MetaBuilder/ThemeEditorLogic.js" as TELogic
Rectangle {
id: root
color: Theme.background
objectName: "view_theme_editor"
Accessible.role: Accessible.Pane
Accessible.name: "Theme Editor"
property string selectedTheme: "dark"
property bool hasUnsavedChanges: false

View File

@@ -9,6 +9,9 @@ import "qmllib/MetaBuilder/UserManagementDBAL.js" as UDBAL
Rectangle {
id: root
color: Theme.background
objectName: "view_user_management"
Accessible.role: Accessible.Pane
Accessible.name: "User Management"
DBALProvider { id: dbal }
property bool useLiveData: dbal.connected

Some files were not shown because too many files have changed in this diff Show More