* Add new SaveFilePickerWithResultAsync API to the base
* Add SaveFilePickerWithResultAsync stub impl
* Control Catalog SaveFilePickerWithResultAsync sample with XML and JSON types
* Make SaveFilePickerResult a struct
* Add managed picker implementation
* Make SaveFilePickerResult a readonly struct
* Windows implementation of SaveFilePickerWithResultAsync
* Test impl for dbus
* Reuse the file type object (FTO) so StorageFile consumer can match exactly the right FTO when receiving the SaveFilePicker's result.
* Add Gtk impl
* Avalonia.Native: surface selected save dialog filters
* macOS: report selected NSSavePanel filter
* Modify the conditional in case there's duplicate descriptions of FTO's in DBusSystemDialog.cs
* Instantiate FPFT as fallback
* Pass the mime/pattern to instantiated FPFT
* Update API diff
* Fix review comments
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Added guards in TryGetGlyphTypeface so the $Default placeholder stops recursing once the concrete default family cannot be resolved
* Throw if $Default is used as the default family name
* Stripped the redundant $Default guard/continue blocks
---------
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
GTK file choosers default to local_only=TRUE, which hides network
locations (SMB, SFTP, NFS) mounted via GVFS. This change calls
gtk_file_chooser_set_local_only(FALSE) to enable network browsing.
Fixes browsing to network shares in OpenFileDialog, OpenFolderDialog,
and SaveFileDialog on Linux.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: meywd <meywd@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
* Clarify the Center properties in RotateTransform
From the property's description, it isn't obvious how the CenterX and CenterY property works. I assumed 0 would be the left edge but it's actually the center of the visual.
* Add documentation crefs in RotateTransform
---------
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
* Add unit test for notifications
* Fixed ArgumentException when showing multiple notifications with the same content, additional unit tests
* fixes after review
* IManagedNotificationManager.Show fix
* Make ScreenBase impl more reliable
* Don't copy list on netcore
* Add Dispatcher.UIThread.VerifyAccess to be extra safe
* Simplify code by only using List
* [OSX] Implemented IOSurface/MTLSharedEvent interop APIs
* Bump Xcode?
* Xcode?
* APIDiff
* Use different XCode versions because of how awesome appium is
* A hack for crapium
* Replace SkiaMetalApi usages
* Update API suppressions
---------
Co-authored-by: Timothy Miller <innerlogic4321@gmail.com>
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
Attached events should follow the pattern of providing static `Add<event-name>Handler` and `Remove<event-name>Handler` methods, but `DragDrop` did not provide these.
* Move Drag and Drop logic to TopLevelImpl
* Update src/Avalonia.Native/TopLevelImpl.cs
Co-authored-by: Max Katz <maxkatz6@outlook.com>
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Added resource for TextControlPlaceholderOpacity
This allows overriding of the opacity instead of it being hardcoded to 50%.
* Added `TextControlPlaceholderOpacity` to Simple theme TextBox
* Limit InlineUIContainer to available width
* Unit test for InlineUIContainer maximum width
* Invalidate InlineUIContainer's host
* Better InlineUIContainer visual children management
* OnInlineHostChanged also handled by InlineUIContainer
---------
Co-authored-by: Jan Kučera <miloush@users.noreply.github.com>
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* add unit test case to check typeface creation with empty font family.
* fallback to default font family when the font family name is empty.
---------
Co-authored-by: jay.mao <jay.mao@ringcentral.com>
* add SplitViewPanePlacement settings for Top and Bottom.
* remove duplicated styles.
* add missing transparent fills of lightdismiss area.
* add simple theme support for splitview pane placement top/bottom.
Several documentation files were missing a final newline character.
This change adds them to adhere to POSIX conventions and improve
compatibility with various text-processing tools. It also helps
to create cleaner diffs in the future.