Hold CTRL when dragging to copy URLs

This commit is contained in:
Jaex 2016-04-24 17:43:57 +03:00
parent 063bc70fb7
commit 0857174538
2 changed files with 29 additions and 10 deletions

View file

@ -1278,14 +1278,37 @@ private void lvUploads_KeyDown(object sender, KeyEventArgs e)
private void lvUploads_ItemDrag(object sender, ItemDragEventArgs e)
{
TaskInfo[] taskInfos = GetCurrentTasks().Select(x => x.Info).Where(x => x != null && !string.IsNullOrEmpty(x.FilePath) && File.Exists(x.FilePath)).ToArray();
TaskInfo[] taskInfos = GetCurrentTasks().Select(x => x.Info).Where(x => x != null).ToArray();
if (taskInfos.Length > 0)
{
AllowDrop = false;
IDataObject dataObject = null;
IDataObject dataObject = new DataObject(DataFormats.FileDrop, taskInfos.Select(x => x.FilePath).ToArray());
lvUploads.DoDragDrop(dataObject, DragDropEffects.Copy);
if (ModifierKeys.HasFlag(Keys.Control))
{
string[] urls = taskInfos.Select(x => x.ToString()).Where(x => !string.IsNullOrEmpty(x)).ToArray();
if (urls.Length > 0)
{
dataObject = new DataObject(DataFormats.Text, string.Join(Environment.NewLine, urls));
}
}
else
{
string[] files = taskInfos.Select(x => x.FilePath).Where(x => !string.IsNullOrEmpty(x) && File.Exists(x)).ToArray();
if (files.Length > 0)
{
dataObject = new DataObject(DataFormats.FileDrop, files);
}
}
if (dataObject != null)
{
AllowDrop = false;
lvUploads.DoDragDrop(dataObject, DragDropEffects.Copy);
}
}
}

View file

@ -152,13 +152,9 @@ public TaskInfo(TaskSettings taskSettings)
public override string ToString()
{
string text = "";
string text = Result.ToString();
if (!string.IsNullOrEmpty(Result.ToString()))
{
text = Result.ToString();
}
else if (!string.IsNullOrEmpty(FilePath))
if (string.IsNullOrEmpty(text) && !string.IsNullOrEmpty(FilePath))
{
text = FilePath;
}