From 5e8a1c7926a45110ced95658e3246945b0d85421 Mon Sep 17 00:00:00 2001 From: rob Date: Sat, 30 May 2026 10:59:44 -0300 Subject: [PATCH] Joinery tab: mark connected features in the list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each feature row in the Joinery tab now shows "๐Ÿ”— connected" when that feature is part of a recorded connection (its id appears as an anchor or moving feature), so it's clear which mortises/tenons are already mated. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/woodshop/gui/feature_panel.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/woodshop/gui/feature_panel.py b/src/woodshop/gui/feature_panel.py index 509bff1..d5b39ee 100644 --- a/src/woodshop/gui/feature_panel.py +++ b/src/woodshop/gui/feature_panel.py @@ -94,12 +94,15 @@ class FeaturePanel(QWidget): part = self._part() self.list.clear() feats = part.features if part else [] + connected = {c.anchor for c in self.c.scene.connections} + connected |= {c.moving for c in self.c.scene.connections} # keep the active feature pointing at something on this board ids = [f.id for f in feats] if self.c.active_feature not in ids: self.c.active_feature = ids[0] if ids else None for f in feats: - label = (f"{f.id}: {f.kind} ยท {f.face}") + mark = " ๐Ÿ”— connected" if f.id in connected else "" + label = f"{f.id}: {f.kind} ยท {f.face}{mark}" item = QListWidgetItem(label) item.setData(Qt.UserRole, f.id) self.list.addItem(item)