// Add db views after shares was added in facade layout with this:
in method
private void LoadDirectory(parameters)
{
......
.......
AddDbViews(itemlist); // itemlist contains shares, now it's time to add views
// Add db views after shares was added in facade layout with this:
private void AddDbViews(List<GUIListItem> itemList)
{
if (handler != null && handler.Views.Any() && _adddDbViewsToShares)
{
foreach (ViewDefinition view in handler.Views)
{
GUIListItem item = new GUIListItem();
item.IsFolder = true;
item.IsBdDvdFolder = false;
item.UserBool1 = true; // -->mark that this item is view, not some file or folder, this property (UserBool1) does not exist in GUIListItem but can be easily added
item.UserString1 = view.Name; // View name to open, this property (UserString1 ) does not exist in GUIListItem but can be easily added
item.Label = view.LocalizedName;
item.Label2 = "DBView";
item.IsPlayed = true;
item.OnItemSelected += item_OnItemSelected;
item.IconImageBig = "DefaultPlaylistBig.png";
item.IconImage = "DefaultPlaylist.png";
item.ThumbnailImage = "DefaultPlaylistBig.png";
facadeLayout.Add(item);
itemList.Add(item);
}
}
}
bla bla, end of LoadDirectory
// Test in onclick handler which opens dbview
protected override void OnClick(int iItem)
{
... bla bla test against nulls and empty items then somewhere...
if (item.UserBool1)
{
_playClicked = false;
GUIVideoTitle videoTitle = (GUIVideoTitle)GUIWindowManager.GetWindow((int)Window.WINDOW_VIDEO_TITLE);
videoTitle.StartView = item.UserString1;
GUIWindowManager.ActivateWindow((int)Window.WINDOW_VIDEO_TITLE);
return;
}