From 5ee1968b25867addda128bc95035a68c11a4bb59 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Mon, 16 Jan 2023 12:52:38 -0600 Subject: [PATCH] Fix DeviceView clicking on Zone and Segment names --- qt/DeviceView.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/qt/DeviceView.cpp b/qt/DeviceView.cpp index b774a010..406ccb94 100644 --- a/qt/DeviceView.cpp +++ b/qt/DeviceView.cpp @@ -607,6 +607,8 @@ void DeviceView::mouseReleaseEvent(QMouseEvent* event) offset_x = (width() - size) / 2; } + unsigned int segment_count = 0; + for(std::size_t zone_idx = 0; zone_idx < controller->zones.size(); zone_idx++) { int posx = zone_pos[zone_idx].matrix_x * size + offset_x + 12; @@ -620,6 +622,23 @@ void DeviceView::mouseReleaseEvent(QMouseEvent* event) { selectZone(zone_idx, ctrlDown); } + + for(std::size_t segment_idx = 0; segment_idx < controller->zones[zone_idx].segments.size(); segment_idx++) + { + posx = segment_pos[segment_count].matrix_x * size + offset_x + 12; + posy = segment_pos[segment_count].matrix_y * size; + posw = segment_pos[segment_count].matrix_w * size; + posh = segment_pos[segment_count].matrix_h * size; + + segment_count++; + + rect = {posx, posy, posw, posh}; + + if(rect.contains(event->pos())) + { + selectSegment(zone_idx, segment_idx, ctrlDown); + } + } } } update();