Exemplo n.º 1
0
        public void InsertItems(int index, SyncMenuItemEntity parentItem, List<SyncMenuItemEntity> items, object userData)
        {
            Console.WriteLine("SyncMenuWindowController - InsertItems - index: {0} items.Count: {1}", index, items.Count);
            InvokeOnMainThread(delegate {
                var item = _items.FirstOrDefault(x => x.Entity == parentItem);
                // Try to search in subitems
                if(item == null)
                    foreach(var currentItem in _items)
                        foreach(var subItem in currentItem.SubItems)
                            if(subItem.Entity == parentItem)
                            {
                                item = subItem;
                                break;
                            }
                if(item == null)
                    return;

                // Clear dummy node and add actual items
                item.SubItems.Clear();
                foreach(var entity in items)
                {
                    var newItem = new SyncMenuItem(entity);
                    if(entity.ItemType != SyncMenuItemEntityType.Song)
                        newItem.SubItems.Add(new SyncMenuItem(new SyncMenuItemEntity(){
                            ArtistName = "dummy",
                            AlbumTitle = "dummy"
                        }));
                    item.SubItems.Add(newItem);
                }
                outlineView.ReloadData();
            });
        }
Exemplo n.º 2
0
        public void RefreshItems(List<SyncMenuItemEntity> items)
        {
            Console.WriteLine("SyncMenuWindowController - RefreshItems - items count: {0}", items.Count);
            InvokeOnMainThread(delegate {
                _items.Clear();
                foreach(var item in items)
                {
                    var syncMenuItem = new SyncMenuItem(item);
                    syncMenuItem.SubItems.Add(new SyncMenuItem(new SyncMenuItemEntity(){
                        ArtistName = "dummy",
                        AlbumTitle = "dummy"
                    }));
                    _items.Add(syncMenuItem);
                }

                outlineView.ReloadData();
            });
        }