From c512cb6e13fc78149530cb1008ee93b43af8ef3e Mon Sep 17 00:00:00 2001 From: rabbitism Date: Tue, 17 Sep 2024 22:44:35 +0800 Subject: [PATCH] Add resize functionality and improve dialog controls This commit introduces the ability to resize dialogs by adding `CanResize` properties to dialog options and control classes. It also refines dialog controls' behavior and layout, ensuring consistent resizing capabilities across different dialog types. Additionally, it enhances the overlay feedback element's positioning logic and updates the resizer's appearance and visibility handling. --- src/Ursa.Themes.Semi/Controls/Dialog.axaml | 319 +++++++++--------- src/Ursa.Themes.Semi/Controls/Resizer.axaml | 6 +- src/Ursa/Controls/Dialog/Dialog.cs | 4 + src/Ursa/Controls/Dialog/DialogControlBase.cs | 9 + src/Ursa/Controls/Dialog/DialogWindow.cs | 15 +- .../Controls/Dialog/Options/DialogOptions.cs | 2 + .../Dialog/Options/OverlayDialogOptions.cs | 2 + src/Ursa/Controls/Dialog/OverlayDialog.cs | 2 + .../OverlayShared/OverlayFeedbackElement.cs | 12 +- src/Ursa/Controls/Resizers/DialogResizer.cs | 55 +++ src/Ursa/Controls/Resizers/ResizeDirection.cs | 20 +- 11 files changed, 278 insertions(+), 168 deletions(-) diff --git a/src/Ursa.Themes.Semi/Controls/Dialog.axaml b/src/Ursa.Themes.Semi/Controls/Dialog.axaml index cebe482..8d35c05 100644 --- a/src/Ursa.Themes.Semi/Controls/Dialog.axaml +++ b/src/Ursa.Themes.Semi/Controls/Dialog.axaml @@ -7,68 +7,72 @@ + + + - + - + - - - - - - -