Skip to content

Fix macOS menu role mis-wiring: Preferences opened Shortcuts dialog (#883)#924

Merged
ten9876 merged 1 commit into
aethersdr:mainfrom
AetherClaude:aetherclaude/issue-883
Apr 7, 2026
Merged

Fix macOS menu role mis-wiring: Preferences opened Shortcuts dialog (#883)#924
ten9876 merged 1 commit into
aethersdr:mainfrom
AetherClaude:aetherclaude/issue-883

Conversation

@AetherClaude

Copy link
Copy Markdown
Collaborator

Summary

Fixes #883

On macOS, Qt automatically assigns QAction::PreferencesRole to any action whose text contains "setup", "setting", or "config". Since no explicit setMenuRole() calls existed in the codebase, Qt was reparenting the wrong actions into the macOS app menu:

  • AetherSDR → Preferences opened the Keyboard Shortcuts dialog instead of Radio Setup
  • View → Configure Shortcuts... disappeared from its menu (silently reparented)
  • Other Settings menu items (TX Band Settings..., AetherDSP Settings...) were also orphaned

Changes

  • Set QAction::NoRole on all 5 affected actions to prevent macOS auto-reparenting:
    • Radio Setup... (matches "setup")
    • Choose Radio / SmartLink Setup... (matches "setup")
    • TX Band Settings... (matches "setting")
    • AetherDSP Settings... (matches "setting")
    • Configure Shortcuts... (matches "config")
  • Added a dedicated PreferencesRole action that correctly triggers Radio Setup from the macOS app menu

No behavior change on Linux/Windows — menu roles are ignored on those platforms.

Test plan

  • macOS: AetherSDR → Preferences opens Radio Setup dialog
  • macOS: View → Configure Shortcuts... is visible and opens the shortcut editor
  • macOS: All Settings menu items remain visible and functional
  • Linux/Windows: no behavior change — all menus work as before

🤖 Generated with Claude Code

…ethersdr#883)

On macOS, Qt auto-assigns PreferencesRole to actions containing setup,
setting, or config in their text. This caused Configure Shortcuts to be
reparented into the macOS app menu Preferences slot, while the actual
settings actions became invisible. Fix by explicitly setting NoRole on all
affected actions and adding a dedicated PreferencesRole action that
correctly triggers Radio Setup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ten9876 ten9876 marked this pull request as ready for review April 7, 2026 23:49
@ten9876 ten9876 self-requested a review as a code owner April 7, 2026 23:49
@ten9876 ten9876 merged commit e6885ef into aethersdr:main Apr 7, 2026
5 checks passed
aethersdr-agent Bot pushed a commit that referenced this pull request Apr 10, 2026
…883) (#924)

On macOS, Qt auto-assigns PreferencesRole to actions containing setup,
setting, or config in their text. This caused Configure Shortcuts to be
reparented into the macOS app menu Preferences slot, while the actual
settings actions became invisible. Fix by explicitly setting NoRole on all
affected actions and adding a dedicated PreferencesRole action that
correctly triggers Radio Setup.

Co-authored-by: AetherClaude <aetherclaude@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Keyboard Shortcuts menu item does nothing on macOS (precompiled build) ,Preferences open the Shortcuts Window

2 participants