diff --git a/src/SharpFM/MainWindow.axaml b/src/SharpFM/MainWindow.axaml
index 4682e3e..36d6d91 100644
--- a/src/SharpFM/MainWindow.axaml
+++ b/src/SharpFM/MainWindow.axaml
@@ -22,6 +22,7 @@
+
diff --git a/src/SharpFM/ViewModels/MainWindowViewModel.cs b/src/SharpFM/ViewModels/MainWindowViewModel.cs
index 8a6486c..19993f8 100644
--- a/src/SharpFM/ViewModels/MainWindowViewModel.cs
+++ b/src/SharpFM/ViewModels/MainWindowViewModel.cs
@@ -230,6 +230,7 @@ public async Task PasteFileMakerClipData()
{
var formats = await _clipboard.GetFormatsAsync();
int count = 0;
+ ClipViewModel? lastAdded = null;
foreach (var format in formats.Where(f => f.StartsWith("Mac-", StringComparison.CurrentCultureIgnoreCase)).Distinct())
{
@@ -244,10 +245,16 @@ public async Task PasteFileMakerClipData()
// don't add duplicates
if (FileMakerClips.Any(k => k.Clip.XmlData == clip.XmlData)) continue;
- FileMakerClips.Add(new ClipViewModel(clip));
+ lastAdded = new ClipViewModel(clip);
+ FileMakerClips.Add(lastAdded);
count++;
}
+ if (lastAdded is not null)
+ {
+ SelectedClip = lastAdded;
+ }
+
ShowStatus(count > 0 ? $"Pasted {count} clip(s) from FileMaker" : "No FileMaker clips found on clipboard");
}
catch (Exception e)
diff --git a/tests/SharpFM.Tests/ViewModels/MainWindowViewModelTests.cs b/tests/SharpFM.Tests/ViewModels/MainWindowViewModelTests.cs
index 6dad2d1..5f454d0 100644
--- a/tests/SharpFM.Tests/ViewModels/MainWindowViewModelTests.cs
+++ b/tests/SharpFM.Tests/ViewModels/MainWindowViewModelTests.cs
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
+using System.Linq;
+using System.Text;
using System.Threading.Tasks;
using Avalonia.Controls;
using Microsoft.Extensions.Logging;
@@ -21,7 +23,7 @@ public class MockClipboardService : IClipboardService
public Task SetTextAsync(string text) { LastText = text; return Task.CompletedTask; }
public Task SetDataAsync(string format, byte[] data) { LastFormat = format; LastData = data; return Task.CompletedTask; }
- public Task GetFormatsAsync() => Task.FromResult(Array.Empty());
+ public Task GetFormatsAsync() => Task.FromResult(ClipboardData.Keys.ToArray());
public Task