multi line toggle active
This commit is contained in:
@@ -9,6 +9,8 @@ from tkinter import messagebox
|
|||||||
from tkinter import ttk
|
from tkinter import ttk
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
from PyInstaller.utils.hooks import collect_data_files
|
||||||
|
|
||||||
|
|
||||||
class SettingsWindow(tk.Toplevel):
|
class SettingsWindow(tk.Toplevel):
|
||||||
def __init__(self, root: tk.Tk):
|
def __init__(self, root: tk.Tk):
|
||||||
@@ -195,7 +197,8 @@ class Application:
|
|||||||
edit_strasse.grid(row=1, column=3)
|
edit_strasse.grid(row=1, column=3)
|
||||||
edit_plz_ort = tk.Entry(edit_frame, textvariable=self.plz_ort)
|
edit_plz_ort = tk.Entry(edit_frame, textvariable=self.plz_ort)
|
||||||
edit_plz_ort.grid(row=1, column=4)
|
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 = tk.Frame(self.root, bg="teal")
|
||||||
data_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
|
data_frame.pack(side=tk.TOP, fill=tk.BOTH, expand=True)
|
||||||
@@ -270,6 +273,36 @@ class Application:
|
|||||||
self.clear_entry_fields()
|
self.clear_entry_fields()
|
||||||
self._save_json_file()
|
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):
|
def clear_entry_fields(self):
|
||||||
entry_var_list = [self.aktiv, self.firma, self.name, self.strasse, self.plz_ort]
|
entry_var_list = [self.aktiv, self.firma, self.name, self.strasse, self.plz_ort]
|
||||||
for entry in entry_var_list:
|
for entry in entry_var_list:
|
||||||
@@ -308,22 +341,6 @@ class Application:
|
|||||||
for i in range(len(values)):
|
for i in range(len(values)):
|
||||||
entry_var_list[i].set(values[i])
|
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):
|
def _load_json_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:
|
||||||
|
|||||||
Reference in New Issue
Block a user