Programm startet maximiert; Version 1.7.0

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kerim AtilganandClaude Opus 5.5 committed 2026-11-03 14:23:01 +01:00
1 parent c96cf1bd94
commit c332c5a487
5 files changed
+24 -5

No files matched your search

+1 -1
View File
@@ -76,7 +76,7 @@ Welche Provisionsart Airtime bzw. Jahresbonus ist, erkennt das Programm an den T
„AirTime Provision“, „Umsatzbeteiligung“, „Jahresbonus“); umstellbar je Provisionsart unter „AirTime Provision“, „Umsatzbeteiligung“, „Jahresbonus“); umstellbar je Provisionsart unter
*Händler ▸ Provisionsarten…*. *Händler ▸ Provisionsarten…*.
Das Hauptfenster ist unter Windows ein echtes Programmfenster: an den Bildschirmrand Das Programm startet maximiert. Das Hauptfenster ist unter Windows ein echtes Programmfenster: an den Bildschirmrand
ziehen (Andocken), `Win`+Pfeiltasten, Doppelklick auf die Titelleiste und Ziehen am Rand funktionieren ziehen (Andocken), `Win`+Pfeiltasten, Doppelklick auf die Titelleiste und Ziehen am Rand funktionieren
wie gewohnt. wie gewohnt.
+1 -1
View File
@@ -1,5 +1,5 @@
"""Provisions-Manager 95 – Provisionsabrechnung für Unterhändler der Handy-Insel Miesbach.""" """Provisions-Manager 95 – Provisionsabrechnung für Unterhändler der Handy-Insel Miesbach."""
__version__ = "1.6.0" __version__ = "1.7.0"
APP_NAME = "Provisions-Manager 95" APP_NAME = "Provisions-Manager 95"
APP_ORG = "Handy-Insel Miesbach" APP_ORG = "Handy-Insel Miesbach"
+2 -1
View File
@@ -96,7 +96,8 @@ class App:
griff.pack(side="right", anchor="se") griff.pack(side="right", anchor="se")
self.status.pack(side="bottom", fill="x") self.status.pack(side="bottom", fill="x")
self._tasten() self._tasten()
self.rahmen.geometrie_setzen(self.settings.get("fenster"), self.settings.get("maximiert", False)) # startet maximiert („vollbild“, abschaltbar nur für Tests); „fenster“ = Größe nach dem Wiederherstellen
self.rahmen.geometrie_setzen(self.settings.get("fenster"), self.settings.get("vollbild", True))
if self.settings.get("trenner"): if self.settings.get("trenner"):
root.after(200, lambda: self.pw.sash_place(0, int(self.settings["trenner"]), 0)) root.after(200, lambda: self.pw.sash_place(0, int(self.settings["trenner"]), 0))
+5
View File
@@ -414,6 +414,11 @@ class Hauptrahmen:
self._nativ_einrichten() self._nativ_einrichten()
if maximiert and self.klassisch: if maximiert and self.klassisch:
self.root.after(100, self.maximieren) self.root.after(100, self.maximieren)
elif maximiert: # normaler Windows-Rahmen: Windows maximiert selbst
try:
self.root.state("zoomed")
except tk.TclError:
self.root.attributes("-zoomed", True) # Linux/X11
def normale_geometrie(self) -> str: def normale_geometrie(self) -> str:
return self._normal_geo if self.maximiert and self._normal_geo else self.root.geometry() return self._normal_geo if self.maximiert and self._normal_geo else self.root.geometry()
+15 -2
View File
@@ -29,8 +29,9 @@ class Lauf:
def __init__(self, home, einstellungen: dict | None = None): def __init__(self, home, einstellungen: dict | None = None):
self.home = home self.home = home
if einstellungen is not None: # Tests starten im normalen Fenster (die App sonst maximiert)
(home / "einstellungen.json").write_text(json.dumps(einstellungen), encoding="utf-8") einstellungen = {"vollbild": False} | (einstellungen or {})
(home / "einstellungen.json").write_text(json.dumps(einstellungen), encoding="utf-8")
self.root = None self.root = None
for versuch in range(3): for versuch in range(3):
try: try:
@@ -1192,3 +1193,15 @@ def test_filter_kennzahlen_und_hell_dunkel(lauf_modern):
lauf.root.update() lauf.root.update()
assert app.neustart and app._beendet assert app.neustart and app._beendet
assert config.load()["design"] == "dunkel" assert config.load()["design"] == "dunkel"
def test_startet_maximiert(home):
_profil_mit_daten(home)
lauf = Lauf(home, {"assistent_erledigt": True, "tipps_beim_start": False, "vollbild": True, "design": "win95"})
try:
for _ in range(30):
lauf.root.update()
time.sleep(0.02)
assert lauf.app.rahmen.maximiert, "Programm startet nicht maximiert"
finally:
lauf.ende()