Remove scrolling and fix empty space, restore patterns to settings.json

This commit is contained in:
2025-11-30 16:49:54 +13:00
parent fb4944e475
commit 5e4798a9dc

View File

@@ -109,13 +109,13 @@ class App:
style.map("TNotebook.Tab", background=[("selected", active_bg_color)], foreground=[("selected", fg_color)])
style.configure("TFrame", background=bg_color)
# Create Notebook for tabs (packed first so it takes remaining space)
self.notebook = ttk.Notebook(self.root)
self.notebook.pack(expand=1, fill="both")
# Tab management buttons frame (packed at bottom so it stays visible)
tab_management_frame = tk.Frame(self.root, bg=bg_color)
tab_management_frame.pack(side=tk.BOTTOM, fill=tk.X, padx=self.scale_size(10), pady=self.scale_size(5))
# Create Notebook for tabs (packed after buttons so it takes remaining space)
self.notebook = ttk.Notebook(self.root)
self.notebook.pack(expand=1, fill="both", before=tab_management_frame)
add_tab_btn = tk.Button(
tab_management_frame,
@@ -687,47 +687,13 @@ class App:
initial_r, initial_g, initial_b = color_utils.hex_to_rgb(initial_hex_color)
# Create a scrollable frame for the tab content
canvas = tk.Canvas(tab, bg=bg_color, highlightthickness=0)
scrollbar = tk.Scrollbar(tab, orient="vertical", command=canvas.yview)
scrollable_frame = tk.Frame(canvas, bg=bg_color)
scrollable_frame.bind(
"<Configure>",
lambda e: canvas.configure(scrollregion=canvas.bbox("all"))
)
canvas_window = canvas.create_window((0, 0), window=scrollable_frame, anchor="nw")
canvas.configure(yscrollcommand=scrollbar.set)
# Make canvas window resize with canvas
def configure_scroll_region(event):
canvas.configure(scrollregion=canvas.bbox("all"))
# Update canvas window width to match canvas
canvas_width = event.width
canvas.itemconfig(canvas_window, width=canvas_width)
canvas.bind('<Configure>', configure_scroll_region)
canvas.pack(side="left", fill="both", expand=True)
scrollbar.pack(side="right", fill="y")
# Bind mousewheel to canvas (cross-platform)
def _on_mousewheel(event):
if event.num == 4 or event.delta > 0:
canvas.yview_scroll(-1, "units")
elif event.num == 5 or event.delta < 0:
canvas.yview_scroll(1, "units")
canvas.bind_all("<MouseWheel>", _on_mousewheel)
canvas.bind_all("<Button-4>", _on_mousewheel)
canvas.bind_all("<Button-5>", _on_mousewheel)
# Main frame to hold everything within the tab
main_tab_frame = scrollable_frame
main_tab_frame = tk.Frame(tab, bg=bg_color)
main_tab_frame.pack(expand=True, fill="both", padx=self.scale_size(10), pady=self.scale_size(10))
# Left panel container for sliders and n inputs
left_panel_container = tk.Frame(main_tab_frame, bg=bg_color)
left_panel_container.pack(side=tk.LEFT, padx=10, pady=10)
left_panel_container.pack(side=tk.LEFT, padx=self.scale_size(10), pady=self.scale_size(10))
# Slider panel
slider_panel_frame = tk.Frame(left_panel_container, bg=bg_color)