pocorall.SCM_Notifier.MainForm.listViewFolders_DragDrop C# (CSharp) Method

listViewFolders_DragDrop() private method

private listViewFolders_DragDrop ( object sender, DragEventArgs e ) : void
sender object
e System.Windows.Forms.DragEventArgs
return void
        private void listViewFolders_DragDrop(object sender, DragEventArgs e)
        {
            // Determine whether dropped object is a file or folder.
            if (e.Data.GetDataPresent(DataFormats.FileDrop))
            {
                string[] filePath = ((string[])e.Data.GetData(DataFormats.FileDrop));
                foreach (string p in filePath)
                {
                    if(File.Exists(p))
                        AddFile(p);
                    else if(Directory.Exists(p))
                        AddFolder(p);
                }
            }
            else // otherwise assume it is a DragAndDropListView.DragItem
            {
                try
                {
                    DragAndDropListView.DragItemData data = (DragAndDropListView.DragItemData)e.Data.GetData(typeof(DragAndDropListView.DragItemData));
                    ListViewItem item = (ListViewItem)data.DragItems[0];

                    folders.Remove((ScmRepository)item.Tag);
                    folders.Insert(item.Index, (ScmRepository)item.Tag);

                    Config.SaveSvnFolders(folders);
                }
                catch (Exception ex)
                {
                    OnThreadException(this, new ThreadExceptionEventArgs(ex));
                }
            }
        }
MainForm