From 2158a330613204a0b3e75662c42d387f4907c4e3 Mon Sep 17 00:00:00 2001 From: Tyler Kron Date: Sat, 18 Apr 2026 13:01:24 -0600 Subject: [PATCH 1/4] feat: unified Devices pane matching design philosophy Redesigns the Devices tab as a tile grid with an inline settings drawer, replacing the ListView + MahApps DevicesFlyout. Follows the Channels pane pattern from #479: dark surfaces, USB (cyan) / WiFi (purple) type-coded stripes, direct tile click opens a right-side drawer with Information / Data Acquisition / Network / Firmware / Actions sections. Shell-owned state (firmware path/progress, logging mode, SD format) is exposed via a Shell passthrough on DevicesPaneViewModel so the drawer binds directly without cross-VM hops. Removes the now-dead IsDeviceSettingsOpen flag and OpenDeviceSettings command from DaqifiViewModel. Co-Authored-By: Claude Opus 4.7 --- Daqifi.Desktop/MainWindow.xaml | 101 +-- .../View/Flyouts/DevicesFlyout.xaml | 534 ------------- .../View/Flyouts/DevicesFlyout.xaml.cs | 12 - .../View/Prototype/DevicesPanePrototype.xaml | 756 ++++++++++++++++++ .../Prototype/DevicesPanePrototype.xaml.cs | 50 ++ Daqifi.Desktop/ViewModels/DaqifiViewModel.cs | 18 - .../ViewModels/DeviceTileViewModel.cs | 116 +++ .../ViewModels/DevicesPaneViewModel.cs | 192 +++++ 8 files changed, 1115 insertions(+), 664 deletions(-) delete mode 100644 Daqifi.Desktop/View/Flyouts/DevicesFlyout.xaml delete mode 100644 Daqifi.Desktop/View/Flyouts/DevicesFlyout.xaml.cs create mode 100644 Daqifi.Desktop/View/Prototype/DevicesPanePrototype.xaml create mode 100644 Daqifi.Desktop/View/Prototype/DevicesPanePrototype.xaml.cs create mode 100644 Daqifi.Desktop/ViewModels/DeviceTileViewModel.cs create mode 100644 Daqifi.Desktop/ViewModels/DevicesPaneViewModel.cs diff --git a/Daqifi.Desktop/MainWindow.xaml b/Daqifi.Desktop/MainWindow.xaml index 19b1cbc6..060a7afe 100644 --- a/Daqifi.Desktop/MainWindow.xaml +++ b/Daqifi.Desktop/MainWindow.xaml @@ -139,9 +139,6 @@ - - - @@ -978,103 +975,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/Daqifi.Desktop/View/Flyouts/DevicesFlyout.xaml b/Daqifi.Desktop/View/Flyouts/DevicesFlyout.xaml deleted file mode 100644 index fe9ce309..00000000 --- a/Daqifi.Desktop/View/Flyouts/DevicesFlyout.xaml +++ /dev/null @@ -1,534 +0,0 @@ - - - - - #4B8FE2 - #333333 - #2D2D30 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +