public void updateInfo() { m_CurrentArtist = ""; m_CurrentTitle = ""; tbLyrics.Text = ""; lbTitle.Text = ""; lbSource.Text = ""; lbLRCTest.Text = ""; tbLyrics.Enabled = false; // Selected a title if (treeView.SelectedNode != null && treeView.SelectedNode.Parent != null) { string artist = treeView.SelectedNode.Parent.Text; string title = treeView.SelectedNode.Text; if (artist.Length != 0 && title.Length != 0) { m_CurrentArtist = LyricUtil.CapatalizeString(artist); m_CurrentTitle = LyricUtil.CapatalizeString(title); if (DatabaseUtil.IsTrackInLyricsDatabase(CurrentDB, m_CurrentArtist, m_CurrentTitle).Equals(DatabaseUtil.LYRIC_FOUND)) { LyricsItem item = CurrentDB[DatabaseUtil.CorrectKeyFormat(m_CurrentArtist, m_CurrentTitle)]; string lyricsText = item.Lyrics; lyricsText = LyricsEngine.LyricUtil.ReturnEnvironmentNewLine(lyricsText); m_OriginalLyric = lyricsText; tbLyrics.Text = m_OriginalLyric; tbLyrics.Enabled = true; lbTitle.Text = "\"" + m_CurrentArtist + " - " + m_CurrentTitle + "\""; lbSource.Text = "(" + item.Source + ")"; } } } // Selected an artist else if (treeView.SelectedNode != null) { string artist = treeView.SelectedNode.Text; m_CurrentArtist = LyricUtil.CapatalizeString(artist); } }
/// <summary> /// AddSong adds a lyric to the treeView and not to the lyric database /// </summary> /// <param name="lyricsItem">lyrics item</param> private void AddSong(LyricsItem lyricsItem) { var artist = LyricUtil.CapatalizeString(lyricsItem.Artist); var title = LyricUtil.CapatalizeString(lyricsItem.Title); // add artist, if it doesn't exists if (!treeView.Nodes.ContainsKey(artist)) { treeView.Nodes.Add(artist, artist); ++_mNoOfArtists; } // add title, if it doesn't exists var artistIndex = treeView.Nodes.IndexOfKey(artist); if (artistIndex >= 0 && !treeView.Nodes[artistIndex].Nodes.ContainsKey(title)) { treeView.Nodes[artistIndex].Nodes.Add(title, title); treeView.Nodes[artistIndex].Nodes[treeView.Nodes[artistIndex].Nodes.Count - 1].Tag = lyricsItem; ++_mNoOfTitles; } }
private void btSwitch_Click(object sender, EventArgs e) { string temp = ""; string artist = ""; string title = ""; if (treeView.SelectedNode != null) { temp = treeView.SelectedNode.Text; if (treeView.SelectedNode.Parent != null) { artist = treeView.SelectedNode.Parent.Text; title = temp; } else { artist = temp; } } if (artist.Length == 0 && title.Length == 0) { MessageBox.Show("No artist or track selected"); } else if (title.Length == 0) { TreeNode artistNode = treeView.SelectedNode; LyricsDatabase otherDatabase = null; if (CurrentDB.Equals(MyLyricsSettings.LyricsDB)) { otherDatabase = MyLyricsSettings.LyricsMarkedDB; } else { otherDatabase = MyLyricsSettings.LyricsDB; } foreach (TreeNode node in artistNode.Nodes) { string key = DatabaseUtil.CorrectKeyFormat(artist, node.Text); LyricsItem item = CurrentDB[key]; CurrentDB.Remove(key); if (!DatabaseUtil.IsTrackInLyricsDatabase(otherDatabase, artist, item.Title).Equals(DatabaseUtil.LYRIC_NOT_FOUND)) { otherDatabase.Add(key, item); } else { otherDatabase[key] = item; } } updateLyricsTree(); DatabaseUtil.SerializeDBs(); } else { string key = DatabaseUtil.CorrectKeyFormat(artist, title); LyricsItem item = CurrentDB[key]; // remove song from treeview and current database RemoveSong(artist, title); // add song to other database and serialize it if (CurrentDB.Equals(MyLyricsSettings.LyricsDB)) { MyLyricsSettings.LyricsMarkedDB.Add(key, item); DatabaseUtil.SerializeDB(MyLyricsSettings.LyricsMarkedDB); } else { MyLyricsSettings.LyricsDB.Add(key, item); DatabaseUtil.SerializeDB(MyLyricsSettings.LyricsDB); } updateLyricDatabaseStats(); } treeView.Focus(); }