private void removeRomEntryToolStripMenuItem_Click(object sender, EventArgs e) { try { if (dataGridView.SelectedRows.Count == 0) { return; } List <Rom> roms = new List <Rom>(); foreach (DataGridViewRow row in dataGridView.SelectedRows) { if (!row.Visible) { continue; } roms.Add((Rom)row.Tag); } var message = string.Empty; if (roms.Count == 1) { message = string.Format("Do you want to remove \"{0}\" ? (Keep the rom file)", roms[0].Name); } else { message = string.Format("Do you want to remove {0} roms ? (Keep the rom files)", roms.Count); } var result = MessageBox.Show(message, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result.ToString() == "No") { return; } foreach (var rom in roms) { RomFunctions.RemoveRomPics(rom); FilteredRoms.Remove(rom); } RomBusiness.DeleteRom(roms); foreach (DataGridViewRow row in dataGridView.SelectedRows) { dataGridView.Rows.Remove(row); } labelTotalRomsCount.Text = FilteredRoms.Count.ToString(); } catch (Exception ex) { FormCustomMessage.ShowError(ex.Message); } }
private void FilterRoms(Filter filter = null) { if (updating) { return; } FilteredRoms.Clear(); //DateTime begin = DateTime.Now; if (filter == null) { filter = new Filter(); filter.text = textBoxFilter.Text; filter.platform = comboBoxPlatform.Text; filter.label = comboBoxLabels.Text; filter.genre = comboBoxGenre.Text; filter.publisher = comboBoxPublisher.Text; filter.developer = comboBoxDeveloper.Text; filter.year = comboBoxYearReleased.Text; filter.status = comboBoxStatus.Text; filter.favorite = checkBoxFavorite.Checked; filter.text = filter.text.ToLower(); filter.textType = comboBoxFilter.Text; filter.arcade = checkBoxArcade.Checked; filter.console = checkBoxConsole.Checked; filter.handheld = checkBoxHandheld.Checked; filter.cd = checkBoxCD.Checked; filter.romfile = dataGridView.SelectedRows.Count == 0 ? "" : ((Rom)dataGridView.SelectedRows[0].Tag).Name; filter.romplatform = dataGridView.SelectedRows.Count == 0 ? "" : ((Rom)dataGridView.SelectedRows[0].Tag).Platform.Name; } dataGridView.SuspendLayout(); Thread.BeginCriticalRegion(); FilteredRoms = FilterFunctions.FilterRoms(filter); Thread.EndCriticalRegion(); dataGridView.ResumeLayout(); //DateTime end = DateTime.Now; AddRomsToGrid(FilteredRoms); //FormCustomMessage.Show((end - begin).ToString()); }
private void deleteRomToolStripMenuItem_Click(object sender, EventArgs e) { try { if (dataGridView.SelectedRows.Count == 0) { return; } DataGridViewRow row = dataGridView.SelectedRows[0]; Rom rom = (Rom)row.Tag; var message = string.Format("Do you want to remove \"{0}\" ? (Remove to recycle bin)", rom.Name); var result = MessageBox.Show(message, "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result.ToString() == "No") { return; } Microsoft.VisualBasic.FileIO.FileSystem.DeleteFile(rom.Platform.DefaultRomPath + "\\" + rom.FileName, Microsoft.VisualBasic.FileIO.UIOption.AllDialogs, Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin); dataGridView.Rows.Remove(row); RomBusiness.DeleteRom(rom); RomFunctions.RemoveRomPics(rom); FilteredRoms.Remove(rom); labelTotalRomsCount.Text = FilteredRoms.Count.ToString(); } catch (OperationCanceledException ioex) { return; } catch (Exception ex) { FormCustomMessage.ShowError(ex.Message); } }
private void dataGridView_KeyDown(object sender, KeyEventArgs e) { try { if (e.KeyData == Keys.Space) { dataGridView_DoubleClick(sender, e); } else if (e.KeyData == Keys.Delete) { removeRomEntryToolStripMenuItem_Click(sender, e); } else if (e.KeyData == Keys.F5) { FilteredRoms.Clear(); FilteredRoms.AddRange(RomBusiness.GetAll()); AddRomsToGrid(FilteredRoms); } else if (e.KeyData == Keys.G) { changeGenreToolStripMenuItem_Click(sender, null); } else if (e.KeyData == Keys.L) { changeLabelsToolStripMenuItem_Click(sender, null); } } catch (OperationCanceledException ioex) { return; } catch (Exception ex) { FormCustomMessage.ShowError(ex.Message); } }