Neues Design im Stil der Handy-Insel-Webtools: Kopfzeile, Seitenleiste, Kennzahlen, Filter, hell/dunkel, IBM Plex
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
2600eea574
commit
f296483fdc
12 files changed
+654
-160
No files matched your search
+21
-13
@@ -868,10 +868,15 @@ class ExportDialog(w.Dialog):
|
||||
"""haendler: (id, name, anzahl, summe_cent)"""
|
||||
super().__init__(master, "Abrechnungen exportieren")
|
||||
self.settings = settings
|
||||
f = tk.Frame(self, bg=w.FACE)
|
||||
f.pack(fill="both", expand=True, padx=10, pady=10)
|
||||
rumpf = tk.Frame(self, bg=w.FACE)
|
||||
rumpf.pack(fill="both", expand=True, padx=10, pady=10)
|
||||
# zwei Spalten (links Händler, rechts Zeitraum und Optionen) – passt auch auf kleine Bildschirme
|
||||
f = tk.Frame(rumpf, bg=w.FACE)
|
||||
f.pack(side="left", fill="both", expand=True)
|
||||
rechts = tk.Frame(rumpf, bg=w.FACE)
|
||||
rechts.pack(side="left", fill="y", padx=(14, 0))
|
||||
tk.Label(f, text="Für welche Händler soll eine Excel-Datei erstellt werden?", anchor="w").pack(fill="x")
|
||||
r, self.tree = w.scroll_tree(f, columns=("name", "anzahl", "summe"), show="tree headings", height=8,
|
||||
r, self.tree = w.scroll_tree(f, columns=("name", "anzahl", "summe"), show="tree headings", height=12,
|
||||
selectmode="extended")
|
||||
self.tree.heading("#0", text="")
|
||||
self.tree.column("#0", width=40, stretch=False)
|
||||
@@ -891,7 +896,7 @@ class ExportDialog(w.Dialog):
|
||||
w.knopf(kk, "Alle", lambda: self._alle(True)).pack(side="left")
|
||||
w.knopf(kk, "Keine", lambda: self._alle(False)).pack(side="left", padx=4)
|
||||
|
||||
g = w.gruppe(f, "Optionen")
|
||||
g = w.gruppe(rechts, "Optionen")
|
||||
g.pack(fill="x", pady=(8, 0))
|
||||
tk.Label(g, text="Bezeichnung im Dateinamen:").grid(row=0, column=0, sticky="w")
|
||||
self.v_titel = tk.StringVar(value=titel)
|
||||
@@ -913,13 +918,14 @@ class ExportDialog(w.Dialog):
|
||||
("Summenzeile unter der Tabelle", self.v_sum),
|
||||
("Ordner nach dem Export öffnen", self.v_auf)), start=2):
|
||||
tk.Checkbutton(g, text=text, variable=var).grid(row=zeile, column=0, columnspan=3, sticky="w")
|
||||
tk.Label(g, text="Airtime steht in der Abrechnung als eine Summenzeile, die Einzelposten kommen in eine\n"
|
||||
"eigene Datei „... - Airtime - ...xlsx“.", fg=w.SHADOW, justify="left", anchor="w").grid(
|
||||
tk.Label(g, text="Airtime steht in der Abrechnung als eine Summenzeile, die Einzelposten kommen in eine "
|
||||
"eigene Datei „... - Airtime - ...xlsx“.", fg=w.SHADOW, justify="left", anchor="w",
|
||||
wraplength=420).grid(
|
||||
row=7, column=0, columnspan=3, sticky="w", pady=(4, 0))
|
||||
g.columnconfigure(1, weight=1)
|
||||
|
||||
z = w.gruppe(f, "Zeitraum und Abrechnung")
|
||||
z.pack(fill="x", pady=(8, 0))
|
||||
z = w.gruppe(rechts, "Zeitraum und Abrechnung")
|
||||
z.pack(fill="x", before=g)
|
||||
zf = tk.Frame(z, bg=w.FACE)
|
||||
zf.pack(fill="x")
|
||||
tk.Label(zf, text="Nur von:").pack(side="left")
|
||||
@@ -934,11 +940,12 @@ class ExportDialog(w.Dialog):
|
||||
self.v_basis = tk.StringVar(value=zr.BASEN[settings.get("export_basis", zr.AKTIVIERUNG)])
|
||||
ttk.Combobox(z, textvariable=self.v_basis, values=list(zr.BASEN.values()), state="readonly",
|
||||
width=40).pack(anchor="w", pady=(4, 0))
|
||||
tk.Label(z, text="(leer bzw. „Noch nicht abgerechnet“ = alle offenen Positionen; Datum als TT.MM.JJJJ)", fg=w.SHADOW, anchor="w").pack(
|
||||
fill="x")
|
||||
tk.Label(z, text="(leer bzw. „Noch nicht abgerechnet“ = alle offenen Positionen; Datum als TT.MM.JJJJ)",
|
||||
fg=w.SHADOW, anchor="w", justify="left", wraplength=420).pack(fill="x")
|
||||
self.v_kennz = tk.BooleanVar(value=True)
|
||||
tk.Checkbutton(z, text="Exportierte Positionen als abgerechnet kennzeichnen (werden dann nicht noch "
|
||||
"einmal abgerechnet)", variable=self.v_kennz, anchor="w").pack(fill="x", pady=(4, 0))
|
||||
"einmal abgerechnet)", variable=self.v_kennz, anchor="w", justify="left",
|
||||
wraplength=400).pack(fill="x", pady=(4, 0))
|
||||
self.knopfleiste([("Exportieren", self._ok), ("Abbrechen", self.abbrechen)]).pack(pady=(0, 10))
|
||||
|
||||
def _vormonat(self):
|
||||
@@ -1014,10 +1021,11 @@ class EinstellungenDialog(w.Dialog):
|
||||
g2 = w.gruppe(self, "Darstellung")
|
||||
g2.pack(fill="x", padx=10, pady=(0, 10))
|
||||
self.v_design = tk.StringVar(value=settings.get("design", "modern"))
|
||||
tk.Radiobutton(g2, text="Modern (wie Windows 11)", variable=self.v_design, value="modern").pack(anchor="w")
|
||||
tk.Radiobutton(g2, text="Modern hell", variable=self.v_design, value="modern").pack(anchor="w")
|
||||
tk.Radiobutton(g2, text="Modern dunkel", variable=self.v_design, value="dunkel").pack(anchor="w")
|
||||
tk.Radiobutton(g2, text="Klassisch (Windows 95, Legacy)", variable=self.v_design, value="win95").pack(
|
||||
anchor="w")
|
||||
tk.Label(g2, text="Wirkt beim nächsten Programmstart.", fg=w.SHADOW).pack(anchor="w")
|
||||
tk.Label(g2, text="Das Fenster wird nach OK mit dem neuen Design neu aufgebaut.", fg=w.SHADOW).pack(anchor="w")
|
||||
self.knopfleiste([("OK", self._ok), ("Abbrechen", self.abbrechen)]).pack(pady=(0, 10))
|
||||
|
||||
def _waehlen(self):
|
||||
|
||||
Reference in new issue
Block a user