From 56509100ebdd9a112ec3ecebaad05295a04cd619 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Mon, 5 Jul 2021 11:21:34 +1000 Subject: [PATCH] [Windows] Improve drag-drop events --- .../Helpers/EmbeddedResourceHelper.cs | 2 +- windows/QMK Toolbox/MainWindow.cs | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/windows/QMK Toolbox/Helpers/EmbeddedResourceHelper.cs b/windows/QMK Toolbox/Helpers/EmbeddedResourceHelper.cs index 3268c9c131..7fff26ce3b 100644 --- a/windows/QMK Toolbox/Helpers/EmbeddedResourceHelper.cs +++ b/windows/QMK Toolbox/Helpers/EmbeddedResourceHelper.cs @@ -9,7 +9,7 @@ public static class EmbeddedResourceHelper { public static void ExtractResource(string file) { - using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"QMK_Toolbox.{file}")) + using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream($"QMK_Toolbox.Resources.{file}")) using (var filestream = new FileStream(Path.Combine(Application.LocalUserAppDataPath, file), FileMode.Create)) { stream?.CopyTo(filestream); diff --git a/windows/QMK Toolbox/MainWindow.cs b/windows/QMK Toolbox/MainWindow.cs index d6dd3a5b01..0642b3c95f 100644 --- a/windows/QMK Toolbox/MainWindow.cs +++ b/windows/QMK Toolbox/MainWindow.cs @@ -113,9 +113,8 @@ public MainWindow(string path) : this() { if (path != string.Empty) { - if (Path.GetExtension(path)?.ToLower() == ".qmk" || - Path.GetExtension(path)?.ToLower() == ".hex" || - Path.GetExtension(path)?.ToLower() == ".bin") + var extension = Path.GetExtension(path)?.ToLower(); + if (extension == ".qmk" || extension == ".hex" || extension == ".bin") { _filePassedIn = path; } @@ -660,7 +659,18 @@ private void MainWindow_DragDrop(object sender, DragEventArgs e) private void MainWindow_DragEnter(object sender, DragEventArgs e) { - if (e.Data.GetDataPresent(DataFormats.FileDrop)) e.Effect = DragDropEffects.Copy; + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); + if (files.Length == 1) + { + var extension = Path.GetExtension(files.First())?.ToLower(); + if (extension == ".qmk" || extension == ".hex" || extension == ".bin") + { + e.Effect = DragDropEffects.Copy; + } + } + } } private void MainWindow_Shown(object sender, EventArgs e)