Beispiel #1
0
        public void UpdateSelectedSongTitle()
        {
            SongList.SelectedIndexChanged -= SongList_SelectedIndexChanged;
            SongList.BeginUpdate();

            List <int>       selected = SongList.SelectedIndices.Cast <int>().ToList();
            List <SongEntry> songs    = SelectedSongs.ToList();

            if (selected.Count != songs.Count)
            {
                return;
            }

            SongList.ClearSelected();

            for (int i = 0; i < songs.Count; ++i)
            {
                SongList.Items[selected[i]] = songs[i];
            }
            foreach (int i in selected)
            {
                SongList.SetSelected(i, true);
            }

            SongList.EndUpdate();
            SongList.SelectedIndexChanged += SongList_SelectedIndexChanged;
        }
Beispiel #2
0
        private void AddButton_Click(object sender, EventArgs e)
        {
            List <SongEntry> selected = (from SongEntry s in SongList.SelectedItems select s).ToList();

            List <string> path  = PathToSelectedGroup();
            TreeNode      group = GroupList.SelectedNode;

            if (group.ForeColor != Color.RoyalBlue)
            {
                group = group.Parent;
            }

            GroupList.BeginUpdate();
            SongList.BeginUpdate();

            foreach (var s in selected)
            {
                Metadata.AddSongToGroup(path, s.UniqueId);
                AddTreeViewSong(group, s);

                SongList.Items.Remove(s);
            }

            GroupList.EndUpdate();
            SongList.EndUpdate();

            MadeChanges = true;
        }
Beispiel #3
0
        public void RefreshSongList()
        {
            SongList.BeginUpdate();

            var selectedIds = (from s in SelectedSongs select s.UniqueId).ToList();

            SongList.Items.Clear();

            if (c.Metadata != null)
            {
                foreach (SongEntry s in c.Metadata.Songs)
                {
                    SongList.Items.Add(s);
                    if (selectedIds.Contains(s.UniqueId))
                    {
                        SongList.SetSelected(SongList.Items.Count - 1, true);
                    }
                }
            }

            SongList.EndUpdate();
        }