Skip to content

Conversation

@brtnfld
Copy link

@brtnfld brtnfld commented Jan 14, 2026

Implement SWT.ID_ABOUT and SWT.ID_PREFERENCES handlers to hook into the native macOS application menu (About/Preferences).
Centralize OS detection logic in ViewProperties.isMacOS() and replace inline checks.
Extract openUserOptionsDialog logic from createMenuBar to support reuse between the Tools menu and the macOS system menu.
Improve code readability by renaming semantic user option nodes and adding error logging for font creation failures.

Important

Integrate native macOS application menu items for About and Preferences in HDFView, centralize macOS detection, refactor code for reusability, and update GitHub workflows for dynamic versioning.

  • Behavior:
    • Implement SWT.ID_ABOUT and SWT.ID_PREFERENCES handlers in HDFView.java for macOS application menu integration.
    • Centralize macOS detection logic in ViewProperties.isMacOS().
    • Extract openUserOptionsDialog logic in HDFView.java for reuse.
  • Workflows:
    • Update build-linux.yml, ci-linux.yml, ci-macos.yml, ci-windows.yml, maven-ci-orchestrator.yml, maven-quality.yml, maven-security.yml, publish-maven-packages.yml, and release-files.yml to handle dynamic versioning and artifact naming for HDF4 and HDF5.
  • Misc:
    • Improve error logging for font creation failures in HDFView.java.
    • Rename semantic user option nodes in HDFView.java.

This description was created by Ellipsis for d78b66d. You can customize this summary. It will automatically update as commits are pushed.

    Implement SWT.ID_ABOUT and SWT.ID_PREFERENCES handlers to hook into the native macOS application menu (About/Preferences).
    Centralize OS detection logic in ViewProperties.isMacOS() and replace inline checks.
    Extract openUserOptionsDialog logic from createMenuBar to support reuse between the Tools menu and the macOS system menu.
    Improve code readability by renaming semantic user option nodes and adding error logging for font creation failures.
@brtnfld brtnfld marked this pull request as draft January 16, 2026 01:01
@mattjala mattjala marked this pull request as ready for review January 16, 2026 14:13
# Determine file pattern based on whether base name is provided
if [ -n "${{ inputs.hdf4_artifact_basename }}" ]; then
PATTERN="${{ inputs.hdf4_artifact_basename }}-ubuntu-2404_gcc.tar.gz"
PATTERN="${{ inputs.hdf4_artifact_basename }}-ubuntu-*_gcc.tar.gz"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the globbing here because when there are multiple artifacts in the resulting tarball, the glob parsing will fail. I think this is probably only showing up as a diff since the master branch has been updated.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem is that if the runners get updated, "2404" will fail.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not opposed to making the version handling more generic, but this should be done in a separate PR away from the menu changes.

Copy link
Collaborator

@mattjala mattjala left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to go in once it's synced with master to remove the workflow changes

Dynamic HDF4 version detection (uses latest release by default)
Performance fix for ViewProperties.isMacOS() (cached at class load time)
Standardized input handling across all workflows
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.

2 participants