Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Window-less Managed File Dialog #13683

Merged
merged 9 commits into from
Nov 22, 2023
Merged

Conversation

maxkatz6
Copy link
Member

What does the pull request do?

This PR is supposed to replace #11595, and improve some flexibility about our managed dialogs.
Technically, it's still not supported on mobile (and shouldn't), but developers now can setup

  1. Previously, Managed File Dialog was creating a window to host dialog. Now it will use Popup, when window is not possible.
  2. Enables nullable attributes on Dialogs project
  3. Extracts ManagedFileChooserOverwritePrompt into a separated control with styling. Previously its creation was hardcoded in C#.
  4. Adds BclMountedVolumeInfoProvider as a fallback, when better IMountedVolumeInfoProvider is not specified.
  5. Adds SupportedOSPlatform to support only windows, linux, macos. Other platforms are technically possible, but with warning.
  6. Extends ManagedFileDialogOptions to allow custom IMountedVolumeInfoProvider and root view factory.

Tested on Windows (with some modifications to force Popup implementation) and Android.
As expected, on android BclMountedVolumeInfoProvider returns junk volumes, and requires extra permissions. It is possible to implement Android-specific IMountedVolumeInfoProvider by the developer.

Breaking changes

No

Fixed issues

Closes #11595 (alternative solution)
Fixes #8437

@maxkatz6 maxkatz6 requested a review from jmacato November 22, 2023 03:29
Copy link
Member

@jmacato jmacato left a comment

Choose a reason for hiding this comment

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

Tested LGTM!

@jmacato jmacato enabled auto-merge November 22, 2023 05:12
@jmacato jmacato added this pull request to the merge queue Nov 22, 2023
Merged via the queue into master with commit 1a798ff Nov 22, 2023
@jmacato jmacato deleted the window-less-managed-file-dialog branch November 22, 2023 08:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Managed System Dialog crash with System.UnauthorizedAccessException, again
2 participants