private void LstSearchProcessesMouseDoubleClick(object sender, MouseButtonEventArgs e) { if (lstAttachProcesses.Items.OfType <ProcessToBeAttached>().All( p => p.Process.Hash != ((ProcessExt)lstSearchProcesses.SelectedItem).Hash || p.DebugMode != null)) { var selectedProcess = (ProcessExt)lstSearchProcesses.SelectedItem; var p = new ProcessToBeAttached { Process = selectedProcess, Checked = true }; lstAttachProcesses.Items.Add(p); SaveProcessHash(p); } }
private static void SaveProcessHash(ProcessToBeAttached process) { if (Settings.Default.Processes.ContainsKey(process.Process.Hash)) { Settings.Default.Processes[process.Process.Hash].Selected = process.Checked; Settings.Default.Processes[process.Process.Hash].DebugMode = process.DebugMode; } else { Settings.Default.Processes.Add(process.Process.Hash, new StoredProcessInfo { Title = process.Process.Title, ProcessName = process.Process.ProcessName, Selected = process.Checked, DebugMode = process.DebugMode, RemoteServerName = process.Process.ServerName, RemotePortNumber = process.Process.PortNumber }); } Settings.Default.Save(); }