diff --git a/.releaseindex.json b/.releaseindex.json index 75ca6a6f..39e83f40 100644 --- a/.releaseindex.json +++ b/.releaseindex.json @@ -2,7 +2,7 @@ "WindowsClassic": "Libation\\.\\d+\\.\\d+\\.\\d+-win(dows)?-classic\\.zip", "WindowsAvalonia": "Libation\\.\\d+\\.\\d+\\.\\d+-win(dows)?-chardonnay\\.zip", "LinuxAvalonia": "Libation\\.\\d+\\.\\d+\\.\\d+-linux-amd64\\.deb", - "MacOSAvalonia": "Libation\\.\\d+\\.\\d+\\.\\d+-macOS-x86_64\\.tgz" + "MacOSAvalonia": "Libation\\.\\d+\\.\\d+\\.\\d+-macOS-x64\\.tgz" "LinuxAvalonia_Arm64": "Libation\\.\\d+\\.\\d+\\.\\d+-linux-arm64\\.deb", "MacOSAvalonia_Arm64": "Libation\\.\\d+\\.\\d+\\.\\d+-macOS-arm64\\.tgz" } diff --git a/Source/AppScaffolding/AppScaffolding.csproj b/Source/AppScaffolding/AppScaffolding.csproj index f3d7499b..7552b69a 100644 --- a/Source/AppScaffolding/AppScaffolding.csproj +++ b/Source/AppScaffolding/AppScaffolding.csproj @@ -2,7 +2,7 @@ net7.0 - 9.3.1.1 + 9.3.2.1 diff --git a/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml.cs index 41967e0d..1b25c082 100644 --- a/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/AccountsDialog.axaml.cs @@ -120,7 +120,11 @@ namespace LibationAvalonia.Dialogs SuggestedStartLocation = new BclStorageFolder(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)), FileTypeFilter = new FilePickerFileType[] { - new("JSON files (*.json)") { Patterns = new[] { "*.json" } }, + new("JSON files (*.json)") + { + Patterns = new[] { "*.json" }, + AppleUniformTypeIdentifiers = new[] { "public.json" } + } } }; @@ -280,7 +284,11 @@ namespace LibationAvalonia.Dialogs ShowOverwritePrompt = true, FileTypeChoices = new FilePickerFileType[] { - new("JSON files (*.json)") { Patterns = new[] { "*.json" } }, + new("JSON files (*.json)") + { + Patterns = new[] { "*.json" }, + AppleUniformTypeIdentifiers = new[] { "public.json" } + } } }; diff --git a/Source/LibationAvalonia/Dialogs/BookRecordsDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/BookRecordsDialog.axaml.cs index 57b9961b..fc4a4012 100644 --- a/Source/LibationAvalonia/Dialogs/BookRecordsDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/BookRecordsDialog.axaml.cs @@ -153,10 +153,22 @@ namespace LibationAvalonia.Dialogs ShowOverwritePrompt = true, FileTypeChoices = new FilePickerFileType[] { - new("Excel Workbook (*.xlsx)") { Patterns = new[] { "*.xlsx" } }, - new("CSV files (*.csv)") { Patterns = new[] { "*.csv" } }, - new("JSON files (*.json)") { Patterns = new[] { "*.json" } }, - new("All files (*.*)") { Patterns = new[] { "*" } } + new("Excel Workbook (*.xlsx)") + { + Patterns = new[] { "*.xlsx" }, + AppleUniformTypeIdentifiers = new[] { "org.openxmlformats.spreadsheetml.sheet" } + }, + new("CSV files (*.csv)") + { + Patterns = new[] { "*.csv" }, + AppleUniformTypeIdentifiers = new[] { "public.comma-separated-values-text" } + }, + new("JSON files (*.json)") + { + Patterns = new[] { "*.json" }, + AppleUniformTypeIdentifiers = new[] { "public.json" } + }, + new("All files (*.*)") { Patterns = new[] { "*" } }, } }); diff --git a/Source/LibationAvalonia/Dialogs/ImageDisplayDialog.axaml.cs b/Source/LibationAvalonia/Dialogs/ImageDisplayDialog.axaml.cs index f6014fe2..c42cabce 100644 --- a/Source/LibationAvalonia/Dialogs/ImageDisplayDialog.axaml.cs +++ b/Source/LibationAvalonia/Dialogs/ImageDisplayDialog.axaml.cs @@ -56,7 +56,11 @@ namespace LibationAvalonia.Dialogs ShowOverwritePrompt = true, FileTypeChoices = new FilePickerFileType[] { - new("Jpeg (*.jpg)") { Patterns = new[] { "jpg" } } + new("Jpeg (*.jpg)") + { + Patterns = new[] { "jpg" }, + AppleUniformTypeIdentifiers = new[] { "public.jpeg" } + } } }; diff --git a/Source/LibationAvalonia/Views/MainWindow.Export.cs b/Source/LibationAvalonia/Views/MainWindow.Export.cs index 6759b09d..3e8cdc87 100644 --- a/Source/LibationAvalonia/Views/MainWindow.Export.cs +++ b/Source/LibationAvalonia/Views/MainWindow.Export.cs @@ -26,10 +26,23 @@ namespace LibationAvalonia.Views ShowOverwritePrompt = true, FileTypeChoices = new FilePickerFileType[] { - new("Excel Workbook (*.xlsx)") { Patterns = new[] { "*.xlsx" } }, - new("CSV files (*.csv)") { Patterns = new[] { "*.csv" } }, - new("JSON files (*.json)") { Patterns = new[] { "*.json" } }, - new("All files (*.*)") { Patterns = new[] { "*" } }, + new("Excel Workbook (*.xlsx)") + { + Patterns = new[] { "*.xlsx" }, + //https://gist.github.com/RhetTbull/7221ef3cfd9d746f34b2550d4419a8c2 + AppleUniformTypeIdentifiers = new[] { "org.openxmlformats.spreadsheetml.sheet" } + }, + new("CSV files (*.csv)") + { + Patterns = new[] { "*.csv" }, + AppleUniformTypeIdentifiers = new[] { "public.comma-separated-values-text" } + }, + new("JSON files (*.json)") + { + Patterns = new[] { "*.json" }, + AppleUniformTypeIdentifiers = new[] { "public.json" } + }, + new("All files (*.*)") { Patterns = new[] { "*" } } } };