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
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"
],
[
"",
"x",
"alpha muster-firma",
"otti",
"tottistrasse",
@@ -20,18 +20,18 @@
"zentralstrasse 120",
"5430 wettingen"
],
[
"",
"muster-firma",
"peter, muster",
"peterstrasse",
"peterort"
],
[
"x",
"c3000",
"erich roth",
"zentralstrasse 120",
"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.pack(side=tk.TOP, fill=tk.X)
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="Insert", command=self.export_csv, width=button_width).grid(row=1, 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="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=0, column=1)
self.aktiv = tk.StringVar()
self.firma = tk.StringVar()
@@ -117,7 +115,7 @@ class Application:
self.table.bind("<ButtonRelease-1>", self.select_record)
self.load_file()
self._load_file()
self.root.mainloop()
@@ -131,11 +129,23 @@ class Application:
def update_record(self):
if self.current_record is None:
return
values = (self.aktiv.get(), self.firma.get(), self.name.get(), self.strasse.get(), self.plz_ort.get())
self.table.delete(self.current_record)
self.table.insert('', self.current_record, values=values)
values = {
0: self.aktiv.get(),
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:
with open(self.json_file, "r", encoding="utf-8") as f:
self.address_list = json.load(f)
@@ -150,7 +160,8 @@ class Application:
json.dump(self.address_list, f)
self.populate_table()
def save_file(self):
def _save_file(self):
self.export_table_to_address_list()
try:
with open(self.json_file, "w", encoding="utf-8") as f:
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):
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):
for item in self.table.get_children():
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)