feat: persistent DB host config, async DB ops, Exit button, test connection
- 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
This commit is contained in:
@@ -1,12 +1,36 @@
|
||||
# -*- mode: python ; coding: utf-8 -*-
|
||||
|
||||
from kivy_deps import sdl2, glew, angle
|
||||
|
||||
a = Analysis(
|
||||
['main.py'],
|
||||
pathex=[],
|
||||
binaries=[],
|
||||
datas=[],
|
||||
hiddenimports=['mysql.connector', 'kivy.core.window.window_sdl2', 'win32timezone'],
|
||||
hiddenimports=[
|
||||
'mysql.connector',
|
||||
'mysql.connector.locales',
|
||||
'mysql.connector.locales.eng',
|
||||
'kivy',
|
||||
'kivy.core.window',
|
||||
'kivy.core.window.window_sdl2',
|
||||
'kivy.core.text',
|
||||
'kivy.core.text.text_sdl2',
|
||||
'kivy.core.image',
|
||||
'kivy.core.image.img_sdl2',
|
||||
'kivy.core.image.img_pil',
|
||||
'kivy.core.audio',
|
||||
'kivy.core.clipboard',
|
||||
'kivy.core.clipboard.clipboard_sdl2',
|
||||
'kivy.core.spelling',
|
||||
'kivy.graphics',
|
||||
'kivy.graphics.cgl_backend',
|
||||
'kivy.graphics.cgl_backend.cgl_glew',
|
||||
'kivy.input.providers',
|
||||
'kivy.input.providers.wm_touch',
|
||||
'kivy.input.providers.wm_pen',
|
||||
'win32timezone',
|
||||
'pkg_resources.py2_compat',
|
||||
],
|
||||
hookspath=[],
|
||||
hooksconfig={},
|
||||
runtime_hooks=[],
|
||||
@@ -21,6 +45,7 @@ exe = EXE(
|
||||
a.scripts,
|
||||
a.binaries,
|
||||
a.datas,
|
||||
*[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins + angle.dep_bins)],
|
||||
[],
|
||||
name='DatabaseApp',
|
||||
debug=False,
|
||||
|
||||
Reference in New Issue
Block a user