UI/UX pass: readability, feedback, safer actions, DRK branding
Items 1–12 of the interface review: - Larger UI font (UI_FONT_SIZE) across widgets, menus, dialogs, Treeview rows. - DRK-red header bar; window title shows entry count; runtime-drawn red-cross icon (also written to data/icon.png for the launcher). - Status bar colour-coded by severity; transient messages auto-clear after 8 s, queue-count messages stay. - Tab 1: more form spacing, digits-only PLZ, explicit "Auswahl entfernen" + Delete key for queue rows, confirm on "Warteschlange leeren", modal on duplicate save. - Tab 2: raw lat/lon columns replaced by one "Karte" column (checkmark / red "fehlt"); ▲/▼ arrow on the active sort column; hint line always shows the saved-entry count. - "Karte öffnen" with no coordinates shows a dialog, not just a status line. - Window size/position remembered between sessions (data/window.json). Verified by building and driving the window under Homebrew Python 3.12 / Tk 9; non-GUI smoke tests still pass. Docs updated (changelog, overview, improvements, data-model, setup, dev-notes). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+20
-12
@@ -3,23 +3,31 @@
|
||||
Running list so the same mistakes aren't repeated. Add to it whenever reality
|
||||
contradicts an assumption.
|
||||
|
||||
## The GUI does not run on the development Mac (2026-09-07)
|
||||
## The macOS system Python can't run the GUI; use a Homebrew Python (2026-09-07)
|
||||
|
||||
The macOS **CommandLineTools** Python 3.9 (`/Library/Developer/CommandLineTools/
|
||||
.../python3.9`) ships **Tk 8.5.9**. `ttkbootstrap` 1.10.1 requires **Tk 8.6+**.
|
||||
Symptoms: `TclError: couldn't recognize image data` (window icon) and
|
||||
`TclError: unknown option "-style"` on `ttk.Scrollbar`.
|
||||
|
||||
Symptoms when trying to launch `App()` there:
|
||||
- `_tkinter.TclError: couldn't recognize image data` (ttkbootstrap's window icon
|
||||
is a PNG; Tk 8.5 can't decode it), and
|
||||
- `_tkinter.TclError: unknown option "-style"` on `ttk.Scrollbar`.
|
||||
**Fix for local GUI testing:** `brew install python-tk@3.12` (pulls `tcl-tk`,
|
||||
gives Python 3.12 + **Tk 9.0**), then:
|
||||
|
||||
Consequences:
|
||||
- `app.py` **cannot be smoke-tested through the GUI on this machine.** Logic is
|
||||
covered by a non-GUI script (constructs `DataStore`, exercises helpers and the
|
||||
worker with monkey-patched paths).
|
||||
- The **Linux Mint target is unaffected** — its system Tk is 8.6.
|
||||
- If GUI testing on macOS is ever needed, install a Homebrew
|
||||
`python-tk@3.x` / `tcl-tk` combo, or use `pyenv` with `--with-tcltk`.
|
||||
```bash
|
||||
/opt/homebrew/bin/python3.12 -m venv venv
|
||||
venv/bin/pip install -r requirements.txt
|
||||
venv/bin/python app.py
|
||||
```
|
||||
|
||||
`ttkbootstrap` 1.10.1 runs fine on Tk 9.0 in practice (verified: window builds,
|
||||
Treeview sort, DateEntry, LabelFrame, custom styles all work).
|
||||
|
||||
- The **Linux Mint target** uses its own `python3-tk` (Tk 8.6+) and is
|
||||
unaffected either way.
|
||||
- `screencapture` from a non-GUI shell fails ("could not create image from
|
||||
display") without Screen-Recording permission — automated screenshots of the
|
||||
running app aren't available here; verify by building the widget tree and
|
||||
driving it programmatically instead.
|
||||
|
||||
## `pandas` reads everything as strings by design
|
||||
|
||||
|
||||
Reference in New Issue
Block a user