Skip to content

View → Keyboard Shortcuts menu item does nothing on macOS (precompiled build) #423

Description

@VU3ESV

What happened?

On macOS using the precompiled binary (v0.7.12), selecting View → Keyboard Shortcuts from the menu bar produces no visible result — no window, dialog, panel, or overlay opens. The menu item appears and is clickable, but the action is silently swallowed. The issue is specific to the macOS precompiled release; behavior on Linux or Windows builds is not yet confirmed.


What did you expect?

Selecting View → Keyboard Shortcuts should open a dedicated view, dialog, or overlay listing the available keyboard shortcuts and hotkeys for the application — similar to how most Qt desktop applications present a shortcut reference panel. The menu item being present in the UI implies the feature is at least partially wired up, so the expected outcome is a fully rendered shortcuts window.


Steps to reproduce

  1. Download and launch the precompiled macOS build of AetherSDR v0.7.12.
  2. In the macOS menu bar, click View.
  3. Click Keyboard Shortcuts from the dropdown.
  4. Observe: no window, dialog, or panel opens. The application returns silently to its previous state.

Radio model & firmware

  • Radio: FLEX-6600
  • Firmware: 4.1.5.39794

(Note: radio does not need to be connected for this issue to reproduce — it is a GUI-only concern.)


OS & version

  • OS: macOS
  • AetherSDR version: 0.7.12
  • Qt version: 6.7.3

Developer Notes

Relevant context from CLAUDE.md:

The "Keyboard shortcuts and hotkeys" feature is explicitly listed under What's NOT Yet Implemented:

Keyboard shortcuts and hotkeys

This strongly suggests the View → Keyboard Shortcuts menu action exists in the menu structure but its slot/handler is either a stub, connects to a null pointer, or is guarded by an unmet condition — causing a silent no-op rather than a not-implemented notice.

Files most likely involved:

  • src/gui/MainWindow.cpp / MainWindow.h — Menu bar construction and action wiring. The View menu and its actions are almost certainly assembled here. Look for the action creation and its connect() call (or absence thereof). Given the Qt6 quirk noted in CLAUDE.md, check whether the action uses the deprecated QMenu::addAction(text, obj, slot, shortcut) form, which may silently fail on macOS with Qt 6.7.x.
  • src/gui/MainWindow.cpp — menu setup function — Search for the string "Keyboard Shortcuts" or keyboardShortcuts to locate the action definition. Verify whether a signal/slot connection is actually present.
  • If a shortcuts dialog class exists, check src/gui/ for any file named KeyboardShortcutsDialog, ShortcutsView, or similar — it may be declared but never instantiated or shown.

Qt6 quirk to watch for (noted in CLAUDE.md):

Qt6: QMenu::addAction(text, obj, slot, shortcut) deprecated —
use addAction(text) + setShortcut() + connect() separately

If the menu action was created with the deprecated 4-argument form, the slot connection may be silently dropped on Qt 6.7.3, which would explain the no-op behavior. This is a plausible root cause specific to the macOS Qt6 build.

macOS-specific considerations:

  • On macOS, Qt remaps certain menu items (e.g. "Preferences", "About") into the application menu automatically. A "Keyboard Shortcuts" item could be intercepted or suppressed if it matches a reserved macOS HIG menu role. Check whether QAction::setMenuRole(QAction::NoRole) is set on the action.
  • The macOS precompiled build may be compiled with a different set of #ifdef Q_OS_MAC guards. If the shortcuts view depends on a widget or feature conditionally compiled out on macOS (e.g. anything touching PipeWireAudioBridge or Linux-only DAX), a broader #ifdef block could be accidentally suppressing the dialog.

Logging to enable:

Open Help → Support and enable the following logging categories to capture relevant diagnostic output at launch and on menu interaction:

  • GUI — will show any widget construction errors or missing slot connections
  • Core / General — catch any unhandled exceptions or assertions related to dialog instantiation

Suggested fix direction:

  1. Confirm whether a KeyboardShortcutsDialog (or equivalent) class exists in src/gui/.
  2. If the class exists but is unconnected: wire the triggered() signal of the View menu action to a slot that constructs and calls dialog->show() or dialog->exec().
  3. If the class does not exist: either implement the dialog or, at minimum, change the menu item to be disabled (action->setEnabled(false)) or hidden until the feature is ready, to avoid user confusion from a silent no-op.
  4. Replace any deprecated addAction(text, obj, slot, shortcut) call for this action with the Qt6-correct form:
    auto* act = viewMenu->addAction(tr("Keyboard Shortcuts"));
    act->setShortcut(QKeySequence(...));
    connect(act, &QAction::triggered, this, &MainWindow::showKeyboardShortcuts);

support-bundle-20260330-105945.tar.gz

support-bundle-20260330-105718.tar.gz

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfacebugSomething isn't workingmacOSmacOS-specific issuepriority: highHigh priority

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions