diff --git a/__pycache__/cfd_ui_setup.cpython-312.pyc b/__pycache__/cfd_ui_setup.cpython-312.pyc index 8492131..02939f4 100644 Binary files a/__pycache__/cfd_ui_setup.cpython-312.pyc and b/__pycache__/cfd_ui_setup.cpython-312.pyc differ diff --git a/__pycache__/custom_file_dialog.cpython-312.pyc b/__pycache__/custom_file_dialog.cpython-312.pyc index cd630bb..bf29ce5 100644 Binary files a/__pycache__/custom_file_dialog.cpython-312.pyc and b/__pycache__/custom_file_dialog.cpython-312.pyc differ diff --git a/cfd_ui_setup.py b/cfd_ui_setup.py index c06d4e9..ce372aa 100644 --- a/cfd_ui_setup.py +++ b/cfd_ui_setup.py @@ -365,7 +365,8 @@ class WidgetManager: self.filter_combobox.bind("<>", 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("<>", 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 diff --git a/mainwindow.py b/mainwindow.py index 690e400..c7d103a 100755 --- a/mainwindow.py +++ b/mainwindow.py @@ -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)