100 lines
3.2 KiB
Python
Executable File
100 lines
3.2 KiB
Python
Executable File
#! /usr/bin/env python3
|
|
from dialog import Dialog
|
|
import json
|
|
|
|
d = Dialog(dialog="dialog")
|
|
d.set_background_title("Klandr")
|
|
|
|
#klandringer = [{"klandrer":"Person 1","klandret":"Person 2","title":"Title to be","description":"Description to be"}]
|
|
#f = open("klandringer.json", "r", encoding="utf-8")
|
|
#print(f)
|
|
|
|
#klandringer = json.loads(str(f))
|
|
|
|
# Begin definitions
|
|
|
|
def menu_main():
|
|
code, tag = d.menu("Vælg punkt på dagsordenen",
|
|
title="Hovedmenu",
|
|
choices=[("Indledende", "Indledende bemærkninger"),
|
|
("Klandringer", "Så mange klandringer"),
|
|
("Afsluttende", "Afsluttende bemærkninger")])
|
|
|
|
if code == d.OK:
|
|
if tag == "Indledende":
|
|
menu_indledende()
|
|
elif tag == "Klandringer":
|
|
menu_klandringer()
|
|
elif tag == "Afsluttende":
|
|
menu_afsluttende()
|
|
|
|
|
|
# Begin klandringer
|
|
|
|
def menu_klandringer():
|
|
code, tag = d.menu("Vælg hvad du vil gøre med klandringerne.",
|
|
title="Klandringer",
|
|
choices=[("Ny", "Opret en ny klandring"),
|
|
("Ændr", "Ændr en eksisterende klandring"),
|
|
("Slet", "Slet en eksisterende klandring")])
|
|
|
|
if code == d.CANCEL:
|
|
menu_main()
|
|
elif code == d.OK:
|
|
if tag == "Ny":
|
|
create_klandring()
|
|
else:
|
|
klandring = menu_select_klandring()
|
|
if klandring != None:
|
|
if tag == "Ændr":
|
|
edit_klandring(klandring)
|
|
elif tag == "Slet":
|
|
delete_klandring(klandring)
|
|
else:
|
|
menu_klandringer()
|
|
|
|
def menu_select_klandring():
|
|
klandringer_entries = [(str(i),k["klandrer"] + " v. " + k["klandret"] + " - " + k["title"]) for i,k in enumerate(klandringer)]
|
|
code, tag = d.menu("Vælg den klandring du vil ændre/slette",
|
|
title="Vælg klandring",
|
|
choices=klandringer_entries)
|
|
if code == d.OK:
|
|
return tag
|
|
|
|
def create_klandring():
|
|
klandringer.append({"klandrer":"","klandret":"","title":""})
|
|
edit_klandring(-1)
|
|
|
|
|
|
def edit_klandring(strid):
|
|
id = int(strid)
|
|
code, elements = d.form("Ændr detaljer om klandring",
|
|
title="Ændr klandring",
|
|
elements=[("Titel:",1,1,klandringer[id]["title"],1,11,20,20),
|
|
("Klandrer:",2,1,klandringer[id]["klandrer"],2,11,20,20),
|
|
("Klandret:",3,1,klandringer[id]["klandret"],3,11,20,20)])
|
|
|
|
if code == d.OK:
|
|
klandringer[id]["title"] = elements[0]
|
|
klandringer[id]["klandrer"] = elements[1]
|
|
klandringer[id]["klandret"] = elements[2]
|
|
|
|
def delete_klandring(strid):
|
|
id = int(strid)
|
|
code = d.yesno("Vil du virkelig slette denne klandring?\n\nDenne handling er ufortrydelig!",
|
|
title="Slet klandring!",
|
|
yes_label="Ja",
|
|
no_label="Nej",)
|
|
if code == d.OK:
|
|
del klandringer[id]
|
|
d.msgbox("Klandringen er slettet!")
|
|
|
|
menu_klandringer()
|
|
|
|
# End klandringer
|
|
# End definitions
|
|
|
|
menu_main()
|
|
|
|
print(json.dumps(klandringer))
|