- All widget heights, fonts, padding and spacing derived from
Window.height so layout fits any screen (800p, 1080p, etc.)
- Content block wrapped in AnchorLayout (anchor_y=center) so it
sits centered in the space above the numpad instead of bottom-aligned
- Rebuilt DatabaseApp.exe (30.9 MB)
- Exit button relocated from bottom-right overlay to right side of title row
- Spacing between action buttons and update frame reduced 40px -> 10px
- Rebuilt DatabaseApp.exe (30.9 MB)
mysql-connector-python 9.x restructured its package hierarchy. PyInstaller
fails to auto-discover submodules (aio, plugins, locales, etc.).
Updated DatabaseApp.spec to use collect_all('mysql.connector') which
walks the full package tree and bundles all required files.
Rebuilt DatabaseApp.exe (30.9 MB).
- Auto-detect article type: 8-digit strings = BOX (strip leading zeros),
anything else = PRODUCT
- Live mode indicator label with manual override toggle button
- On-screen numeric keypad (digits, decimal, backspace, Enter)
- Active field routing: numpad writes to whichever field is focused
- Scanner compatibility: Config keyboard_mode=system, refocus after
each numpad press so HID scanner always has a target
- Reset Values now also redirects numpad/scanner focus to ID field
- Suppress OS virtual keyboard on touch for ID and mass fields
- Save/load DB host from config.json (works both in dev and built .exe)
- All DB operations moved to background threads to prevent UI blocking
- Connection timeout set to 5s to avoid long hangs on unreachable host
- Added Test Connection button to Settings popup
- Added red Exit button fixed to bottom-right corner of main screen
- Updated DatabaseApp.spec with full Kivy deps (sdl2, glew, angle) and hidden imports
- PyInstaller-aware base path using sys.frozen for config.json persistence