diff --git a/src/ccma/ui/gnucash_import_dialog.py b/src/ccma/ui/gnucash_import_dialog.py index 0fd75d4..5b4fd0e 100644 --- a/src/ccma/ui/gnucash_import_dialog.py +++ b/src/ccma/ui/gnucash_import_dialog.py @@ -22,6 +22,7 @@ from ccma.services.gnucash_import import ( list_transactions, ) from ccma.storage.repository import MemberRepository, RepositoryError +from ccma.ui.monitors import centered_geometry, preferred_monitor class GnuCashImportDialog(tk.Toplevel): @@ -55,7 +56,8 @@ class GnuCashImportDialog(tk.Toplevel): self.title("Zahlungen aus GnuCash importieren") self.transient(master.winfo_toplevel()) - self.geometry("960x640") + monitor = preferred_monitor(master.winfo_toplevel()) + self.geometry(centered_geometry(round(monitor.width * 0.8), round(monitor.height * 0.8), monitor)) self.minsize(780, 480) self.protocol("WM_DELETE_WINDOW", self.destroy) self.bind("", lambda _event: self.destroy()) @@ -134,8 +136,8 @@ class GnuCashImportDialog(tk.Toplevel): ("status", "Status", 220), ): self.tree.heading(key, text=title) - self.tree.column(key, width=width, anchor="w") - self.tree.column("selected", anchor="center", stretch=False) + self.tree.column(key, width=width, anchor="w", stretch=key in {"description", "memo"}) + self.tree.column("selected", anchor="center") self.tree.grid(row=0, column=0, sticky="nsew") scrollbar = ttk.Scrollbar(tree_frame, orient="vertical", command=self.tree.yview) scrollbar.grid(row=0, column=1, sticky="ns") diff --git a/src/ccma/ui/work_tabs.py b/src/ccma/ui/work_tabs.py index 9c8b3f6..3e27e14 100644 --- a/src/ccma/ui/work_tabs.py +++ b/src/ccma/ui/work_tabs.py @@ -597,15 +597,15 @@ class HousekeeperTab(ttk.Frame): row=0, column=1, rowspan=2, padx=(0, 8) ) ttk.Button(header, text="Tab schließen", command=self.on_close).grid(row=0, column=2, rowspan=2) - self.tree = ttk.Treeview(self, columns=("severity", "title", "detail", "due"), show="headings") + self.tree = ttk.Treeview(self, columns=("severity", "due", "title", "detail"), show="headings") for key, title, width in ( ("severity", "Level", 90), + ("due", "Fällig", 100), ("title", "Vorgang", 330), ("detail", "Details", 390), - ("due", "Fällig", 110), ): self.tree.heading(key, text=title) - self.tree.column(key, width=width, anchor="w") + self.tree.column(key, width=width, anchor="w", stretch=key == "detail") self.tree.grid(row=1, column=0, sticky="nsew") self.tree.bind("", lambda _event: self._open_selected()) self.tree.bind("<>", lambda _event: self._show_selected_details()) @@ -649,7 +649,7 @@ class HousekeeperTab(ttk.Frame): "", "end", iid=str(index), - values=(finding.severity.upper(), finding.title, finding.detail, finding.due_date or ""), + values=(finding.severity.upper(), finding.due_date or "", finding.title, finding.detail), ) def _show_selected_details(self) -> None: