fixed updating records

This commit is contained in:
2025-04-17 01:13:01 +02:00
parent 5921e41d85
commit 39484a8193
3 changed files with 40 additions and 19 deletions

View File

@@ -1 +1,3 @@
alpha muster-firma,otti,tottistrasse,1234 daheim
c3000,erich roth,zentralstrasse 120,5430 wettingen c3000,erich roth,zentralstrasse 120,5430 wettingen
muster-firma,Peter Muster,Peter-Musterstrasse 1,1234 Ort
1 c3000 alpha muster-firma erich roth otti zentralstrasse 120 tottistrasse 5430 wettingen 1234 daheim
1 alpha muster-firma otti tottistrasse 1234 daheim
2 c3000 c3000 erich roth erich roth zentralstrasse 120 zentralstrasse 120 5430 wettingen 5430 wettingen
3 muster-firma Peter Muster Peter-Musterstrasse 1 1234 Ort

View File

@@ -7,7 +7,7 @@
"musterort" "musterort"
], ],
[ [
"", "x",
"alpha muster-firma", "alpha muster-firma",
"otti", "otti",
"tottistrasse", "tottistrasse",
@@ -20,18 +20,18 @@
"zentralstrasse 120", "zentralstrasse 120",
"5430 wettingen" "5430 wettingen"
], ],
[
"",
"muster-firma",
"peter, muster",
"peterstrasse",
"peterort"
],
[ [
"x", "x",
"c3000", "c3000",
"erich roth", "erich roth",
"zentralstrasse 120", "zentralstrasse 120",
"5430 wettingen" "5430 wettingen"
],
[
"x",
"muster-firma",
"Peter Muster",
"Peter-Musterstrasse 1",
"1234 Ort"
] ]
] ]

View File

@@ -73,11 +73,9 @@ class Application:
top_frame = tk.Frame(self.root) top_frame = tk.Frame(self.root)
top_frame.pack(side=tk.TOP, fill=tk.X) top_frame.pack(side=tk.TOP, fill=tk.X)
button_width = 8 button_width = 8
tk.Button(top_frame, text="Load", command=self.load_file, width=button_width).grid(row=0, column=0)
tk.Button(top_frame, text="Safe", command=self.save_file, width=button_width).grid(row=0, column=1)
tk.Button(top_frame, text="Export CSV", command=self.export_csv, width=button_width).grid(row=0, column=2) tk.Button(top_frame, text="Export CSV", command=self.export_csv, width=button_width).grid(row=0, column=2)
tk.Button(top_frame, text="Insert", command=self.export_csv, width=button_width).grid(row=1, column=0) tk.Button(top_frame, text="Insert", command=self.export_csv, width=button_width).grid(row=0, column=0)
tk.Button(top_frame, text="Delete", command=self.export_csv, width=button_width).grid(row=1, column=1) tk.Button(top_frame, text="Delete", command=self.export_csv, width=button_width).grid(row=0, column=1)
self.aktiv = tk.StringVar() self.aktiv = tk.StringVar()
self.firma = tk.StringVar() self.firma = tk.StringVar()
@@ -117,7 +115,7 @@ class Application:
self.table.bind("<ButtonRelease-1>", self.select_record) self.table.bind("<ButtonRelease-1>", self.select_record)
self.load_file() self._load_file()
self.root.mainloop() self.root.mainloop()
@@ -131,11 +129,23 @@ class Application:
def update_record(self): def update_record(self):
if self.current_record is None: if self.current_record is None:
return return
values = (self.aktiv.get(), self.firma.get(), self.name.get(), self.strasse.get(), self.plz_ort.get()) values = {
self.table.delete(self.current_record) 0: self.aktiv.get(),
self.table.insert('', self.current_record, values=values) 1: self.firma.get(),
2: self.name.get(),
3: self.strasse.get(),
4: self.plz_ort.get(),
}
for key, value in values.items():
self.table.set(self.current_record, key, value)
def load_file(self): entry_var_list = [self.aktiv, self.firma, self.name, self.strasse, self.plz_ort]
for entry in entry_var_list:
entry.set("")
self.current_record = None
self._save_file()
def _load_file(self):
try: try:
with open(self.json_file, "r", encoding="utf-8") as f: with open(self.json_file, "r", encoding="utf-8") as f:
self.address_list = json.load(f) self.address_list = json.load(f)
@@ -150,7 +160,8 @@ class Application:
json.dump(self.address_list, f) json.dump(self.address_list, f)
self.populate_table() self.populate_table()
def save_file(self): def _save_file(self):
self.export_table_to_address_list()
try: try:
with open(self.json_file, "w", encoding="utf-8") as f: with open(self.json_file, "w", encoding="utf-8") as f:
json.dump(self.address_list, f, indent=4, sort_keys=True) json.dump(self.address_list, f, indent=4, sort_keys=True)
@@ -202,11 +213,19 @@ class Application:
for index, item in enumerate(self.address_list): for index, item in enumerate(self.address_list):
self.table.insert('', 'end', iid=index, values=item) self.table.insert('', 'end', iid=index, values=item)
def export_table_to_address_list(self):
self.address_list.clear()
for child in self.table.get_children():
self.address_list.append([])
for value in self.table.item(child)['values']:
self.address_list[-1].append(value)
def delete_all_table_items(self): def delete_all_table_items(self):
for item in self.table.get_children(): for item in self.table.get_children():
self.table.delete(item) self.table.delete(item)
def show_error(self, message_title: str, message: str): @staticmethod
def show_error(message_title: str, message: str):
messagebox.showwarning(title=message_title, message=message) messagebox.showwarning(title=message_title, message=message)