mirror of
https://github.com/2dust/v2rayN.git
synced 2025-04-19 21:52:25 +00:00
parent
f1ef5a1f51
commit
c3e56e84f1
7 changed files with 40 additions and 11 deletions
|
@ -63,6 +63,10 @@ public partial class App : Application
|
|||
if (desktop.MainWindow != null)
|
||||
{
|
||||
var clipboardData = await AvaUtils.GetClipboardData(desktop.MainWindow);
|
||||
if (clipboardData.IsNullOrEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
var service = Locator.Current.GetService<MainWindowViewModel>();
|
||||
if (service != null)
|
||||
{
|
||||
|
|
|
@ -14,7 +14,10 @@ namespace v2rayN.Desktop.Common
|
|||
{
|
||||
var clipboard = TopLevel.GetTopLevel(owner)?.Clipboard;
|
||||
if (clipboard == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return await clipboard.GetTextAsync();
|
||||
}
|
||||
catch
|
||||
|
|
|
@ -247,7 +247,7 @@ namespace v2rayN.Desktop.Views
|
|||
|
||||
case EViewAction.AddServerViaClipboard:
|
||||
var clipboardData = await AvaUtils.GetClipboardData(this);
|
||||
if (ViewModel != null)
|
||||
if (clipboardData.IsNotEmpty() && ViewModel != null)
|
||||
{
|
||||
await ViewModel.AddServerViaClipboardAsync(clipboardData);
|
||||
}
|
||||
|
@ -315,7 +315,7 @@ namespace v2rayN.Desktop.Views
|
|||
{
|
||||
case Key.V:
|
||||
var clipboardData = await AvaUtils.GetClipboardData(this);
|
||||
if (ViewModel != null)
|
||||
if (clipboardData.IsNotEmpty() && ViewModel != null)
|
||||
{
|
||||
await ViewModel.AddServerViaClipboardAsync(clipboardData);
|
||||
}
|
||||
|
|
|
@ -109,13 +109,20 @@ namespace v2rayN.Desktop.Views
|
|||
|
||||
case EViewAction.SetClipboardData:
|
||||
if (obj is null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
await AvaUtils.SetClipboardData(this, (string)obj);
|
||||
break;
|
||||
|
||||
case EViewAction.ImportRulesFromClipboard:
|
||||
var clipboardData = await AvaUtils.GetClipboardData(this);
|
||||
ViewModel?.ImportRulesFromClipboardAsync(clipboardData);
|
||||
if (clipboardData.IsNotEmpty())
|
||||
{
|
||||
ViewModel?.ImportRulesFromClipboardAsync(clipboardData);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -18,11 +18,11 @@ namespace v2rayN
|
|||
/// <returns></returns>
|
||||
public static string? GetClipboardData()
|
||||
{
|
||||
string? strData = string.Empty;
|
||||
var strData = string.Empty;
|
||||
try
|
||||
{
|
||||
IDataObject data = Clipboard.GetDataObject();
|
||||
if (data.GetDataPresent(DataFormats.UnicodeText))
|
||||
var data = Clipboard.GetDataObject();
|
||||
if (data?.GetDataPresent(DataFormats.UnicodeText) == true)
|
||||
{
|
||||
strData = data.GetData(DataFormats.UnicodeText)?.ToString();
|
||||
}
|
||||
|
|
|
@ -232,7 +232,10 @@ namespace v2rayN.Views
|
|||
|
||||
case EViewAction.AddServerViaClipboard:
|
||||
var clipboardData = WindowsUtils.GetClipboardData();
|
||||
ViewModel?.AddServerViaClipboardAsync(clipboardData);
|
||||
if (clipboardData.IsNotEmpty())
|
||||
{
|
||||
ViewModel?.AddServerViaClipboardAsync(clipboardData);
|
||||
}
|
||||
break;
|
||||
|
||||
case EViewAction.AdjustMainLvColWidth:
|
||||
|
@ -284,11 +287,20 @@ namespace v2rayN.Views
|
|||
{
|
||||
case Key.V:
|
||||
if (Keyboard.FocusedElement is TextBox)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
var clipboardData = WindowsUtils.GetClipboardData();
|
||||
var service = Locator.Current.GetService<MainWindowViewModel>();
|
||||
if (service != null)
|
||||
_ = service.AddServerViaClipboardAsync(clipboardData);
|
||||
if (clipboardData.IsNotEmpty())
|
||||
{
|
||||
var service = Locator.Current.GetService<MainWindowViewModel>();
|
||||
if (service != null)
|
||||
{
|
||||
_ = service.AddServerViaClipboardAsync(clipboardData);
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case Key.S:
|
||||
|
|
|
@ -110,7 +110,10 @@ namespace v2rayN.Views
|
|||
|
||||
case EViewAction.ImportRulesFromClipboard:
|
||||
var clipboardData = WindowsUtils.GetClipboardData();
|
||||
ViewModel?.ImportRulesFromClipboardAsync(clipboardData);
|
||||
if (clipboardData.IsNotEmpty())
|
||||
{
|
||||
ViewModel?.ImportRulesFromClipboardAsync(clipboardData);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue