Bring WinUI app to feature/visual parity with WPF, fix drag-and-drop and branding assets
- Restyle Fluent controls (buttons, fields, dialogs, ListView) to match the app's navy dark/light palette and consistent corner radii/sizing - Fix ContentDialog (Settings, exit-confirm, error) styling by binding PrimaryButtonStyle/CloseButtonStyle explicitly via new DialogHelper, since ContentDialog ignores implicit Button styles and forces accent color onto whichever button is DefaultButton - Remove MicaBackdrop and theme the title bar directly so it no longer shows a gray tint mismatched with the app's navy background - Replace placeholder Assets/*.png (unused VS template art) with the real AmiReel logo at all required tile/splash/store sizes - Set explicit default window size (1280x860, matching the old WPF app) with DPI-aware centering and a minimum size, instead of sizing to content - Fix drag-and-drop silently failing: InputList_Drop needs a DragOperationDeferral before the first await or the DataView is torn down before GetStorageItemsAsync completes - Add Preview player path setting (was present in WPF, missing in WinUI) and error handling for preview playback - Accept all ffmpeg-readable video formats (mp4, mov, mkv, webm, ...) for file picker and drag-and-drop, not just .avi - Add exit-confirmation dialog to WinUI, mirroring the WPF app Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
|
||||
namespace AmigaDB.VideoRenderer.Models;
|
||||
|
||||
/// <summary>
|
||||
/// Video file extensions accepted as render sources. FFmpeg can demux far more than this,
|
||||
/// but this list covers what a screen/video capture workflow is realistically going to produce.
|
||||
/// </summary>
|
||||
public static class SupportedVideoFormats
|
||||
{
|
||||
public static readonly IReadOnlyList<string> Extensions =
|
||||
[
|
||||
".avi", ".mp4", ".m4v", ".mov", ".mkv", ".webm",
|
||||
".wmv", ".flv", ".mpg", ".mpeg", ".ts", ".3gp"
|
||||
];
|
||||
|
||||
public static bool IsSupported(string path) =>
|
||||
Extensions.Contains(Path.GetExtension(path), StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
/// <summary>Picker filter string, e.g. "*.avi;*.mp4;*.m4v;...".</summary>
|
||||
public static string PickerFilter => string.Join(';', Extensions.Select(e => "*" + e));
|
||||
}
|
||||
Reference in New Issue
Block a user