Commit Graph

19 Commits

Author SHA1 Message Date
Mitchell Hashimoto
395e099028 macOS: convert Surface dragging to use NSDraggingSource 2025-12-28 14:38:30 -08:00
Mitchell Hashimoto
b7ab221765 macos: use preference key to detect self dragging 2025-12-28 13:31:21 -08:00
Mitchell Hashimoto
8cf1ab04f8 macos: all sorts of cleanups 2025-12-28 13:02:48 -08:00
Mitchell Hashimoto
a54c557565 macos: unify split callbacks into a single tagged enum 2025-12-28 07:11:13 -08:00
Mitchell Hashimoto
714c2da727 macos: clean up some SwiftUI nesting 2025-12-28 06:12:23 -08:00
Mitchell Hashimoto
888602c26f macos: hook up onDrop to move splits 2025-12-27 14:57:55 -08:00
Mitchell Hashimoto
e90b7285c8 macos: move around some functions 2025-12-27 14:26:58 -08:00
Mitchell Hashimoto
9161f0e95a macos: wire up onDrop 2025-12-27 14:22:49 -08:00
Mitchell Hashimoto
b85246515e macos: setup drop UI on our split views 2025-12-27 13:41:12 -08:00
Mitchell Hashimoto
67c5e0d13d macOS: work on drop destination 2025-12-27 13:05:17 -08:00
Sean Kelly
e298620828 macOS: equalize splits when double tapping on SplitView divider 2025-11-08 23:16:16 -08:00
Andreas Deininger
a667b740ee Fix typos 2025-10-03 18:52:26 +02:00
Mitchell Hashimoto
4237dad240 macOS: simple SplitView AX
Proper labels, action to move the divider
2025-06-15 07:56:05 -07:00
Mitchell Hashimoto
e4cd90b8a0 macos: set explicit identity for split tree view based on structure
Fixes #7546

SwiftUI uses type and structure to identify views, which can lead
to issues with tree like structures where the shape and type is the same
but the content changes. This was causing #7546.

To fix this, we need to add explicit identity to the split tree view
so that SwiftUI can differentiate when it needs to redraw the view.

We don't want to blindly add Hashable to SplitTree because we don't want
to take into account all the fields. Instead, we add an explicit
"structural identity" to the SplitTreeView that can be used by SwiftUI.
2025-06-08 20:11:58 -07:00
Mitchell Hashimoto
f8e3539b7d macos: remove the unused resizeEvent code from SplitView 2025-06-05 07:05:13 -07:00
Mitchell Hashimoto
ea1ff438f8 macos: handle split zooming 2025-06-05 07:05:12 -07:00
Mitchell Hashimoto
d1dce1e372 macos: restoration for new split tree 2025-06-05 07:05:11 -07:00
Mitchell Hashimoto
e3bc3422dc macos: handle split resizing 2025-06-05 07:05:11 -07:00
Mitchell Hashimoto
1707159441 new SplitTree 2025-06-05 07:05:11 -07:00