EU-Utility/plugins/skill_scanner
LemonNexus 05f8c06312 fix: Replace all invokeMethod calls with Qt signals for thread-safety
BUG: QMetaObject.invokeMethod with Q_ARG doesn't work properly in PyQt6
and was causing TypeError exceptions.

FIX:
- Added proper Qt signals at class level:
  * update_status_signal(str, bool, bool)
  * update_session_table_signal(object)
  * update_counters_signal()
  * enable_scan_button_signal(bool)

- Connected all signals to slot methods in initialize()
- Replaced all invokeMethod calls with signal.emit()
- Thread callbacks now emit signals instead of calling invokeMethod
- UI updates happen in main Qt thread via signal/slot mechanism

This is the correct PyQt6 way to do cross-thread communication.
All UI updates are now thread-safe and won't cause TypeErrors.
2026-02-15 00:51:15 +00:00
..
__init__.py fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
plugin.py fix: Replace all invokeMethod calls with Qt signals for thread-safety 2026-02-15 00:51:15 +00:00