Files
tustu/app_qml/TuningView.qml
johndoe6345789 741702cedf feat: Add Offline Activation Dialog and Registration Dialog
- Implemented OfflineActivationDialog.qml for offline activation process with detailed instructions and file handling.
- Created RegistrationDialog.qml for user registration with manual input and email parsing options.
- Added new components: RoundGauge.qml, ScalarEditor.qml, Table2DEditor.qml, Table3DEditor.qml, TableEditorPanel.qml, and TableEditorView.qml for enhanced table editing features.
- Updated main.py to include clipboard operations and file handling for saving/loading activation requests and codes.
- Enhanced README.md to document new features and file structure.
2026-01-11 03:11:28 +00:00

77 lines
2.5 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
Item {
id: tuningView
SplitView {
anchors.fill: parent
orientation: Qt.Horizontal
// Left panel - Table selector
Item {
SplitView.minimumWidth: 200
SplitView.preferredWidth: 250
SplitView.maximumWidth: 400
ColumnLayout {
anchors.fill: parent
anchors.margins: 10
spacing: 10
Label {
text: "Tables"
font.pixelSize: 16
font.bold: true
}
ScrollView {
Layout.fillWidth: true
Layout.fillHeight: true
ListView {
id: tableListView
model: tableModel
clip: true
delegate: ItemDelegate {
width: ListView.view.width
text: modelData.name
highlighted: ListView.isCurrentItem
onClicked: {
tableListView.currentIndex = index
tableEditorPanel.loadTable(modelData)
}
}
}
}
Button {
Layout.fillWidth: true
text: "New Table"
onClicked: console.log("Create new table")
}
}
}
// Right panel - Table editor
TableEditorPanel {
id: tableEditorPanel
SplitView.fillWidth: true
}
}
ListModel {
id: tableModel
ListElement { name: "VE Table"; type: "3D"; rows: 12; cols: 12 }
ListElement { name: "Ignition Advance"; type: "3D"; rows: 12; cols: 12 }
ListElement { name: "Air/Fuel Ratio"; type: "3D"; rows: 12; cols: 12 }
ListElement { name: "Boost Target"; type: "2D"; rows: 8; cols: 1 }
ListElement { name: "Idle Target RPM"; type: "2D"; rows: 8; cols: 1 }
ListElement { name: "Warmup Enrichment"; type: "2D"; rows: 10; cols: 1 }
ListElement { name: "Acceleration Enrichment"; type: "Scalar" }
ListElement { name: "Cranking Pulse"; type: "2D"; rows: 6; cols: 1 }
}
}