Author: fmantek
Date: Thu Oct 18 06:39:20 2007
New Revision: 308
Removed:
trunk/clients/cs/samples/PhotoBrowser/AlbumMeta.cs
Modified:
trunk/clients/cs/samples/PhotoBrowser/Browser.cs
trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj
trunk/clients/cs/src/core/gauthrequest.cs
trunk/clients/cs/src/extensions/extcollections.cs
trunk/clients/cs/src/extensions/mediarss.cs
trunk/clients/cs/src/extensions/reminder.cs
trunk/clients/cs/src/gphotos/albumentry.cs
trunk/clients/cs/src/gphotos/photoentry.cs
trunk/clients/cs/src/gphotos/picasaquery.cs
Log:
some comment fixes. Changes for the Picasa Demo program
Modified: trunk/clients/cs/samples/PhotoBrowser/Browser.cs
==============================================================================
--- trunk/clients/cs/samples/PhotoBrowser/Browser.cs (original)
+++ trunk/clients/cs/samples/PhotoBrowser/Browser.cs Thu Oct 18
06:39:20 2007
@@ -24,8 +24,12 @@
private System.Windows.Forms.ImageList imageList1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.PropertyGrid AlbumInspector;
- private System.Windows.Forms.Button button1;
+ private System.Windows.Forms.Button AddAlbum;
+ private System.Windows.Forms.Button SaveAlbum;
+ private System.Windows.Forms.Button DeleteAlbum;
private PicasaService picasaService = new
PicasaService("PhotoBrowser");
+ private System.Windows.Forms.Button SaveAlbumData;
+ private PicasaFeed picasaFeed = null;
public PhotoBrowser()
@@ -69,7 +73,10 @@
this.imageList1 = new
System.Windows.Forms.ImageList(this.components);
this.label2 = new System.Windows.Forms.Label();
this.AlbumInspector = new System.Windows.Forms.PropertyGrid();
- this.button1 = new System.Windows.Forms.Button();
+ this.SaveAlbumData = new System.Windows.Forms.Button();
+ this.AddAlbum = new System.Windows.Forms.Button();
+ this.SaveAlbum = new System.Windows.Forms.Button();
+ this.DeleteAlbum = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// AlbumList
@@ -84,6 +91,7 @@
this.AlbumList.Sorting = System.Windows.Forms.SortOrder.Ascending;
this.AlbumList.TabIndex = 0;
this.AlbumList.View = System.Windows.Forms.View.List;
+ this.AlbumList.DoubleClick += new
System.EventHandler(this.OnBrowseAlbum);
this.AlbumList.SelectedIndexChanged += new
System.EventHandler(this.AlbumList_SelectedIndexChanged);
//
// AlbumPicture
@@ -129,20 +137,49 @@
this.AlbumInspector.ViewBackColor =
System.Drawing.SystemColors.Window;
this.AlbumInspector.ViewForeColor =
System.Drawing.SystemColors.WindowText;
//
- // button1
+ // SaveAlbumData
//
- this.button1.Location = new System.Drawing.Point(16, 480);
- this.button1.Name = "button1";
- this.button1.Size = new System.Drawing.Size(120, 40);
- this.button1.TabIndex = 5;
- this.button1.Text = "&Save Album Data";
- this.button1.Click += new System.EventHandler(this.button1_Click);
+ this.SaveAlbumData.Location = new System.Drawing.Point(16, 480);
+ this.SaveAlbumData.Name = "SaveAlbumData";
+ this.SaveAlbumData.Size = new System.Drawing.Size(88, 40);
+ this.SaveAlbumData.TabIndex = 5;
+ this.SaveAlbumData.Text = "&Save Album Data";
+ this.SaveAlbumData.Click += new
System.EventHandler(this.SaveAlbumData_Click);
+ //
+ // AddAlbum
+ //
+ this.AddAlbum.Location = new System.Drawing.Point(130, 480);
+ this.AddAlbum.Name = "AddAlbum";
+ this.AddAlbum.Size = new System.Drawing.Size(88, 40);
+ this.AddAlbum.TabIndex = 6;
+ this.AddAlbum.Text = "&Add a new Album";
+ this.AddAlbum.Click += new
System.EventHandler(this.AddAlbum_Click);
+ //
+ // SaveAlbum
+ //
+ this.SaveAlbum.Location = new System.Drawing.Point(240, 480);
+ this.SaveAlbum.Name = "SaveAlbum";
+ this.SaveAlbum.Size = new System.Drawing.Size(88, 40);
+ this.SaveAlbum.TabIndex = 7;
+ this.SaveAlbum.Text = "&Backup Album";
+ //
+ // DeleteAlbum
+ //
+ this.DeleteAlbum.Location = new System.Drawing.Point(400, 480);
+ this.DeleteAlbum.Name = "DeleteAlbum";
+ this.DeleteAlbum.Size = new System.Drawing.Size(88, 40);
+ this.DeleteAlbum.TabIndex = 8;
+ this.DeleteAlbum.Text = "&Delete Album";
+ this.DeleteAlbum.Click += new
System.EventHandler(this.DeleteAlbum_Click);
//
// PhotoBrowser
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15);
- this.ClientSize = new System.Drawing.Size(512, 552);
- this.Controls.Add(this.button1);
+ this.ClientSize = new System.Drawing.Size(504, 544);
+ this.Controls.Add(this.DeleteAlbum);
+ this.Controls.Add(this.SaveAlbum);
+ this.Controls.Add(this.AddAlbum);
+ this.Controls.Add(this.SaveAlbumData);
this.Controls.Add(this.AlbumInspector);
this.Controls.Add(this.label2);
this.Controls.Add(this.label1);
@@ -190,11 +227,11 @@
query.Uri = new Uri(PicasaQuery.CreatePicasaUri(this.user));
- PicasaFeed feed = this.picasaService.Query(query);
+ this.picasaFeed = this.picasaService.Query(query);
- if (feed != null && feed.Entries.Count > 0)
+ if (this.picasaFeed != null &&
this.picasaFeed.Entries.Count > 0)
{
- foreach (PicasaEntry entry in feed.Entries)
+ foreach (PicasaEntry entry in this.picasaFeed.Entries)
{
ListViewItem item = new
ListViewItem(entry.Title.Text +
" (" +
entry.getPhotoExtensionValue(GPhotoNameTable.NumPhotos) + " )");
@@ -210,14 +247,77 @@
foreach (ListViewItem item in this.AlbumList.SelectedItems)
{
PicasaEntry entry = item.Tag as PicasaEntry;
+ setSelection(entry);
+ }
+ }
+
+ private void OnBrowseAlbum(object sender, System.EventArgs e)
+ {
+ foreach (ListViewItem item in this.AlbumList.SelectedItems)
+ {
+ PicasaEntry entry = item.Tag as PicasaEntry;
+ string photoUri = entry.FeedUri;
+ if (photoUri != null)
+ {
+ PhotoQuery query = new PhotoQuery(photoUri);
+ this.Cursor = Cursors.WaitCursor;
+ PicasaFeed photoFeed = this.picasaService.Query(query);
+ this.Cursor = Cursors.Default;
+ PictureBrowser b = new
PictureBrowser(this.picasaService, photoFeed, entry.Title.Text);
+ b.Show();
+ }
+ }
+ }
+
+ private void AddAlbum_Click(object sender, System.EventArgs e)
+ {
+ NewAlbumDialog dialog = new
NewAlbumDialog(this.picasaService, this.picasaFeed);
+ dialog.ShowDialog();
+ PicasaEntry entry = dialog.CreatedEntry;
+ if (entry != null)
+ {
+ ListViewItem item = new ListViewItem(entry.Title.Text +
+ " (" +
entry.getPhotoExtensionValue(GPhotoNameTable.NumPhotos) + " )");
+ item.Tag = entry;
+ this.AlbumList.Items.Add(item);
+ }
+ }
+
+ private void DeleteAlbum_Click(object sender, System.EventArgs e)
+ {
+
+ if (MessageBox.Show("Are you really sure? This is not undoable.",
+ "Delete this Album", MessageBoxButtons.YesNo) ==
DialogResult.Yes)
+ {
+ foreach (ListViewItem item in this.AlbumList.SelectedItems)
+ {
+ PicasaEntry entry = item.Tag as PicasaEntry;
+ entry.Delete();
+ this.AlbumList.Items.Remove(item);
+ setSelection(null);
+ }
+ }
+ }
+
+ private void setSelection(PicasaEntry entry)
+ {
+ if (entry != null)
+ {
+ this.Cursor = Cursors.WaitCursor;
MediaThumbnail thumb = entry.Media.Thumbnails[0];
Stream stream = this.picasaService.Query(new
Uri(thumb.Attributes["url"] as string));
this.AlbumPicture.Image = new Bitmap(stream);
- this.AlbumInspector.SelectedObject = new AlbumMeta(entry);
+ this.AlbumInspector.SelectedObject = new AlbumAccessor(entry);
+ this.Cursor = Cursors.Default;
+ }
+ else
+ {
+ this.AlbumPicture.Image = null;
+ this.AlbumInspector.SelectedObject = null;
}
}
- private void button1_Click(object sender, System.EventArgs e)
+ private void SaveAlbumData_Click(object sender,
System.EventArgs e)
{
foreach (ListViewItem item in this.AlbumList.SelectedItems)
{
Modified: trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj
==============================================================================
--- trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj
(original)
+++ trunk/clients/cs/src/VS2003/Photobrowser/PhotoBrowser.csproj Thu
Oct 18 06:39:20 2007
@@ -109,14 +109,9 @@
<Files>
<Include>
<File
- RelPath = "AlbumMeta.cs"
- Link = "..\..\..\samples\PhotoBrowser\AlbumMeta.cs"
- SubType = "Code"
- BuildAction = "Compile"
- />
- <File
RelPath = "AssemblyInfo.cs"
Link = "..\..\..\samples\PhotoBrowser\AssemblyInfo.cs"
+ SubType = "Code"
BuildAction = "Compile"
/>
<File
@@ -136,6 +131,26 @@
Link = "..\..\..\samples\PhotoBrowser\GoogleClientLogin.cs"
SubType = "Form"
BuildAction = "Compile"
+ />
+ <File
+ RelPath = "NewAlbumDialog.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "NewAlbumDialog.resx"
+ DependentUpon = "NewAlbumDialog.cs"
+ BuildAction = "EmbeddedResource"
+ />
+ <File
+ RelPath = "PhotoBrowser.cs"
+ SubType = "Form"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "PhotoBrowser.resx"
+ DependentUpon = "PhotoBrowser.cs"
+ BuildAction = "EmbeddedResource"
/>
</Include>
</Files>
Modified: trunk/clients/cs/src/core/gauthrequest.cs
==============================================================================
--- trunk/clients/cs/src/core/gauthrequest.cs (original)
+++ trunk/clients/cs/src/core/gauthrequest.cs Thu Oct 18 06:39:20 2007
@@ -553,7 +553,7 @@
/// values from the login URI handler.
/// </summary>
/// <param name="tokens">The tokencollection of the parsed
return form</param>
- /// </// <param name="response">the webresponse</param>
+ /// <param name="response">the webresponse</param>
/// <returns>AuthenticationException</returns>
private LoggedException getAuthException(TokenCollection
tokens, HttpWebResponse response)
{
Modified: trunk/clients/cs/src/extensions/extcollections.cs
==============================================================================
--- trunk/clients/cs/src/extensions/extcollections.cs (original)
+++ trunk/clients/cs/src/extensions/extcollections.cs Thu Oct 18
06:39:20 2007
@@ -54,7 +54,7 @@
/// will copy objects to an internal array for caching. Note
that when the external
/// ExtensionList is modified, this will have no effect on
this copy
/// </summary>
- /// <param name="atomElement">the base element holding the
extension list</param>
+ /// <param name="containerElement">the base element holding
the extension list</param>
/// <param name="localName">the local name of the extension</param>
/// <param name="ns">the namespace</param>
public ExtensionCollection(IExtensionContainer
containerElement, string localName, string ns) : base()
@@ -339,73 +339,5 @@
}
/////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////
- /// <summary>Typed collection for Thumbnails Extensions.</summary>
- //////////////////////////////////////////////////////////////////////
- public class ThumbnailCollection : ExtensionCollection
- {
- private ThumbnailCollection() : base()
- {
- }
-
- /// <summary>constructor</summary>
- public ThumbnailCollection(IExtensionContainer atomElement)
- : base(atomElement, MediaRssNameTable.MediaRssThumbnail,
MediaRssNameTable.NSMediaRss)
- {
- }
-
- /// <summary>standard typed accessor method </summary>
- public MediaThumbnail this[int index]
- {
- get
- {
- return ((MediaThumbnail)List[index]);
- }
- set
- {
- setItem(index,value);
- }
- }
-
- /// <summary>standard typed add method </summary>
- public int Add(MediaThumbnail value)
- {
- return base.Add(value);
- }
-
- /// <summary>standard typed indexOf method </summary>
- public int IndexOf(MediaThumbnail value)
- {
- return (List.IndexOf(value));
- }
-
- /// <summary>standard typed insert method </summary>
- public void Insert(int index, MediaThumbnail value)
- {
- base.Insert(index, value);
- }
-
- /// <summary>standard typed remove method </summary>
- public void Remove(MediaThumbnail value)
- {
- base.Remove(value);
- }
-
- /// <summary>standard typed Contains method </summary>
- public bool Contains(MediaThumbnail value)
- {
- // If value is not of type AtomEntry, this will return false.
- return (List.Contains(value));
- }
-
- /// <summary>standard typed OnValidate Override </summary>
- protected override void OnValidate(Object value)
- {
- if (value as MediaThumbnail == null)
- throw new ArgumentException("value must be of type
Google.GData.Extensions.MediaRss.MediaThumbnail.", "value");
- }
- }
-
/////////////////////////////////////////////////////////////////////////////
-
-
+
}
Modified: trunk/clients/cs/src/extensions/mediarss.cs
==============================================================================
--- trunk/clients/cs/src/extensions/mediarss.cs (original)
+++ trunk/clients/cs/src/extensions/mediarss.cs Thu Oct 18 06:39:20 2007
@@ -352,4 +352,74 @@
}
}
+ //////////////////////////////////////////////////////////////////////
+ /// <summary>Typed collection for Thumbnails Extensions.</summary>
+ //////////////////////////////////////////////////////////////////////
+ public class ThumbnailCollection : ExtensionCollection
+ {
+ private ThumbnailCollection() : base()
+ {
+ }
+
+ /// <summary>constructor</summary>
+ public ThumbnailCollection(IExtensionContainer atomElement)
+ : base(atomElement, MediaRssNameTable.MediaRssThumbnail,
MediaRssNameTable.NSMediaRss)
+ {
+ }
+
+ /// <summary>standard typed accessor method </summary>
+ public MediaThumbnail this[int index]
+ {
+ get
+ {
+ return ((MediaThumbnail)List[index]);
+ }
+ set
+ {
+ setItem(index,value);
+ }
+ }
+
+ /// <summary>standard typed add method </summary>
+ public int Add(MediaThumbnail value)
+ {
+ return base.Add(value);
+ }
+
+ /// <summary>standard typed indexOf method </summary>
+ public int IndexOf(MediaThumbnail value)
+ {
+ return (List.IndexOf(value));
+ }
+
+ /// <summary>standard typed insert method </summary>
+ public void Insert(int index, MediaThumbnail value)
+ {
+ base.Insert(index, value);
+ }
+
+ /// <summary>standard typed remove method </summary>
+ public void Remove(MediaThumbnail value)
+ {
+ base.Remove(value);
+ }
+
+ /// <summary>standard typed Contains method </summary>
+ public bool Contains(MediaThumbnail value)
+ {
+ // If value is not of type AtomEntry, this will return false.
+ return (List.Contains(value));
+ }
+
+ /// <summary>standard typed OnValidate Override </summary>
+ protected override void OnValidate(Object value)
+ {
+ if (value as MediaThumbnail == null)
+ throw new ArgumentException("value must be of type
Google.GData.Extensions.MediaRss.MediaThumbnail.", "value");
+ }
+ }
+
/////////////////////////////////////////////////////////////////////////////
+
+
+
}
Modified: trunk/clients/cs/src/extensions/reminder.cs
==============================================================================
--- trunk/clients/cs/src/extensions/reminder.cs (original)
+++ trunk/clients/cs/src/extensions/reminder.cs Thu Oct 18 06:39:20 2007
@@ -65,11 +65,8 @@
/// <term>InvalidEntryException</term>
/// </item>
/// <item>
- /// <term>1 gd:rem min=0</term>
- /// <term>*Use user's default settings</term>
- /// <term>No reminder</term>
- /// <term>InvalidEntryException</term>
- /// </item>
+ /// <term>1 gd:rem min=0</term>
+ /// <term>*Use user's default settings</term>
/// <term>No reminder</term>
/// <term>InvalidEntryException</term>
/// </item>
/// <item>
/// <term>1 gd:rem min=-1</term>
/// <term>*No reminder</term>
Modified: trunk/clients/cs/src/gphotos/albumentry.cs
==============================================================================
--- trunk/clients/cs/src/gphotos/albumentry.cs (original)
+++ trunk/clients/cs/src/gphotos/albumentry.cs Thu Oct 18 06:39:20 2007
@@ -19,8 +19,14 @@
using System.Collections;
using Google.GData.Client;
using Google.GData.Extensions;
+#if WindowsCE || PocketPC
+#else
+using System.ComponentModel;
+#endif
-namespace Google.GData.Photos {
+
+namespace Google.GData.Photos
+{
//////////////////////////////////////////////////////////////////////
/// <summary>
@@ -65,6 +71,11 @@
/// The album's access level. In this document, access level
is also
/// referred to as "visibility." Valid values are public or private.
/// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Album Data"),
+ Description("Specifies the access for the album.")]
+#endif
public string Access
{
get
@@ -76,10 +87,108 @@
this.entry.setPhotoExtension(GPhotoNameTable.Access, value);
}
}
+
+
+ /// <summary>
+ /// The nickname of the author
+ /// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the author's nickname")]
+#endif
+ public string AlbumAuthorNickname
+ {
+ get
+ {
+ return
this.entry.getPhotoExtensionValue(GPhotoNameTable.Nickname);
+ }
+ set
+ {
+ this.entry.setPhotoExtension(GPhotoNameTable.Nickname, value);
+ }
+ }
+
+ /// <summary>
+ /// The author's name
+ /// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the author's name")]
+#endif
+ public string AlbumAuthor
+ {
+ get
+ {
+ AtomPersonCollection authors = this.entry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ return person.Name;
+ }
+ return "No Author given";
+
+ }
+ set
+ {
+ AtomPersonCollection authors = this.entry.Authors;
+ if (authors != null && authors.Count >0)
+ {
+ AtomPerson person = authors[0];
+ person.Name = value;
+ }
+ }
+ }
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the name of the album.")]
+#endif
+ /// <summary>
+ /// The title of the album
+ /// </summary>
+ public string AlbumTitle
+ {
+ get
+ {
+ return this.entry.Title.Text;
+ }
+ set
+ {
+ this.entry.Title.Text = value;
+ }
+ }
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the summary of the album.")]
+#endif
+ /// <summary>
+ /// The summary of the album
+ /// </summary>
+ public string AlbumSummary
+ {
+ get
+ {
+ return this.entry.Summary.Text;
+ }
+ set
+ {
+ this.entry.Summary.Text = value;
+ }
+ }
/// <summary>
/// The number of bytes of storage that this album uses.
/// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Album Data"),
+ Description("Specifies the bytes used for the album.")]
+#endif
public uint BytesUsed
{
get
@@ -95,6 +204,11 @@
/// <summary>
/// The user-specified location associated with the album
/// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the location for the album.")]
+#endif
public string Location
{
get
@@ -110,15 +224,21 @@
/// <summary>
/// The number of photos in the album.
/// </summary>
+ ///
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Album Data"),
+ Description("Specifies the number of photos in the album.")]
+#endif
public uint NumPhotos
{
get
{
- return
Convert.ToUInt32(this.entry.getPhotoExtensionValue(GPhotoNameTable.BytesUsed));
+ return
Convert.ToUInt32(this.entry.getPhotoExtensionValue(GPhotoNameTable.NumPhotos));
}
set
{
-
this.entry.setPhotoExtension(GPhotoNameTable.BytesUsed,
Convert.ToString(value));
+
this.entry.setPhotoExtension(GPhotoNameTable.NumPhotos,
Convert.ToString(value));
}
}
@@ -128,6 +248,12 @@
/// album (gphoto:maxPhotosPerAlbum) minus the number of photos
/// currently in the album (gphoto:numphotos).
/// </summary>
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Album Data"),
+ Description("Specifies the number of remaining photo uploads
for the album.")]
+#endif
public uint NumPhotosRemaining
{
get
@@ -145,6 +271,12 @@
/// derived from the title. This is the name that should be
used in all
/// URLs involving the album.
/// </summary>
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the name for the album.")]
+#endif
public string Name
{
get
@@ -160,6 +292,11 @@
/// <summary>
/// the number of comments on an album
/// </summary>
+#if WindowsCE || PocketPC
+#else
+ [Category("Commenting"),
+ Description("Specifies the number of comments for the album.")]
+#endif
public uint CommentCount
{
get
@@ -175,6 +312,12 @@
/// <summary>
/// is commenting enabled on an album
/// </summary>
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Commenting"),
+ Description("Comments enabled?")]
+#endif
public bool CommentingEnabled
{
get
@@ -190,6 +333,12 @@
/// <summary>
/// the id of the album
/// </summary>
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Album Data"),
+ Description("Specifies the id for the album.")]
+#endif
public string Id
{
get
Modified: trunk/clients/cs/src/gphotos/photoentry.cs
==============================================================================
--- trunk/clients/cs/src/gphotos/photoentry.cs (original)
+++ trunk/clients/cs/src/gphotos/photoentry.cs Thu Oct 18 06:39:20 2007
@@ -23,9 +23,13 @@
using Google.GData.Extensions.MediaRss;
using Google.GData.Extensions.Exif;
using Google.GData.Extensions.Location;
+#if WindowsCE || PocketPC
+#else
+using System.ComponentModel;
+#endif
-
-namespace Google.GData.Photos {
+namespace Google.GData.Photos
+{
//////////////////////////////////////////////////////////////////////
@@ -71,6 +75,53 @@
}
}
+
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Photo Data"),
+ Description("Specifies the name of the photo.")]
+#endif
+ /// <summary>
+ /// The title of the photo
+ /// </summary>
+ public string PhotoTitle
+ {
+ get
+ {
+ return this.entry.Title.Text;
+ }
+ set
+ {
+ this.entry.Title.Text = value;
+ }
+ }
+#if WindowsCE || PocketPC
+#else
+ [Category("Base Photo Data"),
+ Description("Specifies the summary of the Photo.")]
+#endif
+ /// <summary>
+ /// The summary of the Photo
+ /// </summary>
+ public string PhotoSummary
+ {
+ get
+ {
+ return this.entry.Summary.Text;
+ }
+ set
+ {
+ this.entry.Summary.Text = value;
+ }
+ }
+
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("The checksum on the photo.")]
+#endif
/// <summary>
/// The checksum on the photo. This optional field can be used by
/// uploaders to associate a checksum with a photo to ease
duplicate detection
@@ -87,6 +138,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("The client application that created the photo.")]
+#endif
/// <summary>
/// The client application that created the photo. (Optional element.)
/// </summary>
@@ -102,6 +158,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Basic Photo Data"),
+ Description("The height of the photo in pixels.")]
+#endif
/// <summary>
/// The height of the photo in pixels
/// </summary>
@@ -117,6 +178,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Basic Photo Data"),
+ Description("The width of the photo in pixels.")]
+#endif
/// <summary>
/// The width of the photo in pixels
/// </summary>
@@ -133,6 +199,11 @@
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Basic Photo Data"),
+ Description("The ordinal position of the photo in the parent album.")]
+#endif
/// <summary>
/// The ordinal position of the photo in the parent album
/// </summary>
@@ -148,8 +219,14 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Basic Photo Data"),
+ Description("The rotation of the photo in degrees.")]
+#endif
/// <summary>
- /// The ordinal position of the photo in the parent album
+ /// The rotation of the photo in degrees, used to change the
rotation of the photo. Will only be shown if
+ /// the rotation has not already been applied to the requested images.
/// </summary>
public int Rotation
{
@@ -163,6 +240,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Basic Photo Data"),
+ Description("The size of the photo in bytes.")]
+#endif
/// <summary>
/// The size of the photo in bytes
/// </summary>
@@ -178,16 +260,22 @@
}
}
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("The photo's timestamp")]
+#endif
/// <summary>
/// The photo's timestamp, represented as the number of
milliseconds since
/// January 1st, 1970. Contains the date of the photo either
set externally
/// or retrieved from the Exif data.
/// </summary>
- public long Timestamp
+ public ulong Timestamp
{
get
{
- return
Convert.ToInt32(this.entry.getPhotoExtensionValue(GPhotoNameTable.Timestamp));
+ return
Convert.ToUInt64(this.entry.getPhotoExtensionValue(GPhotoNameTable.Timestamp));
}
set
{
@@ -195,6 +283,12 @@
}
}
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("The version number of the photo.")]
+#endif
/// <summary>
/// The version number of the photo. Version numbers are based
on modification time,
/// so they don't increment linearly. Note that if you try to
update a photo using a
@@ -213,6 +307,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("The albums ID.")]
+#endif
/// <summary>
/// The albums ID
/// </summary>
@@ -228,6 +327,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Commenting"),
+ Description("the number of comments on a photo.")]
+#endif
/// <summary>
/// the number of comments on a photo
/// </summary>
@@ -243,6 +347,11 @@
}
}
+#if WindowsCE || PocketPC
+#else
+ [Category("Commenting"),
+ Description("is commenting enabled on a photo.")]
+#endif
/// <summary>
/// is commenting enabled on a photo
/// </summary>
@@ -258,6 +367,12 @@
}
}
+
+#if WindowsCE || PocketPC
+#else
+ [Category("Meta Photo Data"),
+ Description("the id of the photo.")]
+#endif
/// <summary>
/// the id of the photo
/// </summary>
Modified: trunk/clients/cs/src/gphotos/picasaquery.cs
==============================================================================
--- trunk/clients/cs/src/gphotos/picasaquery.cs (original)
+++ trunk/clients/cs/src/gphotos/picasaquery.cs Thu Oct 18 06:39:20 2007
@@ -151,7 +151,17 @@
return PicasaQuery.picasaBaseUri + userID;
}
-
+ /// <summary>
+ /// convienience method to create an URI based on a userID
+ /// and an album name for a picasafeed
+ /// </summary>
+ /// <param name="userID"></param>
+ /// <param name="albumName"></param>
+ /// <returns>string</returns>
+ public static string CreatePicasaUri(string userID, string albumName)
+ {
+ return PicasaQuery.picasaBaseUri + userID
+"/album/"+albumName ;
+ }
//////////////////////////////////////////////////////////////////////
/// <summary>indicates the kinds to retrieve</summary>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google Data API" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/google-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---