private void GetTag(string strTag) { if (!lsbTag.Items.Contains(strTag)) { RLiteratureTag newTag = new RLiteratureTag(); newTag.Tag = strTag; lstLiteratureTag.Add(newTag); lsbTag.Items.Add(strTag); } }
private void removeTagToolStripMenuItem_Click(object sender, EventArgs e) { List <string> selectedTags = new List <string>(); if (clbTag.CheckedItems != null) { foreach (var selected in clbTag.CheckedItems) { string[] sub = selected.ToString().Split('['); selectedTags.Add(sub[0]); } DialogResult result = MessageBox.Show("Do you want to remove these tags? Literature without tag will add a new tag called '(default)'", "Remove confirm", MessageBoxButtons.YesNo); switch (result) { case DialogResult.Yes: foreach (string tag in selectedTags) { G.glb.lstLiteratureTag.RemoveAll(o => o.Tag == tag); } foreach (CLiterature lit in G.glb.lstLiterature) { if (!G.glb.lstLiteratureTag.Exists(o => o.Title == lit.Title)) { RLiteratureTag defaultTag = new RLiteratureTag(); defaultTag.Title = lit.Title; defaultTag.Tag = "(default)"; G.glb.lstLiteratureTag.Add(defaultTag); } } LoadTab(); LoadLiteratureList(); break; case DialogResult.No: break; default: break; } } }
private void groupToolStripMenuItem_Click(object sender, EventArgs e) { List <string> selectedTags = new List <string>(); if (clbTag.CheckedItems != null) { foreach (var selected in clbTag.CheckedItems) { string[] sub = selected.ToString().Split('['); selectedTags.Add(sub[0]); } } string NewName = Interaction.InputBox("Input Group Tag Name", "Rename", "Rename Tag", 300, 300); List <string> existingTags = new List <string>(); foreach (RLiteratureTag litTag in G.glb.lstLiteratureTag) { if (!existingTags.Exists(o => o == litTag.Tag)) { existingTags.Add(litTag.Tag); } } if (existingTags.Exists(o => o == NewName)) { DialogResult result = MessageBox.Show("Tag '" + NewName + "' exists, do you want to add this tag?", "Group confirm", MessageBoxButtons.YesNo); switch (result) { case DialogResult.Yes: List <RLiteratureTag> newTags = new List <RLiteratureTag>(); foreach (RLiteratureTag litTag in G.glb.lstLiteratureTag) { if (selectedTags.Exists(o => o == litTag.Tag)) { if (!G.glb.lstLiteratureTag.Exists(o => o.Title == litTag.Title && o.Tag == NewName) && !newTags.Exists(o => o.Title == litTag.Title && o.Tag == NewName)) { RLiteratureTag groupTag = new RLiteratureTag(); groupTag.Title = litTag.Title; groupTag.Tag = NewName; newTags.Add(groupTag); } } } G.glb.lstLiteratureTag.AddRange(newTags); LoadTab(); LoadLiteratureList(); break; case DialogResult.No: break; default: break; } } else { List <RLiteratureTag> newTags = new List <RLiteratureTag>(); foreach (RLiteratureTag litTag in G.glb.lstLiteratureTag) { if (selectedTags.Exists(o => o == litTag.Tag)) { if (!G.glb.lstLiteratureTag.Exists(o => o.Title == litTag.Title && o.Tag == NewName) && !newTags.Exists(o => o.Title == litTag.Title && o.Tag == NewName)) { RLiteratureTag groupTag = new RLiteratureTag(); groupTag.Title = litTag.Title; groupTag.Tag = NewName; newTags.Add(groupTag); } } } G.glb.lstLiteratureTag.AddRange(newTags); LoadTab(); LoadLiteratureList(); } }