private void instView_DragDrop(object sender, DragEventArgs e) { if (!DragDataValid(e.Data, e.X, e.Y)) { return; } DragDropHint = string.Empty; Point p = instView.PointToClient(new Point(e.X, e.Y)); Instance inst = instView.GetItemAt(p.X, p.Y).Tag as Instance; string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); DragKeyStates keyStates = new DragKeyStates(e.KeyState); string modsFolder = inst.ModLoaderDir; if (!Directory.Exists(modsFolder)) { Directory.CreateDirectory(modsFolder); } string instMods = inst.InstModsDir; if (!Directory.Exists(instMods)) { Directory.CreateDirectory(instMods); } string texturePacksFolder = inst.TexturePackDir; if (keyStates.ShiftKey) { CopyModFiles(files, modsFolder); } else if (keyStates.AltKey) { CopyModFiles(files, texturePacksFolder); } else { CopyModFiles(files, instMods); } }
private void instView_DragOver(object sender, DragEventArgs e) { if (DragDataValid(e.Data, e.X, e.Y)) { DragKeyStates keyState = new DragKeyStates(e.KeyState); // Control + Alt if (keyState.ControlKey && keyState.AltKey) { e.Effect = DragDropEffects.Move; DragDropHint = "Add files to .minecraft\\bin"; } // Shift else if (keyState.ShiftKey) { e.Effect = DragDropEffects.Copy; DragDropHint = "Add files to .minecraft\\mods"; } // Alt else if (keyState.AltKey) { e.Effect = DragDropEffects.Copy; DragDropHint = "Add to texture packs"; } // Anything else else { e.Effect = DragDropEffects.Copy; DragDropHint = "Add files to minecraft.jar"; } } else { e.Effect = DragDropEffects.None; DragDropHint = string.Empty; } }
private void instView_DragDrop(object sender, DragEventArgs e) { if (!DragDataValid(e.Data, e.X, e.Y)) { return; } DragDropHint = string.Empty; Point p = instView.PointToClient(new Point(e.X, e.Y)); Instance inst = instView.GetItemAt(p.X, p.Y).Tag as Instance; string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); DragKeyStates keyStates = new DragKeyStates(e.KeyState); string modsFolder = inst.ModLoaderDir; if (!Directory.Exists(modsFolder)) Directory.CreateDirectory(modsFolder); string instMods = inst.InstModsDir; if (!Directory.Exists(instMods)) Directory.CreateDirectory(instMods); string texturePacksFolder = inst.TexturePackDir; if (keyStates.ShiftKey) { CopyModFiles(files, modsFolder); } else if (keyStates.AltKey) { CopyModFiles(files, texturePacksFolder); } else { CopyModFiles(files, instMods); } }