From b61c52972da34c238486c5d139b2388be3390b4d Mon Sep 17 00:00:00 2001 From: Simon Roth Date: Sat, 27 Sep 2025 12:05:32 +0200 Subject: [PATCH] added amount of labels per print --- src/brovski-adress-etiketten-verwaltung.py | 32 +++++++++++++++------- src/windows.py | 5 ++++ 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/brovski-adress-etiketten-verwaltung.py b/src/brovski-adress-etiketten-verwaltung.py index 7eed4d7..c6ba6fc 100644 --- a/src/brovski-adress-etiketten-verwaltung.py +++ b/src/brovski-adress-etiketten-verwaltung.py @@ -80,7 +80,7 @@ class Application: # table content scrollbar = ttk.Scrollbar(data_frame, orient=tk.VERTICAL) - self.table = ttk.Treeview(data_frame, yscrollcommand=scrollbar.set, columns=("0", "1", "2", "3", "4"), + self.table = ttk.Treeview(data_frame, yscrollcommand=scrollbar.set, columns=("0", "1", "2", "3", "4", "5"), show="headings") scrollbar.config(command=self.table.yview) self.table.heading('0', text="Aktiv") @@ -89,6 +89,7 @@ class Application: self.table.heading('2', text="Name") self.table.heading('3', text="Strasse") self.table.heading('4', text="Plz/Ort") + self.table.heading('5', text="Anzahl") self.table.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) scrollbar.pack(side=tk.LEFT, fill=tk.Y) @@ -139,7 +140,8 @@ class Application: "firma": "Firma", "name": "Name", "strasse": "Strasse", - "plzort": "Plz/Ort" + "plzort": "Plz/Ort", + "anzahl": "Anzahl" } self.model.create_new(values) self.populate_table() @@ -228,6 +230,8 @@ class Application: field = "strasse" case "#5": field = "plzort" + case "#6": + field = "anzahl" case _: field = "name" @@ -248,13 +252,21 @@ class Application: for address in self.address_list: if address["aktiv"] != "x": continue - line = [] - if address["firma"] != "": - line.append(address["firma"]) - line.append(address["name"]) - line.append(address["strasse"]) - line.append(address["plzort"]) - writer.writerow(line) + for index in range(int(address["anzahl"])): + line = [] + if address["firma"] != "": + line.append(address["firma"]) + line.append(address["name"]) + line.append(address["strasse"]) + line.append(address["plzort"]) + writer.writerow(line) + # todo: add "absender" to config parameters + line = [] + line.append("Absender:") + line.append("Matthias Braun") + line.append("Wolfacherweg 1") + line.append("5724 Dürrenäsch") + writer.writerow(line) except FileNotFoundError: show_error(message_title="Unexpected error", message=f"Could not write file {self.csv_file}", @@ -274,7 +286,7 @@ class Application: continue self.table.insert('', 'end', iid=address["record_id"], values=(address["aktiv"], address["firma"], address["name"], address["strasse"], - address["plzort"]) + address["plzort"], address["anzahl"]) ) self.update_status_bar() diff --git a/src/windows.py b/src/windows.py index 16856a4..08821e5 100644 --- a/src/windows.py +++ b/src/windows.py @@ -48,6 +48,7 @@ class EditRecord(Window): self.name = tk.StringVar(value=record.get("name")) self.strasse = tk.StringVar(value=record.get("strasse")) self.plz_ort = tk.StringVar(value=record.get("plzort")) + self.anzahl = tk.StringVar(value=record.get("anzahl")) edit_frame = tk.Frame(self) edit_frame.pack(side=tk.TOP, fill=tk.X, pady=20, padx=20) @@ -56,6 +57,7 @@ class EditRecord(Window): tk.Label(edit_frame, text="Name").grid(row=0, column=2) tk.Label(edit_frame, text="Strasse").grid(row=0, column=3) tk.Label(edit_frame, text="Plz/Ort").grid(row=0, column=4) + tk.Label(edit_frame, text="Anzahl").grid(row=0, column=5) edit_aktiv = tk.Checkbutton(edit_frame, variable=self.aktiv, onvalue="x", offvalue="") edit_aktiv.grid(row=1, column=0) edit_firma = tk.Entry(edit_frame, textvariable=self.firma) @@ -66,6 +68,8 @@ class EditRecord(Window): edit_strasse.grid(row=1, column=3) edit_plz_ort = tk.Entry(edit_frame, textvariable=self.plz_ort) edit_plz_ort.grid(row=1, column=4) + edit_anzahl = tk.Entry(edit_frame, textvariable=self.anzahl) + edit_anzahl.grid(row=1, column=5) button_frame = tk.Frame(self) button_frame.pack(side=tk.TOP, pady=10) @@ -80,6 +84,7 @@ class EditRecord(Window): "name": self.name.get(), "strasse": self.strasse.get(), "plzort": self.plz_ort.get(), + "anzahl": self.anzahl.get(), } self.model.update_record(new_record) self.close_window()