Fix blank script results panel separator on request load

Hide the results_paned container when both script output panels are empty.
This prevents the separator and blank space from appearing when opening
requests without script output, maximizing response panel space.
This commit is contained in:
vesp 2026-01-07 12:16:25 +01:00
parent 85a1705f4c
commit 2f47c65bc4
2 changed files with 10 additions and 5 deletions

View File

@ -1,5 +1,5 @@
project('roster',
version: '0.4.8',
version: '0.4.9',
meson_version: '>= 1.0.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)

View File

@ -240,6 +240,7 @@ class RequestTabWidget(Gtk.Box):
self.results_paned = Gtk.Paned(orientation=Gtk.Orientation.VERTICAL)
self.results_paned.set_vexpand(True)
self.results_paned.set_position(UI_PANE_RESULTS_PANEL_POSITION)
self.results_paned.set_visible(False) # Initially hidden until scripts produce output
# Don't allow children to shrink below their minimum size
self.results_paned.set_shrink_start_child(False)
self.results_paned.set_shrink_end_child(False)
@ -975,7 +976,8 @@ class RequestTabWidget(Gtk.Box):
for warning in script_result.warnings:
output_text += f"\n{warning}"
# Show container and display output
# Show container and parent paned
self.results_paned.set_visible(True)
self.script_results_container.set_visible(True)
# Adjust paned positions to make the panel visible (use idle_add to wait for proper sizing)
@ -991,10 +993,11 @@ class RequestTabWidget(Gtk.Box):
buffer = self.script_output_textview.get_buffer()
buffer.set_text("")
# Update results_paned minimum size based on remaining visible panels
# Update results_paned visibility and minimum size based on remaining visible panels
if self.preprocessing_results_container.get_visible():
self.results_paned.set_size_request(-1, 100) # Only preprocessing visible
else:
self.results_paned.set_visible(False) # Hide parent paned when both panels are hidden
self.results_paned.set_size_request(-1, -1) # No panels visible, no minimum
def _adjust_paned_for_script_results(self):
@ -1076,7 +1079,8 @@ class RequestTabWidget(Gtk.Box):
output_text += "\n--- Request Modified ---"
output_text += "\n✓ Request was modified by preprocessing script"
# Show container and display output
# Show container and parent paned
self.results_paned.set_visible(True)
self.preprocessing_results_container.set_visible(True)
# Adjust paned positions to make the panel visible (use idle_add to wait for proper sizing)
@ -1092,10 +1096,11 @@ class RequestTabWidget(Gtk.Box):
buffer = self.preprocessing_output_textview.get_buffer()
buffer.set_text("")
# Update results_paned minimum size based on remaining visible panels
# Update results_paned visibility and minimum size based on remaining visible panels
if self.script_results_container.get_visible():
self.results_paned.set_size_request(-1, 100) # Only script results visible
else:
self.results_paned.set_visible(False) # Hide parent paned when both panels are hidden
self.results_paned.set_size_request(-1, -1) # No panels visible, no minimum
def _adjust_paned_for_preprocessing_results(self):