fix(gui): add resizable splitter between Files and Screenshots panels

Added:
- _files_split_v state (0.5 default) for split ratio
- _files_open and _shots_open tracking for collapse state
- Splitter bar between collapsing headers when both open
- Splitter updates _files_split_v based on mouse drag
This commit is contained in:
2026-05-10 16:41:28 -04:00
parent 6b612deb23
commit dbfbb05899
+17 -3
View File
@@ -873,11 +873,25 @@ class App:
exp, opened = imgui.begin("Files & Media", self.show_windows["Files & Media"])
self.show_windows["Files & Media"] = bool(opened)
if exp:
if imgui.collapsing_header("Files"):
if not hasattr(self, "_files_split_v"): self._files_split_v = 0.5
if not hasattr(self, "_files_open"): self._files_open = True
if not hasattr(self, "_shots_open"): self._shots_open = True
if imgui.collapsing_header("Files", imgui.TreeNodeFlags_.default_open if self._files_open else 0):
self._files_open = True
self._render_files_panel()
if imgui.collapsing_header("Screenshots"):
else:
self._files_open = False
if self._files_open and self._shots_open:
imgui.button("###files_media_splitter", imgui.ImVec2(-1, 4))
if imgui.is_item_active():
avail = imgui.get_content_region_avail().y
if avail > 0: self._files_split_v = max(0.2, min(0.8, self._files_split_v + imgui.get_io().mouse_delta.y / avail))
if imgui.collapsing_header("Screenshots", imgui.TreeNodeFlags_.default_open if self._shots_open else 0):
self._shots_open = True
self._render_screenshots_panel()
imgui.end()
else:
self._shots_open = False
imgui.end()
if self.show_windows.get("AI Settings", False):
exp, opened = imgui.begin("AI Settings", self.show_windows["AI Settings"])
self.show_windows["AI Settings"] = bool(opened)