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