From 14fcb919d362a860bd77aa1f635cc4d0773a905b Mon Sep 17 00:00:00 2001 From: David Hammer <dhammer@mailbox.org> Date: Thu, 28 Oct 2021 20:32:09 +0200 Subject: [PATCH] Add links from manager overview to device overviews --- src/calng/CalibrationManager.py | 2 +- src/calng/scenes.py | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/calng/CalibrationManager.py b/src/calng/CalibrationManager.py index 69570eae..3e468a62 100644 --- a/src/calng/CalibrationManager.py +++ b/src/calng/CalibrationManager.py @@ -319,7 +319,7 @@ class CalibrationManager(DeviceClientBase, Device): scene_data = scenes.manager_device_overview_scene( self.deviceId, self._correction_device_schema, - self._correction_device_ids) + sorted(self._correction_device_ids)) payload = Hash('success', True, 'name', name, 'data', scene_data) return Hash('type', 'deviceScene', 'origin', self.deviceId, diff --git a/src/calng/scenes.py b/src/calng/scenes.py index a3ec9ce3..8f6f3aab 100644 --- a/src/calng/scenes.py +++ b/src/calng/scenes.py @@ -4,6 +4,7 @@ import karathon from karabo.common.scenemodel.api import ( CheckBoxModel, ColorBoolModel, + DeviceSceneLinkModel, DisplayCommandModel, DisplayLabelModel, DisplayStateColorModel, @@ -433,8 +434,12 @@ class CorrectionDeviceStatus: class CompactCorrectionDeviceOverview: def __init__(self, device_id, schema_hash): - self.name = LabelModel( - text=device_id.split("/")[-1], width=5 * BASE_INC, height=BASE_INC + self.name = DeviceSceneLinkModel( + text=device_id.split("/")[-1], + keys=[f"{device_id}.availableScenes"], + target="overview", + width=5 * BASE_INC, + height=BASE_INC ) self.status = DisplayStateColorModel( show_string=True, -- GitLab