Add clipboard writer
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
using Avalonia.Controls;
|
||||||
|
using Avalonia.Input.Platform;
|
||||||
|
using Toolkit.Foundation;
|
||||||
|
|
||||||
|
namespace Toolkit.Avalonia;
|
||||||
|
|
||||||
|
public class ClipboardWriter(ITopLevelProvider topLevelProvider) :
|
||||||
|
IClipboardWriter
|
||||||
|
{
|
||||||
|
public async Task Write<TContent>(TContent content)
|
||||||
|
{
|
||||||
|
if (topLevelProvider.Get() is TopLevel topLevel)
|
||||||
|
{
|
||||||
|
if (topLevel.Clipboard is IClipboard clipboard)
|
||||||
|
{
|
||||||
|
if (content is string stringContent)
|
||||||
|
{
|
||||||
|
await clipboard.SetTextAsync(stringContent);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -127,6 +127,8 @@ public static class IServiceCollectionExtensions
|
|||||||
services.AddTransient<ITopLevelProvider, TopLevelProvider>();
|
services.AddTransient<ITopLevelProvider, TopLevelProvider>();
|
||||||
services.AddTransient<IFileProvider, FileProvider>();
|
services.AddTransient<IFileProvider, FileProvider>();
|
||||||
|
|
||||||
|
services.AddTransient<IClipboardWriter, ClipboardWriter>();
|
||||||
|
|
||||||
services.AddTransient<IImageReader, ImageReader>();
|
services.AddTransient<IImageReader, ImageReader>();
|
||||||
services.AddTransient<IImageWriter, ImageWriter>();
|
services.AddTransient<IImageWriter, ImageWriter>();
|
||||||
services.AddTransient<IImageResizer, ImageResizer>();
|
services.AddTransient<IImageResizer, ImageResizer>();
|
||||||
@@ -154,6 +156,8 @@ public static class IServiceCollectionExtensions
|
|||||||
services.AddTransient<ITopLevelProvider, TopLevelProvider>();
|
services.AddTransient<ITopLevelProvider, TopLevelProvider>();
|
||||||
services.AddTransient<IFileProvider, FileProvider>();
|
services.AddTransient<IFileProvider, FileProvider>();
|
||||||
|
|
||||||
|
services.AddTransient<IClipboardWriter, ClipboardWriter>();
|
||||||
|
|
||||||
services.AddTransient<IImageReader, ImageReader>();
|
services.AddTransient<IImageReader, ImageReader>();
|
||||||
services.AddTransient<IImageWriter, ImageWriter>();
|
services.AddTransient<IImageWriter, ImageWriter>();
|
||||||
services.AddTransient<IImageResizer, ImageResizer>();
|
services.AddTransient<IImageResizer, ImageResizer>();
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Toolkit.Foundation;
|
||||||
|
|
||||||
|
public interface IClipboardWriter
|
||||||
|
{
|
||||||
|
Task Write<TContent>(TContent content);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user