FEAT-074 - Add Main-Window Visual Evidence For Connected LowID State¶
Summary¶
Connected LowID/firewalled state is now visible in the main eMuleBB shell, not only in the tray icon and compact connection status bar icon. eMuleBB uses a LowID variant of the main app icon so title bar, taskbar, and Alt-Tab surfaces show the same abnormal connectivity signal.
Delivered Shape¶
- HighID, disconnected, and connecting states keep the normal app icon.
- Connected LowID/firewalled state switches to the LowID app icon.
- Main-window icon handles are separate from tray icon handles.
- Both large and small window icons are updated so Windows shell surfaces agree.
- Repeated connection-state refreshes avoid redundant SetIcon calls.
Scope Constraints¶
- No new status-bar text badge was added.
- eD2K/Kad connection-state semantics and tray behavior were not changed.
- No localization-facing text was added.
Acceptance Criteria¶
- [x] main app icon remains normal when disconnected, connecting, or connected HighID/open
- [x] main app icon switches to a LowID visual when connected firewalled/LowID
- [x] title bar, taskbar, and Alt-Tab use the same effective icon state
- [x] repeated connection refreshes do not churn icon handles or call SetIcon unnecessarily
- [x] native seam tests cover the state-selection policy
Validation¶
python -m emule_workspace validatepython -m emule_workspace build tests --config Debug --platform x64 --test-run-variant mainpython -m emule_workspace test native --config Debug --platform x64 --test-run-variant main --suite-name paritypython -m emule_workspace build app --variant main --config Debug --platform x64 --build-output-mode ErrorsOnlypython -m emule_workspace build app --variant main --config Release --platform x64 --build-output-mode ErrorsOnly