From be0266745c147872b2532cf9030178bbe713a389 Mon Sep 17 00:00:00 2001 From: Peter Albrecht <albrecpe@gmail.com> Date: Thu, 21 Dec 2023 14:38:15 +0100 Subject: [PATCH] fix: execution selection not updated --- .../executions/SkillExecutionTreeWidget.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp index 8c89fe3ab..1a2da63dc 100644 --- a/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp +++ b/source/RobotAPI/libraries/skills_gui/executions/SkillExecutionTreeWidget.cpp @@ -13,10 +13,16 @@ namespace armarx::skills::gui void SkillExecutionTreeWidget::runContextMenu(const QPoint& pos) { + // sanity check + ARMARX_CHECK(selectionValid()); + QMenu* menu = new QMenu(); // Stop skill QAction* stopSkillAction = new QAction("Stop execution", this); + const auto& executions = memory->fetchExecutions(); + if (!executions.contains(selectedExecution.skillExecutionId)) + return; skills::SkillStatus currentStatus = memory->fetchExecutions().at(selectedExecution.skillExecutionId).status; stopSkillAction->setDisabled(currentStatus == skills::SkillStatus::Aborted || @@ -93,11 +99,21 @@ namespace armarx::skills::gui ___qtreewidgetitem->setText(2, "SkillID"); ___qtreewidgetitem->setText(1, "Executor"); ___qtreewidgetitem->setText(0, "Timestamp"); + + connectSignals(); } void SkillExecutionTreeWidget::connectSignals() { + connect(this, + &QTreeWidget::customContextMenuRequested, + this, + &SkillExecutionTreeWidget::runContextMenu); + connect(this, + &QTreeWidget::currentItemChanged, + this, + &SkillExecutionTreeWidget::executionSelectionChanged); } inline bool -- GitLab