From 730d0fa7a7befde0ec496ca1d2f1ebc8d30bf81f Mon Sep 17 00:00:00 2001 From: Ilya Ashikhmin Date: Thu, 2 Jul 2026 23:38:07 +0200 Subject: [PATCH] feat(app): add --simulate flag for headless demo captures Co-Authored-By: Claude Fable 5 --- src/app/MainWindow.cpp | 5 +++++ src/app/MainWindow.h | 1 + src/main.cpp | 2 ++ 3 files changed, 8 insertions(+) diff --git a/src/app/MainWindow.cpp b/src/app/MainWindow.cpp index bf57344..41a4cda 100644 --- a/src/app/MainWindow.cpp +++ b/src/app/MainWindow.cpp @@ -229,6 +229,11 @@ void MainWindow::loadSample() m_view->zoomToFit(); } +void MainWindow::setSimulationRunning(bool running) +{ + m_simulateAction->setChecked(running); +} + void MainWindow::runSimulation(bool enabled) { if (enabled) { diff --git a/src/app/MainWindow.h b/src/app/MainWindow.h index 5058ab5..987eb0b 100644 --- a/src/app/MainWindow.h +++ b/src/app/MainWindow.h @@ -22,6 +22,7 @@ public: NetworkModel* model() const { return m_model; } void loadSample(); + void setSimulationRunning(bool running); protected: void closeEvent(QCloseEvent* event) override; diff --git a/src/main.cpp b/src/main.cpp index ce7f293..d1fc063 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -14,6 +14,8 @@ int main(int argc, char** argv) const QStringList args = app.arguments(); if (args.contains(QStringLiteral("--sample"))) window.loadSample(); + if (args.contains(QStringLiteral("--simulate"))) + window.setSimulationRunning(true); // Headless smoke check: --screenshot renders and exits. const int shotIdx = args.indexOf(QStringLiteral("--screenshot"));