EU-Utility/plugins
LemonNexus 09ad30c223 feat: Dynamic hotkey discovery from plugins
REFACTOR: Hotkeys are no longer hardcoded in Settings UI

NEW SYSTEM:

1. Plugins advertise their hotkeys via class attributes:

   Legacy (single hotkey):
     hotkey = 'ctrl+shift+s'

   New format (multiple hotkeys with descriptions):
     hotkeys = [
         {
             'action': 'toggle',
             'description': 'Toggle Skill Scanner',
             'default': 'ctrl+shift+s',
             'config_key': 'skillscanner_toggle'  # optional
         },
         {
             'action': 'quick_scan',
             'description': 'Quick Scan',
             'default': 'f12',
         }
     ]

2. Settings UI dynamically discovers hotkeys:
   - Scans all plugins for hotkey/hotkeys attributes
   - Groups hotkeys by plugin name
   - Shows description + input field + reset button
   - Core system hotkeys in separate 'Core System' group

3. Visual improvements:
   - Scrollable hotkey list
   - Reset button (↺) for each hotkey
   - Tooltips showing default value
   - Plugin grouping for organization

4. Backward compatible:
   - Still supports legacy 'hotkey' attribute
   - Converts to new format automatically
   - Existing settings preserved

BASE PLUGIN:
- Added hotkeys attribute documentation
- Added docstring with usage examples
- Shows both formats in class docstring

SETTINGS PLUGIN:
- _create_hotkeys_tab() now dynamic
- _collect_plugin_hotkeys() scans all plugins
- Groups by plugin with QGroupBox
- Reset buttons restore defaults
- ScrollArea for long lists

This allows plugins to define multiple hotkeys with
descriptions, and they'll automatically appear in
Settings without hardcoding them in the core.
2026-02-15 01:28:21 +00:00
..
analytics fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
auction_tracker fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
auto_screenshot fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
auto_updater fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
calculator fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
chat_logger fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
codex_tracker fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
crafting_calc fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
dashboard fix: Fix HTTPClient, Dashboard, and Log Parser errors 2026-02-14 23:40:09 +00:00
discord_presence fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
dpp_calculator fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
enhancer_calc fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
event_bus_example fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
game_reader fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
game_reader_test fix: Add Arch Master rank and Reset button to Skill Scanner 2026-02-15 00:23:13 +00:00
global_tracker fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
import_export fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
inventory_manager fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
log_parser_test feat: Add plugin-to-plugin dependencies support 2026-02-14 23:49:13 +00:00
loot_tracker fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
mining_helper fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
mission_tracker fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
nexus_search fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
plugin_store_ui fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
price_alerts fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
profession_scanner fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
session_exporter fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
settings feat: Dynamic hotkey discovery from plugins 2026-02-15 01:28:21 +00:00
skill_scanner fix: Improve text filtering and add validation to skill parsing 2026-02-15 01:22:40 +00:00
spotify_controller fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
tp_runner fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
universal_search fix: Clean repository - remove workspace pollution 2026-02-14 03:34:04 +00:00
__init__.py feat: Complete Core Services Suite 2026-02-13 19:19:27 +00:00
base_plugin.py feat: Dynamic hotkey discovery from plugins 2026-02-15 01:28:21 +00:00