Skip to content

Fix UI layout issues and improve accessibility - #67

Open
maurizio-bruccoleri wants to merge 2 commits into
MacPass:masterfrom
maurizio-bruccoleri:feature/universal-binary-and-ui-fixes
Open

Fix UI layout issues and improve accessibility#67
maurizio-bruccoleri wants to merge 2 commits into
MacPass:masterfrom
maurizio-bruccoleri:feature/universal-binary-and-ui-fixes

Conversation

@maurizio-bruccoleri

@maurizio-bruccoleri maurizio-bruccoleri commented Sep 4, 2026

Copy link
Copy Markdown

Pull Request: UI Layout Fixes and Improve Accessibility

Summary

This PR addresses critical UI layout issues and fixes version display problems in the MacPassHTTP plugin.

Problems Solved

The MacPassHTTP plugin had significant UI/UX issues:

  • Hidden controls: The "Delete shared encryption keys" and "Delete stored permission" buttons were not visible/accessible in the Advanced section
  • Missing section titles: The "Interface" section title was not displayed
  • Layout conflicts: The plugin interface interfered with MacPass's main settings area
  • Version display: Plugin showed 'Version: X.X.X (UNKNOWN)' instead of proper build number

Solutions Implemented

UI/UX Improvements

  1. Unified Layout: Replaced separate boxes with a clean, scrollable unified layout
  2. Accessible Controls: All controls now properly visible and accessible via scroll
  3. Clear Section Headers: Both "Interface" and "Advanced" section titles now display correctly
  4. Optimized Spacing: Better use of available space without interfering with MacPass UI
  5. Consistent Styling: Layout matches MacPass design patterns

Version Display Fix

  • Changed CFBundleVersion from hardcoded 'UNKNOWN' to $(CURRENT_PROJECT_VERSION)
  • Plugin now shows proper version number (e.g., "Version: 0.3.3 (98)") instead of "Version: 0.3.3 (UNKNOWN)"
  • Maintains compatibility with existing git-based Versioning script

Technical Changes

  • Redesigned MacPassHTTPSettings.xib with modern AutoLayout constraints
  • Removed fixed frame sizes that caused layout conflicts
  • Implemented proper scrollable content area
  • Added section title labels with appropriate styling
  • Optimized constraint hierarchy for better compatibility
  • Fixed Info.plist version configuration

Version Update

  • Version bumped from 0.3.2 to 0.3.3

Before/After Comparison

Before

  • ❌ Delete buttons hidden/inaccessible
  • ❌ "Interface" title not visible
  • ❌ Layout interfered with MacPass settings
  • ❌ Inconsistent with other MacPass plugins
  • ❌ Version showed "(UNKNOWN)" build number

After

  • ✅ All controls visible and accessible
  • ✅ Both section titles properly displayed
  • ✅ Clean integration with MacPass preferences
  • ✅ Scrollable interface when needed
  • ✅ Consistent with MacPass design patterns
  • ✅ Proper version display with build number

Testing

  • ✅ Tested on macOS with MacPass latest version
  • ✅ All controls functional and accessible
  • ✅ No interference with MacPass main interface
  • ✅ Proper scrolling behavior when content exceeds viewport
  • ✅ Section titles display correctly
  • ✅ Version number displays properly

Files Modified

  • MacPassHTTP/Base.lproj/MacPassHTTPSettings.xib - Complete UI redesign
  • MacPassHTTP.xcodeproj/project.pbxproj - Version update
  • MacPassHTTP/Info.plist - Version display fix

Backward Compatibility

  • ✅ All existing functionality preserved
  • ✅ Same IBOutlet connections maintained
  • ✅ No breaking changes to functionality
  • ✅ Plugin interface and behavior unchanged

Type: Bug Fix, Enhancement
Priority: High (affects core plugin usability)
Breaking Changes: None
Testing Required: UI/UX verification in MacPass

- Redesigned settings interface with unified scrollable layout
- Fixed hidden controls in Advanced section (Delete buttons now accessible)
- Improved section titles visibility (Interface/Advanced)
- Optimized spacing and layout constraints for better MacPass integration
- All controls now properly visible and accessible via scroll
- Version bump to 0.3.3

Fixes: Controls in Advanced section were cut off and inaccessible
Resolves: Layout inconsistencies with MacPass preferences interface
- Changed CFBundleVersion from hardcoded 'UNKNOWN' to $(CURRENT_PROJECT_VERSION)
- Plugin now shows proper version number instead of 'Version: X.X.X (UNKNOWN)'
- Maintains compatibility with existing Versioning script for git commit counting

Fixes: Version display showing '(UNKNOWN)' instead of build number
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.

1 participant