public PicasaAlbumCollection GetAlbums() { string gallery_link = GDataApi.GetGalleryFeed(user); string received = conn.DownloadString(gallery_link); XmlDocument doc = new XmlDocument(); doc.LoadXml(received); XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable); XmlUtil.AddDefaultNamespaces(nsmgr); XmlNode feed = doc.SelectSingleNode("atom:feed", nsmgr); PicasaAlbumCollection coll = new PicasaAlbumCollection(); foreach (XmlNode item in feed.SelectNodes("atom:entry", nsmgr)) { coll.Add(new PicasaAlbum(conn, user, item, nsmgr)); } coll.SetReadOnly(); return(coll); }
private void loginToolStripMenuItem_Click(object sender, EventArgs e) { LoginDialog ld = new LoginDialog(); ld.ShowDialog(); if (ld.DialogResult == DialogResult.OK) { pam = new PicasaAlbumsManager(ld.Username, ld.Password); //How do we handle failures? // pam.login(); // We done, yet :-/ ...... Well, I wrote some code for it // using exception handling, but I thought it was crap, and deleted it. // This is how: try { pam.login(); this.lblStatus.Text = "Connected as " + ld.Username; myAlbums = pam.getAllAlbums(); albumList.DisplayMember = pam.DisplayMember; for (int i = 0; i < myAlbums.Count; i++) { albumList.Items.Add(myAlbums[i]); } } catch (UnauthorizedAccessException) { NotifyDialog bad_login = new NotifyDialog(); bad_login.NotificationMessage = "Wrong password. Try again."; bad_login.ShowDialog(); } } }
public PicasaAlbumCollection GetAlbums() { string gallery_link = GDataApi.GetGalleryFeed (user); string received = conn.DownloadString (gallery_link); XmlDocument doc = new XmlDocument (); doc.LoadXml (received); XmlNamespaceManager nsmgr = new XmlNamespaceManager (doc.NameTable); XmlUtil.AddDefaultNamespaces (nsmgr); XmlNode feed = doc.SelectSingleNode ("atom:feed", nsmgr); PicasaAlbumCollection coll = new PicasaAlbumCollection (); foreach (XmlNode item in feed.SelectNodes ("atom:entry", nsmgr)) { coll.Add (new PicasaAlbum (conn, user, item, nsmgr)); } coll.SetReadOnly (); return coll; }
private void PopulateAlbumOptionMenu (PicasaWeb picasa) { if (picasa != null) { try { albums = picasa.GetAlbums(); } catch { Console.WriteLine("Can't get the albums"); albums = null; picasa = null; } } Gtk.Menu menu = new Gtk.Menu (); bool disconnected = picasa == 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 (PicasaAlbum album in albums.AllValues) { System.Text.StringBuilder label_builder = new System.Text.StringBuilder (); label_builder.Append (album.Title); label_builder.Append (" (" + album.PicturesCount + ")"); Gtk.MenuItem item = new Gtk.MenuItem (label_builder.ToString ()); ((Gtk.Label)item.Child).UseUnderline = false; menu.Append (item); } export_button.Sensitive = items.Length > 0; album_optionmenu.Sensitive = true; album_button.Sensitive = true; } menu.ShowAll (); album_optionmenu.Menu = menu; }
private void PopulateAlbumOptionMenu(Mono.Google.Picasa.PicasaWeb picasa) { if (picasa != null) try { albums = picasa.GetAlbums(); } catch { Log.Warning ("Picasa: can't get the albums"); albums = null; picasa = null; } bool disconnected = picasa == null || !account.Connected || albums == null; if (disconnected || albums.Count == 0) { string msg = disconnected ? Catalog.GetString ("(Not Connected)") : Catalog.GetString ("(No Albums)"); album_optionmenu.AppendText (msg); export_button.Sensitive = false; album_optionmenu.Sensitive = false; album_button.Sensitive = false; if (disconnected) album_button.Sensitive = false; } else { foreach (PicasaAlbum album in albums.AllValues) { System.Text.StringBuilder label_builder = new System.Text.StringBuilder (); label_builder.Append (album.Title); label_builder.Append (" (" + album.PicturesCount + ")"); album_optionmenu.AppendText (label_builder.ToString ()); } export_button.Sensitive = items.Length > 0; album_optionmenu.Sensitive = true; album_button.Sensitive = true; } }