Skip to content

feat: added a Open image- project dialog when starting invesalius#1364

Open
Prat260104 wants to merge 1 commit intoinvesalius:masterfrom
Prat260104:feat/open-project-dialog
Open

feat: added a Open image- project dialog when starting invesalius#1364
Prat260104 wants to merge 1 commit intoinvesalius:masterfrom
Prat260104:feat/open-project-dialog

Conversation

@Prat260104
Copy link
Copy Markdown
Contributor

Implements #613

Summary

This PR introduces a startup dialog displayed on application launch to guide users toward common entry points such as importing DICOM data, opening an existing project, or starting a new session.

Previously, users were presented with an empty interface without clear next steps. This change provides a structured starting point and improves overall usability, particularly for first-time users.


Motivation

The absence of guidance on startup can lead to confusion and unnecessary friction. Introducing a startup dialog aligns InVesalius with standard UX patterns used in professional applications, making the initial workflow more intuitive and accessible.


Implementation Details

  • Added a StartupDialog using standard wxPython components to ensure full UI consistency.
  • Integrated into the application startup flow after splash screen handling.
  • Displayed only when appropriate:
    • Normal startup without active session or recovery
    • After canceling recovery flows
  • Skipped when:
    • Crash recovery is accepted
    • A valid session is restored

Design Considerations

  • Uses native wx widgets (wx.Dialog, wx.BoxSizer, etc.)
  • No custom styling; follows existing UI patterns and system theme
  • Layout and behavior consistent with current dialogs
  • Strings prepared for internationalization

Testing

  • Verified dialog visibility across startup scenarios
  • Confirmed correct behavior of all entry actions
  • Ensured no regression in crash recovery or session restore flows
  • Tested on supported platforms for layout consistency

Impact

  • Provides clear entry points on startup
  • Reduces initial user confusion and improves onboarding
  • Maintains full UI consistency with existing components
  • No breaking changes or additional dependencies

Files Modified

  • invesalius/gui/dialogs.py – Added StartupDialog
  • app.py – Integrated dialog into startup flow

Dialog UI

Screen.Recording.2026-04-18.at.21.39.08.mp4

@Prat260104 Prat260104 closed this Apr 18, 2026
@Prat260104 Prat260104 reopened this Apr 18, 2026
@Prat260104
Copy link
Copy Markdown
Contributor Author

Hi @paulojamorim sir,

This PR implements #613.

Could you please review it and share your feedback on the UI when you have time?

@Prat260104
Copy link
Copy Markdown
Contributor Author

Hi @paulojamorim sir,
Could you please review this PR and give feedback related to UI whenever you have time ?

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