public StreamDeskSettings()
 {
     FavoritesRoot = new FavoritesFolder();
     ActiveDatabases = new List<string>();
 }
Esempio n. 2
0
        private void RefreshMenu(FavoritesFolder folder, NSMenuItem menuItem)
        {
            if(menuItem.HasSubmenu != true && (folder.SubFolders.Count != 0 || folder.Favorites.Count != 0))
                menuItem.Submenu = new NSMenu();

            foreach (FavoritesFolder favoritesFolder in folder.SubFolders)
            {
                var newMenuItem = new NSMenuItem(favoritesFolder.Name);
                menuItemsFavorite.Add(newMenuItem);
                RefreshMenu(favoritesFolder, newMenuItem);
                menuItem.Submenu.AddItem(newMenuItem);
            }

            foreach (Favorite favorite in folder.Favorites)
            {
                var newMenuItem = new NSMenuItem(favorite.Name)
                {
                    Tag = favoriteStreamTag.Count,
                };
                favoriteStreamTag.Add(favorite.Id);
                menuItemsFavorite.Add(newMenuItem);

                newMenuItem.Activated += HandleNewMenuItemActivated;
                menuItem.Submenu.AddItem(newMenuItem);
            }
        }