Das Programm heisst Rechnungstool, nicht "Rechnungstool - Campinghof Bartl"

Sein Fund: "rechnungstool campinghof bartl ist falsch, das ist das rechnungstool
powered by ravokk". Stimmt - der Firmenname des KUNDEN gehoerte nie in den
Fenstertitel. Das Werkzeug steht bei jedem Betrieb, der es einsetzt, und traegt
seinen eigenen Namen; der Kunde steht auf der RECHNUNG.

Name und Marke stehen jetzt in config (PROGRAMM, MARKE) - Fenstertitel, das
Info-Fenster und die Fussleiste lesen von dort. Alle 14 Pruefstaende gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
This commit is contained in:
TheMockTv 2026-09-05 19:38:06 +02:00
parent 2faf8c1b9a
commit 5c9e9c2627
3 changed files with 13 additions and 7 deletions

6
app.py
View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
"""
Rechnungstool Campinghof Bartl - Desktop-GUI (Tkinter).
Rechnungstool (powered by ravokk) - Desktop-GUI (Tkinter).
Bedienung:
1. Kundenadresse + An-/Abreise eingeben
@ -59,7 +59,7 @@ class RechnungsApp(ThemeMixin, MeldungMixin, KorrekturMixin, EinstellungenMixin,
def __init__(self):
super().__init__()
self.cfg = config.load_config()
self.title("Rechnungstool - " + self.cfg["firma"].get("name", "Campinghof"))
self.title(config.PROGRAMM)
# Fensterhoehe an den Bildschirm anpassen, damit nichts unter den Rand rutscht
hoehe = max(560, min(840, self.winfo_screenheight() - 90))
self.geometry(f"1060x{hoehe}")
@ -567,7 +567,7 @@ class RechnungsApp(ThemeMixin, MeldungMixin, KorrekturMixin, EinstellungenMixin,
# Statuszeile ganz unten
status = ttk.Frame(self, padding=(12, 2))
status.pack(side="bottom", fill="x")
ttk.Label(status, text="powered by ravokk", foreground=self.col_muted,
ttk.Label(status, text=config.MARKE, foreground=self.col_muted,
font=(theme.SCHRIFT_NAME, 8)).pack(side="right")
# Steht der gemeinsame Ordner? Das gehoert sichtbar hin - ohne ihn kennt
# das Programm die Nummern des Steuerjournals nicht.

View file

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
"""
Konfiguration fuer das Rechnungstool Campinghof Bartl.
Konfiguration fuer das Rechnungstool (powered by ravokk).
Haelt die Standardwerte (Firmendaten, Steuersaetze, Leistungskatalog,
Rechnungsnummer-Zaehler) und kuemmert sich um Laden/Speichern der config.json.
@ -68,6 +68,12 @@ def _daten_ordner():
return kandidat
# Das Programm heisst Rechnungstool und kommt von ravokk. Der Firmenname des
# KUNDEN gehoert nicht in den Fenstertitel - das Werkzeug steht bei jedem
# Betrieb, der es einsetzt, und traegt seinen eigenen Namen.
PROGRAMM = "Rechnungstool"
MARKE = "powered by ravokk"
BASE_DIR = _daten_ordner()
CONFIG_PATH = os.path.join(BASE_DIR, "config.json")

View file

@ -51,13 +51,13 @@ class EinstellungenMixin:
self._style_dialog(d)
frm = ttk.Frame(d, padding=18)
frm.pack(fill="both", expand=True)
ttk.Label(frm, text="Rechnungstool Campinghof Bartl", font=(theme.SCHRIFT_NAME, 11, "bold"),
ttk.Label(frm, text=config.PROGRAMM, font=(theme.SCHRIFT_NAME, 11, "bold"),
foreground=self.col_accent).pack(anchor="w")
ttk.Label(frm, justify="left",
text="Daten eingeben, PDF erstellen, drucken.\n"
"Steuersätze, Preise und Firmendaten lassen sich\n"
"im Menü Einstellungen anpassen.").pack(anchor="w", pady=(8, 12))
ttk.Label(frm, text="powered by ravokk", foreground=self.col_muted).pack(anchor="w")
ttk.Label(frm, text=config.MARKE, foreground=self.col_muted).pack(anchor="w")
ttk.Button(frm, text="OK", command=d.destroy, width=10).pack(anchor="e", pady=(14, 0))
d.bind("<Escape>", lambda e: d.destroy())
d.bind("<Return>", lambda e: d.destroy())
@ -447,7 +447,7 @@ class EinstellungenMixin:
self.cfg["texte"]["dank2"] = t2.get("1.0", "end").strip()
self.cfg["texte"]["hinweis"] = vh.get().strip()
config.save_config(self.cfg)
self.title("Rechnungstool - " + self.cfg["firma"].get("name", ""))
self.title(config.PROGRAMM)
d.destroy()
btns = ttk.Frame(frm)