diff --git a/src/gui_2.py b/src/gui_2.py index 5d7fd35..edcf8c5 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -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)