commit 58

This commit is contained in:
2025-08-06 22:12:22 +02:00
parent 1168ea8ecf
commit 84c5405df7
4 changed files with 45 additions and 32 deletions

View File

@@ -365,7 +365,8 @@ class WidgetManager:
self.filter_combobox.bind("<<ComboboxSelected>>", self.dialog.on_filter_change)
self.filter_combobox.set(self.dialog.filetypes[0][0])
self.filename_entry.pack(side="top", fill="x", expand=True)
self.center_container.grid_rowconfigure(0, weight=1)
self.filename_entry.grid(row=0, column=0, columnspan=2, sticky="ew")
if button_box_pos == 'left':
self._layout_save_buttons_left()
@@ -378,9 +379,10 @@ class WidgetManager:
self.filter_combobox.bind("<<ComboboxSelected>>", self.dialog.on_filter_change)
self.filter_combobox.set(self.dialog.filetypes[0][0])
self.status_bar.pack(side="top", fill="x")
self.search_entry.pack(side="top", fill="x")
self.search_entry.pack_forget()
self.center_container.grid_rowconfigure(0, weight=1)
self.status_bar.grid(row=0, column=0, columnspan=2, sticky="ew")
self.search_entry.grid(row=1, column=0, columnspan=2, sticky="ew")
self.search_entry.grid_forget()
if button_box_pos == 'left':
self._layout_open_buttons_left()
@@ -388,43 +390,54 @@ class WidgetManager:
self._layout_open_buttons_right()
def _layout_save_buttons_left(self):
self.left_container.grid_rowconfigure(1, weight=1)
self.save_button.pack(in_=self.left_container, side="top", pady=(0, 5))
self.cancel_button.pack(in_=self.left_container, side="bottom")
self.left_container.grid_rowconfigure(0, weight=1)
self.save_button.grid(in_=self.left_container, row=0, column=0, pady=(0, 5))
self.cancel_button.grid(in_=self.left_container, row=1, column=0)
self.filter_combobox.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.search_status_label.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.trash_button.pack(in_=self.right_container, side="right", padx=(5,0))
self.settings_button.pack(in_=self.right_container, side="right")
self.center_container.grid_columnconfigure(0, weight=1)
self.filter_combobox.grid(in_=self.center_container, row=1, column=1, pady=(5,0), padx=(5,0))
self.search_status_label.grid(in_=self.center_container, row=1, column=0, sticky="w", pady=(5,0), padx=(5,0))
self.right_container.grid_rowconfigure(0, weight=1)
self.trash_button.grid(in_=self.right_container, row=0, column=1, sticky="se", padx=(5,0))
self.settings_button.grid(in_=self.right_container, row=0, column=0, sticky="se")
def _layout_save_buttons_right(self):
self.right_container.grid_rowconfigure(1, weight=1)
self.save_button.pack(in_=self.right_container, side="top", pady=(0, 5))
self.cancel_button.pack(in_=self.right_container, side="bottom")
self.right_container.grid_rowconfigure(0, weight=1)
self.save_button.grid(in_=self.right_container, row=0, column=1, pady=(0, 5))
self.cancel_button.grid(in_=self.right_container, row=1, column=1)
self.settings_button.grid(in_=self.right_container, row=0, column=0, sticky="se")
self.trash_button.pack(in_=self.left_container, side="left")
self.search_status_label.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.filter_combobox.pack(in_=self.center_container, side="right", pady=(5,0), padx=(0,5))
self.settings_button.pack(in_=self.right_container, side="right")
self.trash_button.grid(in_=self.left_container, row=0, column=0, sticky="sw")
self.center_container.grid_columnconfigure(1, weight=1)
self.search_status_label.grid(in_=self.center_container, row=1, column=0, sticky="w", pady=(5,0), padx=(5,0))
self.filter_combobox.grid(in_=self.center_container, row=1, column=1, sticky="e", pady=(5,0), padx=(0,5))
def _layout_open_buttons_left(self):
self.left_container.grid_rowconfigure(1, weight=1)
self.open_button.pack(in_=self.left_container, side="top", pady=(0, 5))
self.cancel_button.pack(in_=self.left_container, side="bottom")
self.left_container.grid_rowconfigure(0, weight=1)
self.open_button.grid(in_=self.left_container, row=0, column=0, pady=(0, 5))
self.cancel_button.grid(in_=self.left_container, row=1, column=0)
self.filter_combobox.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.search_status_label.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.settings_button.pack(in_=self.right_container, side="right")
self.center_container.grid_columnconfigure(0, weight=1)
self.filter_combobox.grid(in_=self.center_container, row=0, column=1, sticky="e", pady=(5,0), padx=(5,0))
self.search_status_label.grid(in_=self.center_container, row=0, column=0, sticky="w", pady=(5,0), padx=(5,0))
self.right_container.grid_rowconfigure(0, weight=1)
self.settings_button.grid(in_=self.right_container, row=0, column=0, sticky="se")
def _layout_open_buttons_right(self):
self.right_container.grid_rowconfigure(1, weight=1)
self.open_button.pack(in_=self.right_container, side="top", pady=(0, 5))
self.cancel_button.pack(in_=self.right_container, side="bottom")
self.right_container.grid_rowconfigure(0, weight=1)
self.open_button.grid(in_=self.right_container, row=0, column=1, pady=(0, 5))
self.cancel_button.grid(in_=self.right_container, row=1, column=1)
self.settings_button.grid(in_=self.right_container, row=0, column=0, sticky="ne", pady=(0,5))
self.search_status_label.pack(in_=self.center_container, side="left", pady=(5,0), padx=(5,0))
self.filter_combobox.pack(in_=self.center_container, side="right", pady=(5,0), padx=(0,5))
self.trash_button.pack(in_=self.left_container, side="bottom", pady=(0, 5))
self.settings_button.pack(in_=self.right_container, side="top", anchor="ne", pady=(0,5))
self.center_container.grid_columnconfigure(1, weight=1)
self.search_status_label.grid(in_=self.center_container, row=0, column=0, sticky="w", pady=(5,0), padx=(5,0))
self.filter_combobox.grid(in_=self.center_container, row=0, column=1, sticky="e", pady=(5,0), padx=(0,5))
self.left_container.grid_rowconfigure(0, weight=1)
self.trash_button.grid(in_=self.left_container, row=0, column=0, sticky="sw", pady=(0, 5))
def setup_widgets(self):
# Main container

View File

@@ -33,7 +33,7 @@ class GlotzMol(tk.Tk):
dialog = CustomFileDialog(self,
initial_dir=os.path.expanduser("~"),
filetypes=[("All Files", "*.*")
], dialog_mode="save")
])
# This is the crucial part: wait for the dialog to be closed
self.wait_window(dialog)