From 063bc70fb7e8835bafaee512e7d11930565ae671 Mon Sep 17 00:00:00 2001 From: Jaex Date: Sun, 24 Apr 2016 17:15:02 +0300 Subject: [PATCH] Support dragging multiple items --- ShareX/Forms/MainForm.cs | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/ShareX/Forms/MainForm.cs b/ShareX/Forms/MainForm.cs index 6ae32a567..bca5e7af5 100644 --- a/ShareX/Forms/MainForm.cs +++ b/ShareX/Forms/MainForm.cs @@ -1278,18 +1278,14 @@ private void lvUploads_KeyDown(object sender, KeyEventArgs e) private void lvUploads_ItemDrag(object sender, ItemDragEventArgs e) { - ListViewItem item = e.Item as ListViewItem; + TaskInfo[] taskInfos = GetCurrentTasks().Select(x => x.Info).Where(x => x != null && !string.IsNullOrEmpty(x.FilePath) && File.Exists(x.FilePath)).ToArray(); - if (item != null) + if (taskInfos.Length > 0) { - WorkerTask task = item.Tag as WorkerTask; + AllowDrop = false; - if (task != null && task.Info != null && !string.IsNullOrEmpty(task.Info.FilePath) && File.Exists(task.Info.FilePath)) - { - AllowDrop = false; - - lvUploads.DoDragDrop(new DataObject(DataFormats.FileDrop, new string[] { task.Info.FilePath }), DragDropEffects.Copy); - } + IDataObject dataObject = new DataObject(DataFormats.FileDrop, taskInfos.Select(x => x.FilePath).ToArray()); + lvUploads.DoDragDrop(dataObject, DragDropEffects.Copy); } }