Drag and drop XML files

This commit is contained in:
Lucas7yoshi 2021-10-20 00:28:09 -04:00
parent 458e9d365e
commit d4085ac37a

View File

@ -2558,7 +2558,8 @@ namespace CodeWalker
RefreshMainListView();
}
private void ImportXml()
private void ImportXmlDialog()
{
if (!EditMode) return;
if (CurrentFolder?.IsSearchResults ?? false) return;
@ -2567,14 +2568,13 @@ namespace CodeWalker
if (!EnsureRpfValidEncryption() && (CurrentFolder.RpfFolder != null)) return;
OpenFileDialog.Filter = "XML Files|*.xml";
if (OpenFileDialog.ShowDialog(this) != DialogResult.OK)
{
return;//canceled
}
if (OpenFileDialog.ShowDialog(this) != DialogResult.OK) return;
ImportXml(OpenFileDialog.FileNames);
}
var fpaths = OpenFileDialog.FileNames;
private void ImportXml(string[] fpaths)
{
foreach (var fpath in fpaths)
{
#if !DEBUG
@ -3680,7 +3680,7 @@ namespace CodeWalker
else if (ctrl) ExtractRaw();
break;
case Keys.Insert:
if (shft) ImportXml();
if (shft) ImportXmlDialog();
else if (!ctrl) ImportRaw();
break;
case Keys.C:
@ -3859,7 +3859,19 @@ namespace CodeWalker
var files = e.Data.GetData(DataFormats.FileDrop) as string[];
if ((files == null) || (files.Length <= 0)) return;
if (files[0].StartsWith(GetDropFolder(), StringComparison.InvariantCultureIgnoreCase)) return; //don't dry to drop on ourselves...
ImportRaw(files);
//Import as raw regardless of file type while pressing shift
if ((e.KeyState & 4) == 4)
{
ImportRaw(files);
return;
}
var raw = files.Where(x => !x.EndsWith(".xml"));
var xml = files.Except(raw);
if (raw.Count() > 0) ImportRaw(raw.ToArray());
if (xml.Count() > 0) ImportXml(xml.ToArray());
}
}
@ -4071,7 +4083,7 @@ namespace CodeWalker
private void ListContextImportXmlMenu_Click(object sender, EventArgs e)
{
ImportXml();
ImportXmlDialog();
}
private void ListContextImportRawMenu_Click(object sender, EventArgs e)
@ -4166,7 +4178,7 @@ namespace CodeWalker
private void EditImportXmlMenu_Click(object sender, EventArgs e)
{
ImportXml();
ImportXmlDialog();
}
private void EditImportRawMenu_Click(object sender, EventArgs e)