Browse Source

Fixes #1405

pull/1412/head
Nikita Tsukanov 9 years ago
parent
commit
e5a3370acd
  1. 31
      src/OSX/Avalonia.MonoMac/ClipboardImpl.cs
  2. 2
      src/OSX/Avalonia.MonoMac/MonoMacPlatform.cs

31
src/OSX/Avalonia.MonoMac/ClipboardImpl.cs

@ -0,0 +1,31 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using Avalonia.Input.Platform;
using MonoMac.AppKit;
namespace Avalonia.MonoMac
{
class ClipboardImpl : IClipboard
{
public Task<string> GetTextAsync()
{
return Task.FromResult(NSPasteboard.GeneralPasteboard.GetStringForType(NSPasteboard.NSStringType));
}
public Task SetTextAsync(string text)
{
NSPasteboard.GeneralPasteboard.ClearContents();
if (text != null)
NSPasteboard.GeneralPasteboard.SetStringForType(text, NSPasteboard.NSStringType);
return Task.CompletedTask;
}
public async Task ClearAsync()
{
NSPasteboard.GeneralPasteboard.ClearContents();
}
}
}

2
src/OSX/Avalonia.MonoMac/MonoMacPlatform.cs

@ -3,6 +3,7 @@ using System.Threading;
using Avalonia.Controls;
using Avalonia.Controls.Platform;
using Avalonia.Input;
using Avalonia.Input.Platform;
using Avalonia.Platform;
using Avalonia.Rendering;
using MonoMac.AppKit;
@ -32,6 +33,7 @@ namespace Avalonia.MonoMac
.Bind<IPlatformSettings>().ToConstant(this)
.Bind<IWindowingPlatform>().ToConstant(this)
.Bind<ISystemDialogImpl>().ToSingleton<SystemDialogsImpl>()
.Bind<IClipboard>().ToSingleton<ClipboardImpl>()
.Bind<IRenderLoop>().ToConstant(s_renderLoop)
.Bind<IPlatformThreadingInterface>().ToConstant(PlatformThreadingInterface.Instance);
}

Loading…
Cancel
Save