From e4c21aefc69984af7fcd807abd3f2f3310e5bbb1 Mon Sep 17 00:00:00 2001
From: Zhang Dian <54255897+zdpcdt@users.noreply.github.com>
Date: Mon, 26 Aug 2024 20:16:46 +0800
Subject: [PATCH] fix: add ManagedFileChooserOverwritePrompt styles.
---
.../Pages/ManagedFileChooserDemo.axaml | 6 +--
.../Pages/ManagedFileChooserDemo.axaml.cs | 34 +++++++--------
.../Controls/ManagedFileChooser.axaml | 43 +++++++++++++++++++
src/Semi.Avalonia/Locale/en-us.axaml | 1 +
src/Semi.Avalonia/Locale/ja-jp.axaml | 1 +
src/Semi.Avalonia/Locale/ru-ru.axaml | 1 +
src/Semi.Avalonia/Locale/zh-cn.axaml | 1 +
7 files changed, 66 insertions(+), 21 deletions(-)
diff --git a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml
index 7fcd4e5..418e8c4 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml
+++ b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml
@@ -13,8 +13,8 @@
-
-
-
+
+
+
diff --git a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs
index 18d5ab2..80fdf60 100644
--- a/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs
+++ b/demo/Semi.Avalonia.Demo/Pages/ManagedFileChooserDemo.axaml.cs
@@ -1,10 +1,6 @@
-using System;
using System.Collections.Generic;
-using Avalonia;
using Avalonia.Controls;
-using Avalonia.Dialogs;
using Avalonia.Interactivity;
-using Avalonia.Markup.Xaml;
using Avalonia.Platform.Storage;
namespace Semi.Avalonia.Demo.Pages;
@@ -14,14 +10,14 @@ public partial class ManagedFileChooserDemo : UserControl
public ManagedFileChooserDemo()
{
InitializeComponent();
- openFileDialog.Click += OpenFileDialog;
- selectFolderDialog.Click += SelectFolderDialog;
- saveFileDialog.Click += SaveFileDialog;
+ OpenFileButton.Click += OpenFileDialog;
+ SelectFolderButton.Click += SelectFolderDialog;
+ SaveFileButton.Click += SaveFileDialog;
}
- private async void OpenFileDialog(object sender, RoutedEventArgs args)
+ private async void OpenFileDialog(object? sender, RoutedEventArgs args)
{
- IStorageProvider? sp = GetStorageProvider();
+ var sp = GetStorageProvider();
if (sp is null) return;
var result = await sp.OpenFilePickerAsync(new FilePickerOpenOptions()
{
@@ -30,9 +26,10 @@ public partial class ManagedFileChooserDemo : UserControl
AllowMultiple = true,
});
}
- private async void SelectFolderDialog(object sender, RoutedEventArgs args)
+
+ private async void SelectFolderDialog(object? sender, RoutedEventArgs args)
{
- IStorageProvider? sp = GetStorageProvider();
+ var sp = GetStorageProvider();
if (sp is null) return;
var result = await sp.OpenFolderPickerAsync(new FolderPickerOpenOptions()
{
@@ -40,16 +37,17 @@ public partial class ManagedFileChooserDemo : UserControl
AllowMultiple = true,
});
}
- private async void SaveFileDialog(object sender, RoutedEventArgs args)
+
+ private async void SaveFileDialog(object? sender, RoutedEventArgs args)
{
- IStorageProvider? sp = GetStorageProvider();
+ var sp = GetStorageProvider();
if (sp is null) return;
var result = await sp.SaveFilePickerAsync(new FilePickerSaveOptions()
{
- Title = "Open File",
+ Title = "Save File",
});
}
-
+
private IStorageProvider? GetStorageProvider()
{
var topLevel = TopLevel.GetTopLevel(this);
@@ -58,10 +56,10 @@ public partial class ManagedFileChooserDemo : UserControl
List? GetFileTypes()
{
- return new List
- {
+ return
+ [
FilePickerFileTypes.All,
FilePickerFileTypes.TextPlain
- };
+ ];
}
}
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml b/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml
index 706ab9f..b86b576 100644
--- a/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml
+++ b/src/Semi.Avalonia/Controls/ManagedFileChooser.axaml
@@ -4,6 +4,7 @@
xmlns:converters="using:Semi.Avalonia.Converters"
xmlns:dialogs="clr-namespace:Avalonia.Dialogs;assembly=Avalonia.Dialogs"
xmlns:internal="clr-namespace:Avalonia.Dialogs.Internal;assembly=Avalonia.Dialogs"
+ xmlns:cvt="using:Avalonia.Controls.Converters"
x:CompileBindings="True">
@@ -194,4 +195,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Semi.Avalonia/Locale/en-us.axaml b/src/Semi.Avalonia/Locale/en-us.axaml
index e41759c..7b60e8c 100644
--- a/src/Semi.Avalonia/Locale/en-us.axaml
+++ b/src/Semi.Avalonia/Locale/en-us.axaml
@@ -21,4 +21,5 @@
Date Modified
Type
Size
+ {0} already exists. Do you want to replace it?
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Locale/ja-jp.axaml b/src/Semi.Avalonia/Locale/ja-jp.axaml
index e9d10f8..b9c264e 100644
--- a/src/Semi.Avalonia/Locale/ja-jp.axaml
+++ b/src/Semi.Avalonia/Locale/ja-jp.axaml
@@ -21,4 +21,5 @@
更新日時
種類
サイズ
+ {0} はすでに存在します。置き換えますか?
diff --git a/src/Semi.Avalonia/Locale/ru-ru.axaml b/src/Semi.Avalonia/Locale/ru-ru.axaml
index 0807d44..36457b3 100644
--- a/src/Semi.Avalonia/Locale/ru-ru.axaml
+++ b/src/Semi.Avalonia/Locale/ru-ru.axaml
@@ -21,4 +21,5 @@
Дата изменения
Тип
Размер
+ {0} уже существует. Вы хотите заменить его?
\ No newline at end of file
diff --git a/src/Semi.Avalonia/Locale/zh-cn.axaml b/src/Semi.Avalonia/Locale/zh-cn.axaml
index e46fe54..e82d909 100644
--- a/src/Semi.Avalonia/Locale/zh-cn.axaml
+++ b/src/Semi.Avalonia/Locale/zh-cn.axaml
@@ -21,4 +21,5 @@
修改日期
类型
大小
+ {0} 已经存在。您要替换它吗?
\ No newline at end of file