Skip to content

Add smart icon detection and visual feedback improvements#6

Open
Inokinoki wants to merge 1 commit into
mainfrom
feature/icon-detection-and-visual-feedback
Open

Add smart icon detection and visual feedback improvements#6
Inokinoki wants to merge 1 commit into
mainfrom
feature/icon-detection-and-visual-feedback

Conversation

@Inokinoki
Copy link
Copy Markdown
Owner

This commit implements comprehensive improvements to the EFI Boot Manager KCM, including bug fixes, missing method implementations, and enhanced visual feedback.

Core Features:

  • Fix icon detection functions that were declared but never called
  • Add OS type, icon, and device icon detection to boot entries
  • Implement lastOperationSuccess and lastOperationEntryId properties
  • Add currentFilter and currentSortOrder properties for UI state tracking

Bug Fixes:

  • Fix detailsForEntry() to include iconName, accentColor, deviceIcon, isBootNext, isCurrent
  • Fix wrong object reference in navigation (kcm.manager.data → entries.data)
  • Add missing isVisible property to delegate
  • Fix property access in delegate (name, entryIdHex, path → delegate.name, etc.)

Missing Method Implementations:

  • Context menu: verifyEntryFiles, repairEntry, toggleEntryFavorite, testBootEntry, analyzeDependencies
  • Toolbar actions: getDiagnostics, validateEntries, verifyAllEntries, getBootStats, getBootHistory
  • System info: checkSecureBoot, getFirmwareInfo, autoRepairAllEntries, optimizeBootOrder
  • Data access: getEfiVariables, getAuditLog, benchmarkBootPerformance, getSystemBootLog
  • UI control: sortEntries, filterByOsType, resetFilter

Enhanced OS Detection:

  • Add detection for: Rocky Linux, AlmaLinux, NixOS, Alpine, Void, MX Linux, deepin
  • Improve Ubuntu flavors: Kubuntu, Xubuntu, Lubuntu, MATE, Studio, Budgie, Kylin
  • Add Arch variants: Garuda, Arco Linux
  • Add openSUSE variants: Tumbleweed, Leap
  • Add Windows edition shortcuts: Win11, Win10, Win8, Win7
  • Use QLatin1StringView for better performance

Visual Feedback:

  • Add loading indicators for icon loading
  • Implement automatic fallback to "computer" icon on error
  • Enhance details dialog with status badges (Current, BootNext, Default, Visible)
  • Add operation result animations tied to specific entries

New Signals:

  • dependenciesAnalyzed, diagnosticsReady, entriesValidated
  • bootStatsReady, bootHistoryReady, systemBootLogReady
  • secureBootChecked, firmwareInfoReady, bootOrderOptimized
  • efiVariablesReady, auditLogReady, bootBenchmarkComplete
  • lastOperationEntryIdChanged, currentFilterChanged, currentSortOrderChanged

Code Quality:

  • Add validateIconName() helper function for safe icon fallback
  • Extract and track entryId in runAuthAction() for operation tracking
  • Proper error handling and null checks in all new methods
  • Consistent use of delegate property prefix throughout UI

This commit implements comprehensive improvements to the EFI Boot Manager KCM,
including bug fixes, missing method implementations, and enhanced visual feedback.

Core Features:
- Fix icon detection functions that were declared but never called
- Add OS type, icon, and device icon detection to boot entries
- Implement lastOperationSuccess and lastOperationEntryId properties
- Add currentFilter and currentSortOrder properties for UI state tracking

Bug Fixes:
- Fix detailsForEntry() to include iconName, accentColor, deviceIcon, isBootNext, isCurrent
- Fix wrong object reference in navigation (kcm.manager.data → entries.data)
- Add missing isVisible property to delegate
- Fix property access in delegate (name, entryIdHex, path → delegate.name, etc.)

Missing Method Implementations:
- Context menu: verifyEntryFiles, repairEntry, toggleEntryFavorite, testBootEntry, analyzeDependencies
- Toolbar actions: getDiagnostics, validateEntries, verifyAllEntries, getBootStats, getBootHistory
- System info: checkSecureBoot, getFirmwareInfo, autoRepairAllEntries, optimizeBootOrder
- Data access: getEfiVariables, getAuditLog, benchmarkBootPerformance, getSystemBootLog
- UI control: sortEntries, filterByOsType, resetFilter

Enhanced OS Detection:
- Add detection for: Rocky Linux, AlmaLinux, NixOS, Alpine, Void, MX Linux, deepin
- Improve Ubuntu flavors: Kubuntu, Xubuntu, Lubuntu, MATE, Studio, Budgie, Kylin
- Add Arch variants: Garuda, Arco Linux
- Add openSUSE variants: Tumbleweed, Leap
- Add Windows edition shortcuts: Win11, Win10, Win8, Win7
- Use QLatin1StringView for better performance

Visual Feedback:
- Add loading indicators for icon loading
- Implement automatic fallback to "computer" icon on error
- Enhance details dialog with status badges (Current, BootNext, Default, Visible)
- Add operation result animations tied to specific entries

New Signals:
- dependenciesAnalyzed, diagnosticsReady, entriesValidated
- bootStatsReady, bootHistoryReady, systemBootLogReady
- secureBootChecked, firmwareInfoReady, bootOrderOptimized
- efiVariablesReady, auditLogReady, bootBenchmarkComplete
- lastOperationEntryIdChanged, currentFilterChanged, currentSortOrderChanged

Code Quality:
- Add validateIconName() helper function for safe icon fallback
- Extract and track entryId in runAuthAction() for operation tracking
- Proper error handling and null checks in all new methods
- Consistent use of delegate property prefix throughout UI

Co-Authored-By: Claude Sonnet 4.5 <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.

1 participant