Skip to content

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

Open
Prat260104 wants to merge 2 commits into
invesalius:masterfrom
Prat260104:feat/open-project-dialog
Open

feat: added a Open image- project dialog when starting invesalius#1364
Prat260104 wants to merge 2 commits into
invesalius: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 ?

Resolved conflict in invesalius/gui/dialogs.py by keeping both:
- StartupDialog (from feat/open-project-dialog)
- ImageFilterDialog (from master)

Both classes are independent and serve different purposes.

Changes from master include:
- Image filter functionality with 2D/3D support (invesalius#1384)
- Enter key threshold application (invesalius#1382)
- Save As dialog directory fix (invesalius#1381)
- Various bug fixes and improvements
@Prat260104
Prat260104 force-pushed the feat/open-project-dialog branch from ef8b99c to 35a881c Compare April 29, 2026 00:51
@Prat260104

Copy link
Copy Markdown
Contributor Author

Hi @paulojamorim sir,
I just wanted to let you know that I’ve been a bit inactive lately due to my exams.

I’ve now resolved the merge conflicts in this PR. Whenever you get some time, could you please take a look and test it?

Thank you!

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