diff --git a/src/brovski-adress-etiketten-verwaltung.py b/src/brovski-adress-etiketten-verwaltung.py index ebcedff..59229e1 100644 --- a/src/brovski-adress-etiketten-verwaltung.py +++ b/src/brovski-adress-etiketten-verwaltung.py @@ -9,12 +9,13 @@ from tkinter import messagebox from tkinter import ttk import json + class SettingsWindow(tk.Toplevel): def __init__(self, root: tk.Tk): super().__init__() self.root = root self.protocol("WM_DELETE_WINDOW", self.close_window) - self.geometry(f"500x330+{self.root.winfo_x()+20}+{self.root.winfo_y()+20}") + self.geometry(f"500x330+{self.root.winfo_x() + 20}+{self.root.winfo_y() + 20}") self.config = Config() @@ -84,6 +85,7 @@ class SettingsWindow(tk.Toplevel): self.root.deiconify() self.destroy() + class Config: parser: ConfigParser @@ -129,13 +131,15 @@ class Application: def __init__(self): # tkinter settings x_offset = 700 - y_offset = 400 + y_offset = 200 + width = 1050 + height = 1000 title = "Brovski Adress-Etiketten Verwaltung" self.root = tk.Tk(className="BrovskiAdressEtiketten") self.root.title(title) self.root.protocol("WM_DELETE_WINDOW", self.on_close) - self.root.geometry(f"+{x_offset}+{y_offset}") + self.root.geometry(f"{width}x{height}+{x_offset}+{y_offset}") self.config = Config() self.config_good = False @@ -143,7 +147,7 @@ class Application: self.current_record: int | None = None # init paths to json and csv file - self.json_file_name ="brovski-adress-etiketten-verwaltung.json" + self.json_file_name = "brovski-adress-etiketten-verwaltung.json" self.csv_file_name = "brovski-adress-etiketten.csv" self.json_path = "" self.csv_path = "" @@ -154,7 +158,7 @@ class Application: # leave application if settings are bad if not self.config_good: self.show_error("Fehler Konfiguration", - "Die Konfiguration ist fehlerhaft, bitte prüfe deine config.ini") + "Die Konfiguration ist fehlerhaft, bitte prüfe deine config.ini") sys.exit() top_frame = tk.Frame(self.root) @@ -194,13 +198,17 @@ class Application: data_frame = tk.Frame(self.root, bg="teal") data_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True) - self.table = ttk.Treeview(data_frame, columns=("0", "1", "2", "3", "4"), show="headings") + scrollbar = ttk.Scrollbar(data_frame, orient=tk.VERTICAL) + self.table = ttk.Treeview(data_frame, yscrollcommand=scrollbar.set, columns=("0", "1", "2", "3", "4"), + show="headings") + scrollbar.config(command=self.table.yview) self.table.heading('0', text="Aktiv") self.table.heading('1', text="Firma") self.table.heading('2', text="Name") self.table.heading('3', text="Strasse") self.table.heading('4', text="Plz/Ort") - self.table.pack() + self.table.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) + scrollbar.pack(side=tk.LEFT, fill=tk.Y) self.table.bind("", self.mouse_click) @@ -220,10 +228,9 @@ class Application: self.show_config_error() self.show_settings() - def show_config_error(self): if self.show_error("Fehlerhafte Konfiguration", - "Konnte benötigte Parameter in config.ini nicht finden"): + "Konnte benötigte Parameter in config.ini nicht finden"): print("Fehlerhafte Konfiguration") def on_close(self): @@ -260,7 +267,6 @@ class Application: self.clear_entry_fields() self._save_json_file() - def clear_entry_fields(self): entry_var_list = [self.aktiv, self.firma, self.name, self.strasse, self.plz_ort] for entry in entry_var_list: