Merge pull request #4906 from OmrSi/assa-remove-all

Add "Remove all" to Assa categories manager's context menu
This commit is contained in:
Nikolaj Olsson 2021-03-20 07:18:49 +01:00 committed by GitHub
commit 58be92e0c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 51 additions and 21 deletions

View File

@ -42,7 +42,8 @@
this.contextMenuStripCategories = new System.Windows.Forms.ContextMenuStrip(this.components);
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemRename = new System.Windows.Forms.ToolStripMenuItem();
this.deleteToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.deleteToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.deleteAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.moveUpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.moveDownToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -176,7 +177,8 @@
this.contextMenuStripCategories.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
this.toolStripMenuItemRename,
this.deleteToolStripMenuItem1,
this.deleteToolStripMenuItem,
this.deleteAllToolStripMenuItem,
this.toolStripSeparator,
this.moveUpToolStripMenuItem,
this.moveDownToolStripMenuItem,
@ -187,7 +189,7 @@
this.exportToolStripMenuItem});
this.contextMenuStripCategories.Name = "contextMenuStripCategories";
this.contextMenuStripCategories.Size = new System.Drawing.Size(216, 214);
this.contextMenuStripCategories.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripGroups_Opening);
this.contextMenuStripCategories.Opening += new System.ComponentModel.CancelEventHandler(this.ContextMenuStripCategories_Opening);
//
// newToolStripMenuItem
//
@ -206,13 +208,20 @@
this.toolStripMenuItemRename.Text = "Rename...";
this.toolStripMenuItemRename.Click += new System.EventHandler(this.ToolStripMenuItemRenameClick);
//
// deleteToolStripMenuItem1
// deleteToolStripMenuItem
//
this.deleteToolStripMenuItem1.Name = "deleteToolStripMenuItem1";
this.deleteToolStripMenuItem1.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this.deleteToolStripMenuItem1.Size = new System.Drawing.Size(215, 22);
this.deleteToolStripMenuItem1.Text = "Delete...";
this.deleteToolStripMenuItem1.Click += new System.EventHandler(this.DeleteToolStripMenuItem_Click);
this.deleteToolStripMenuItem.Name = "deleteToolStripMenuItem";
this.deleteToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.Delete;
this.deleteToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.deleteToolStripMenuItem.Text = "Delete...";
this.deleteToolStripMenuItem.Click += new System.EventHandler(this.DeleteToolStripMenuItem_Click);
//
// deleteAllToolStripMenuItem
//
this.deleteAllToolStripMenuItem.Name = "deleteAllToolStripMenuItem";
this.deleteAllToolStripMenuItem.Size = new System.Drawing.Size(215, 22);
this.deleteAllToolStripMenuItem.Text = "Delete all...";
this.deleteAllToolStripMenuItem.Click += new System.EventHandler(this.DeleteAllToolStripMenuItem_Click);
//
// toolStripSeparator
//
@ -333,7 +342,8 @@
private System.Windows.Forms.ContextMenuStrip contextMenuStripCategories;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemRename;
private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem deleteToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem deleteAllToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator;
private System.Windows.Forms.ToolStripMenuItem moveUpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem moveDownToolStripMenuItem;

View File

@ -80,7 +80,8 @@ namespace Nikse.SubtitleEdit.Forms.Styles
newToolStripMenuItem.Text = LanguageSettings.Current.SubStationAlphaStylesCategoriesManager.NewCategory;
toolStripMenuItemRename.Text = LanguageSettings.Current.SubStationAlphaStylesCategoriesManager.CategoryRename;
deleteToolStripMenuItem1.Text = LanguageSettings.Current.SubStationAlphaStyles.Remove;
deleteToolStripMenuItem.Text = LanguageSettings.Current.SubStationAlphaStyles.Remove;
deleteAllToolStripMenuItem.Text = LanguageSettings.Current.SubStationAlphaStyles.RemoveAll;
moveUpToolStripMenuItem.Text = LanguageSettings.Current.DvdSubRip.MoveUp;
moveDownToolStripMenuItem.Text = LanguageSettings.Current.DvdSubRip.MoveDown;
moveToTopToolStripMenuItem.Text = LanguageSettings.Current.MultipleReplace.MoveToTop; ;
@ -323,7 +324,7 @@ namespace Nikse.SubtitleEdit.Forms.Styles
{
try
{
var importCategories = ImportGroupsFile(openFileDialogImport.FileName);
var importCategories = ImportCategoriesFile(openFileDialogImport.FileName);
if (importCategories.Count == 0)
{
MessageBox.Show(LanguageSettings.Current.MultipleReplace.NothingToImport);
@ -381,7 +382,7 @@ namespace Nikse.SubtitleEdit.Forms.Styles
}
}
private List<AssaStorageCategory> ImportGroupsFile(string fileName)
private List<AssaStorageCategory> ImportCategoriesFile(string fileName)
{
var list = new List<AssaStorageCategory>();
var doc = new XmlDocument { XmlResolver = null };
@ -500,13 +501,13 @@ namespace Nikse.SubtitleEdit.Forms.Styles
return list;
}
private void ContextMenuStripGroups_Opening(object sender, EventArgs e)
private void ContextMenuStripCategories_Opening(object sender, EventArgs e)
{
var onlyOneSelected = listViewCategories.SelectedItems.Count == 1;
toolStripMenuItemRename.Enabled = onlyOneSelected;
toolStripMenuItemRename.Enabled = onlyOneSelected;
toolStripMenuItemRename.Visible = onlyOneSelected;
var moreThanOneExist = listViewCategories.Items.Count > 1;
deleteAllToolStripMenuItem.Visible = moreThanOneExist;
toolStripSeparator.Visible = onlyOneSelected && moreThanOneExist;
moveUpToolStripMenuItem.Visible = onlyOneSelected && moreThanOneExist;
moveDownToolStripMenuItem.Visible = onlyOneSelected && moreThanOneExist;
@ -514,11 +515,8 @@ namespace Nikse.SubtitleEdit.Forms.Styles
moveToBottomToolStripMenuItem.Visible = onlyOneSelected && moreThanOneExist;
var moreThanOneSelected = listViewCategories.SelectedItems.Count > 1;
deleteToolStripMenuItem1.Visible = moreThanOneSelected;
var isDefaultCategory = listViewCategories.SelectedItems.Count == 1 &&
!_assaCategories.Single(category => category.Name == listViewCategories.SelectedItems[0].Text).IsDefault;
deleteToolStripMenuItem1.Visible = isDefaultCategory;
var selectedIsNotDefault = onlyOneSelected && !SelectedCategory.IsDefault;
deleteToolStripMenuItem.Visible = selectedIsNotDefault || moreThanOneSelected;
}
private void NewToolStripMenuItem_Click(object sender, EventArgs e)
@ -555,6 +553,28 @@ namespace Nikse.SubtitleEdit.Forms.Styles
ButtonRemoveCategory_Click(sender, e);
}
private void DeleteAllToolStripMenuItem_Click(object sender, EventArgs e)
{
var result = Configuration.Settings.General.PromptDeleteLines ?
MessageBox.Show(LanguageSettings.Current.SubStationAlphaStylesCategoriesManager.CategoryDelete, string.Empty, MessageBoxButtons.YesNo) :
DialogResult.Yes;
if (result == DialogResult.Yes)
{
foreach (ListViewItem item in listViewCategories.Items)
{
if (GetCategoryByName(item.Text).IsDefault)
{
continue;
}
listViewCategories.Items.Remove(item);
_assaCategories.RemoveAll(category => category.Name == item.Text);
}
UpdateSelectedIndices();
}
}
private void MoveUpToolStripMenuItem_Click(object sender, EventArgs e)
{
if (listViewCategories.SelectedItems.Count != 1)