private void PopulateAlbums() { Gtk.Menu menu = new Gtk.Menu(); if (gallery.Version == GalleryVersion.Version1) { Gtk.MenuItem top_item = new Gtk.MenuItem(Catalog.GetString("(TopLevel)")); menu.Append(top_item); } foreach (Album album in gallery.Albums) { System.Text.StringBuilder label_builder = new System.Text.StringBuilder(); for (int i = 0; i < album.Parents.Count; i++) { label_builder.Append(" "); } label_builder.Append(album.Title); Gtk.MenuItem item = new Gtk.MenuItem(label_builder.ToString()); ((Gtk.Label)item.Child).UseUnderline = false; menu.Append(item); AlbumPermission create_sub = album.Perms & AlbumPermission.CreateSubAlbum; if (create_sub == 0) { item.Sensitive = false; } } album_optionmenu.Sensitive = true; menu.ShowAll(); album_optionmenu.Menu = menu; }
private void PopulateAlbumOptionMenu(Gallery gallery) { System.Collections.ArrayList albums = null; if (gallery != null) { //gallery.FetchAlbumsPrune (); try { gallery.FetchAlbums(); albums = gallery.Albums; } catch (GalleryCommandException e) { gallery.PopupException(e, export_dialog); return; } } Gtk.Menu menu = new Gtk.Menu(); bool disconnected = gallery == null || !account.Connected || albums == null; if (disconnected || albums.Count == 0) { string msg = disconnected ? Catalog.GetString("(Not Connected)") : Catalog.GetString("(No Albums)"); Gtk.MenuItem item = new Gtk.MenuItem(msg); menu.Append(item); export_button.Sensitive = false; album_optionmenu.Sensitive = false; album_button.Sensitive = false; if (disconnected) { album_button.Sensitive = false; } } else { foreach (Album album in albums) { System.Text.StringBuilder label_builder = new System.Text.StringBuilder(); for (int i = 0; i < album.Parents.Count; i++) { label_builder.Append(" "); } label_builder.Append(album.Title); Gtk.MenuItem item = new Gtk.MenuItem(label_builder.ToString()); ((Gtk.Label)item.Child).UseUnderline = false; menu.Append(item); AlbumPermission add_permission = album.Perms & AlbumPermission.Add; if (add_permission == 0) { item.Sensitive = false; } } export_button.Sensitive = items.Length > 0; album_optionmenu.Sensitive = true; album_button.Sensitive = true; } menu.ShowAll(); album_optionmenu.Menu = menu; }