void validateNewModColl() { if (TXTBX__MODCOLL_NAME.Text.Equals(pm.txt("[none]"))) { return; } if (string.IsNullOrEmpty(TXTBX__MODCOLL_NAME.Text)) { return; } var q = (from item in pm.getModColllist() where item.name.Equals(TXTBX__MODCOLL_NAME.Text) select item); if (q.Count() > 0) { pm.removeModColl(q.First()); } string srcPrt = ""; if (CHKBX_ASSOC_SRCPRT.Checked == true) { if (!string.IsNullOrEmpty(pm.SrcPrt)) { srcPrt = pm.SrcPrt; } } var mc = new ModColl(TXTBX__MODCOLL_NAME.Text, srcPrt); foreach (DataGridViewRow r in DGRIDV_MODS.Rows) { if ((bool)r.Cells[0].Value) { mc.Add(new Mod((bool)r.Cells[0].Value, (int)r.Cells[1].Value, pm.MODDIRECTORY, r.Cells[2].Value.ToString())); } } if (mc.Count != 0) { pm.addModColl(mc); reinitModColl(); LSTB_MODCOLL.Focus(); } }
void DGRIDV_MODS_DragDrop(object sender, DragEventArgs e) { var files = (string[])e.Data.GetData(DataFormats.FileDrop); //var files = (string[])e.Data.GetData(DataFormats.FileDrop); foreach (string file in files) { if (File.Exists(file)) { var fi = new FileInfo(file); if (fi.Extension.ToLower().Equals(".dpz")) { var dpzEx = new DirectoryInfo(@".\DPZ-EXTRACT\"); if (dpzEx.Exists) { dpzEx.Delete(true); } dpzEx.Create(); ZipFile.ExtractToDirectory(fi.FullName, dpzEx.FullName); string[] foldArr = { dpzEx.FullName + @"\WMD\", dpzEx.FullName + @"\WMDSAVE\", dpzEx.FullName + @"\WMDCONF\" }; string[] tgtArr = { pm.MODDIRECTORY, PM.SAVEDIRECTORY, PM.CONFIGDIRECTORY }; for (int i = 0; i < foldArr.Length; i++) { var di = new DirectoryInfo(foldArr[i]); foreach (string dirPath in Directory.GetDirectories(di.FullName, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(di.FullName, tgtArr[i] + "/")); } foreach (string newPath in Directory.GetFiles(di.FullName, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(di.FullName, tgtArr[i] + "/"), true); } } ModColl mc = pm.readXmlPackage(new FileInfo(dpzEx.FullName + @"WMF.xml")); pm.addModColl(mc); reinitModColl(); LSTB_MODCOLL.Focus(); dpzEx.Delete(true); } else { int stri = fi.DirectoryName.Length; string namefile = fi.FullName.Substring(stri + 1, fi.FullName.Length - stri - 1); File.Copy(file, pm.MODDIRECTORY + "/" + namefile, true); } } else if (Directory.Exists(file)) { var di = new DirectoryInfo(file); //int stri = di.DirectoryName.Length; //string namefile = fi.FullName.Substring(stri + 1, fi.FullName.Length - stri - 1); Directory.CreateDirectory(pm.MODDIRECTORY + "/" + di.Name); foreach (string dirPath in Directory.GetDirectories(di.FullName, "*", SearchOption.AllDirectories)) { Directory.CreateDirectory(dirPath.Replace(di.FullName, pm.MODDIRECTORY + "/" + di.Name)); } foreach (string newPath in Directory.GetFiles(di.FullName, "*.*", SearchOption.AllDirectories)) { File.Copy(newPath, newPath.Replace(di.FullName, pm.MODDIRECTORY + "/" + di.Name), true); } //File.Copy(file, PM.MODDIRECTORY + "/" + namefile, true); } } DGRIDV_MODS.DataSource = new ModList(); }