feat: Manage active drawing tool state in controller and UI

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-13 17:33:56 -07:00
parent d51e7127af
commit 2727b73208
3 changed files with 37 additions and 0 deletions

View File

@@ -91,6 +91,9 @@ MainWindow::MainWindow(ApplicationController* appController, QWidget *parent)
lineButton->setIcon(QIcon(":/icons/line.svg"));
lineButton->setIconSize(QSize(48, 48));
lineButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
connect(lineButton, &QToolButton::clicked, this, [this]() {
m_appController->setActiveTool(ApplicationController::ToolType::Line);
});
sketchLayout->addWidget(lineButton);
QToolButton *rectangleButton = new QToolButton();
@@ -98,6 +101,9 @@ MainWindow::MainWindow(ApplicationController* appController, QWidget *parent)
rectangleButton->setIcon(QIcon(":/icons/rectangle.svg"));
rectangleButton->setIconSize(QSize(48, 48));
rectangleButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
connect(rectangleButton, &QToolButton::clicked, this, [this]() {
m_appController->setActiveTool(ApplicationController::ToolType::Rectangle);
});
sketchLayout->addWidget(rectangleButton);
QToolButton *circleButton = new QToolButton();
@@ -105,6 +111,9 @@ MainWindow::MainWindow(ApplicationController* appController, QWidget *parent)
circleButton->setIcon(QIcon(":/icons/circle.svg"));
circleButton->setIconSize(QSize(48, 48));
circleButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
connect(circleButton, &QToolButton::clicked, this, [this]() {
m_appController->setActiveTool(ApplicationController::ToolType::Circle);
});
sketchLayout->addWidget(circleButton);
QToolButton *saveSketchButton = new QToolButton();