From 860b509e84883d970fa1e12ce633a2840f9df4eb Mon Sep 17 00:00:00 2001 From: Ed_ Date: Sun, 10 May 2026 16:48:04 -0400 Subject: [PATCH] fix(gui): proper content-based sizing for Files and Screenshots child panels - Files: child_h = min(max(len(files),1) * 28 + 40, 400) - 28px per row, 40px header, 400px max - Screenshots: shot_h = min(max(len(shots),1) * 28 + 40, 300) - same pattern with 300px max Replaces hacky (0, -40) which stretched to fill available space regardless of content. --- src/gui_2.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui_2.py b/src/gui_2.py index 4457fc0..90377de 100644 --- a/src/gui_2.py +++ b/src/gui_2.py @@ -2920,7 +2920,9 @@ def hello(): r.destroy() if d: self.ui_files_base_dir = d imgui.separator() - imgui.begin_child("f_paths", imgui.ImVec2(0, -40), True) + row_count = max(len(self.files), 1) + child_h = min(row_count * 28 + 40, 400) + imgui.begin_child("f_paths", imgui.ImVec2(0, child_h), True) if imgui.begin_table("files_table", 4, imgui.TableFlags_.resizable | imgui.TableFlags_.borders): imgui.table_setup_column("Actions", imgui.TableColumnFlags_.width_fixed, 40) imgui.table_setup_column("File Path", imgui.TableColumnFlags_.width_stretch) @@ -2993,7 +2995,9 @@ def hello(): r.destroy() if d: self.ui_shots_base_dir = d imgui.separator() - imgui.begin_child("s_paths", imgui.ImVec2(0, -40), True) + shot_count = max(len(self.screenshots), 1) + shot_h = min(shot_count * 28 + 40, 300) + imgui.begin_child("s_paths", imgui.ImVec2(0, shot_h), True) for i, s in enumerate(self.screenshots): if imgui.button(f"x##s{i}"): self.screenshots.pop(i)