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);
        }
Beispiel #2
0
        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();
                }
            }
        }
Beispiel #3
0
        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;
		}
Beispiel #5
0
        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;
            }
        }