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

View File

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