multi line toggle active
This commit is contained in:
@@ -9,6 +9,8 @@ from tkinter import messagebox
|
||||
from tkinter import ttk
|
||||
import json
|
||||
|
||||
from PyInstaller.utils.hooks import collect_data_files
|
||||
|
||||
|
||||
class SettingsWindow(tk.Toplevel):
|
||||
def __init__(self, root: tk.Tk):
|
||||
@@ -195,7 +197,8 @@ class Application:
|
||||
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)
|
||||
tk.Button(edit_frame, text="Update", command=self.update_record).grid(row=1, column=5)
|
||||
tk.Button(edit_frame, text="Update", command=self.update_record, width=button_width).grid(row=1, column=5)
|
||||
tk.Button(edit_frame, text="Toggle Aktiv", command=self.toggle_active, width=button_width).grid(row=1, column=6)
|
||||
|
||||
data_frame = tk.Frame(self.root, bg="teal")
|
||||
data_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
|
||||
@@ -270,6 +273,36 @@ class Application:
|
||||
self.clear_entry_fields()
|
||||
self._save_json_file()
|
||||
|
||||
def update_record(self):
|
||||
if self.current_record is None:
|
||||
return
|
||||
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)
|
||||
|
||||
self.clear_entry_fields()
|
||||
self._save_json_file()
|
||||
|
||||
def toggle_active(self):
|
||||
items = self.table.selection()
|
||||
if len(items) == 0:
|
||||
return
|
||||
|
||||
for id in items:
|
||||
values = self.table.item(id, "values")
|
||||
active = values[0]
|
||||
new_active = "x" if active == "" else ""
|
||||
self.table.set(id, "0", new_active)
|
||||
|
||||
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:
|
||||
@@ -308,22 +341,6 @@ class Application:
|
||||
for i in range(len(values)):
|
||||
entry_var_list[i].set(values[i])
|
||||
|
||||
def update_record(self):
|
||||
if self.current_record is None:
|
||||
return
|
||||
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)
|
||||
|
||||
self.clear_entry_fields()
|
||||
self._save_json_file()
|
||||
|
||||
def _load_json_file(self):
|
||||
try:
|
||||
with open(self.json_file, "r", encoding="utf-8") as f:
|
||||
|
||||
Reference in New Issue
Block a user