// move selected rule down in the RulesListView item order private void MoveRuleDownButtonClick(object sender, EventArgs e) { IRenameRule currentSelectedRule = (IRenameRule)RulesListView.SelectedItems[0].Tag; int oldRuleIndex = Globals.RenameRules.IndexOf(Globals.RenameRules.Find(rule => rule.Id == currentSelectedRule.Id)); int newRuleIndex = oldRuleIndex + 1; Globals.RenameRules.RemoveAt(oldRuleIndex); Globals.RenameRules.Insert(newRuleIndex, currentSelectedRule); UpdateRulesListView(); UpdateFileRenameListView(); RulesListView.Focus(); RulesListView.Items[newRuleIndex].Focused = true; RulesListView.Items[newRuleIndex].Selected = true; }
// edit selected rule from the list of rules, update UI state private void EditRuleButtonClick(object sender, EventArgs e) { IRenameRule currentSelectedRule = (IRenameRule)RulesListView.SelectedItems[0].Tag; int currentRuleIndex = RulesListView.SelectedItems[0].Index; RulesForm rulesForm = new RulesForm(editMode: true, currentSelectedRule); DialogResult dialogResult = rulesForm.ShowDialog(); if (dialogResult == DialogResult.OK) { UpdateRulesListView(); UpdateFileRenameListView(); RulesListView.Focus(); RulesListView.Items[currentRuleIndex].Focused = true; RulesListView.Items[currentRuleIndex].Selected = true; } RenameButton.Enabled = TorrentFileListTreeView.TotalFilesSelected > 0 && RulesListView.Items.Count > 0; }
// remove selected rule from the list of rules, update UI state private void DeleteRuleButtonClick(object sender, EventArgs e) { IRenameRule currentSelectedRule = (IRenameRule)RulesListView.SelectedItems[0].Tag; int ruleIndex = Globals.RenameRules.IndexOf(Globals.RenameRules.Find(rule => rule.Id == currentSelectedRule.Id)); Globals.RenameRules.RemoveAt(ruleIndex); UpdateRulesListView(); UpdateFileRenameListView(); RulesListView.Focus(); if (RulesListView.Items.Count != 0) { RulesListView.Items[RulesListView.Items.Count - 1].Focused = true; RulesListView.Items[RulesListView.Items.Count - 1].Selected = true; } else { DeleteRuleButton.Enabled = false; EditRuleButton.Enabled = false; RenameButton.Enabled = false; } UpdateRuleButtonStates(null, null); }