[browserData removeAllObjects];
NSMutableArray *images = [currentGallery listImages];
for (NSDictionary *image in images) {
- AnselGalleryViewItem *item = [[AnselGalleryViewItem alloc] initWithURL: [NSURL URLWithString: [image objectForKey:@"url"]]];
+ NSString *caption = [image objectForKey:@"caption"];
+ if (caption == nil) {
+ caption = [image objectForKey:@"filename"];
+ }
+
+ NSDate *theDate = [NSDate dateWithTimeIntervalSince1970: [[image objectForKey:@"original_date"] doubleValue]];
+ AnselGalleryViewItem *item = [[AnselGalleryViewItem alloc] initWithURL: [NSURL URLWithString: [image objectForKey:@"url"]]
+ withTitle: caption
+ withDate: theDate];
[browserData addObject: item];
}
@interface AnselGalleryViewItem: NSObject
{
- NSURL * image;
- NSString * imageID;
+ NSURL *image;
+ NSString *imageID;
+ NSString *imageTitle;
+ NSCalendarDate *imageDate;
}
@property(readwrite,copy) NSURL * image;
@property(readwrite,copy) NSString * imageID;
-- (id)initWithURL: (NSURL *)theUrl;
+- (id)initWithURL: (NSURL *)theUrl withTitle: (NSString *)theTitle withDate: (NSDate *)theDate;
#pragma mark -
#pragma mark Required Methods IKImageBrowserItem Informal Protocol
-- (NSString *) imageUID;
-- (NSString *) imageRepresentationType;
-- (id) imageRepresentation;
+- (NSString *)imageUID;
+- (NSString *)imageRepresentationType;
+- (id)imageRepresentation;
+
+- (NSString *)imageTitle;
+- (NSString *)imageSubtitle;
@end
// AnselGalleryViewItem.m
// iPhoto2Ansel
//
+// Implementation of the IKImageBrowserItem protocol
+
// Created by Michael Rubinsky on 5/7/09.
// Copyright 2009 __MyCompanyName__. All rights reserved.
//
@synthesize image;
@synthesize imageID;
-- (id)initWithURL:(NSURL *)theURL
+- (id)initWithURL: (NSURL *)theURL
+ withTitle: (NSString *)theTitle
+ withDate: (NSDate *)theDate
{
[super init];
image = [theURL retain];
imageID = [[theURL absoluteString] retain];
+ imageTitle = [theTitle retain];
+ imageDate = [theDate retain];
return self;
}
{
[image release];
[imageID release];
+ [imageTitle release];
+ [imageDate release];
[super dealloc];
}
+#pragma mark
+#pragma mark Required methods
- (NSString *)imageUID
{
return imageID;
{
return image;
}
+
+#pragma mark
+#pragma mark Optional methods.
+- (NSString *)imageTitle
+{
+ return imageTitle;
+}
+
+- (NSString *)imageSubtitle
+{
+ return [imageDate description];
+}
+
@end
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="137"/>
+ <integer value="577"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<nil key="NSViewClass"/>
<string key="NSWindowContentMaxSize">{3.40282e+38, 3.40282e+38}</string>
<object class="NSView" key="NSWindowView" id="573233790">
- <nil key="NSNextResponder"/>
+ <reference key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<string key="NSFrameSize">{423, 251}</string>
<reference key="NSSuperview" ref="896759949"/>
<bool key="constrainsToOriginalSize">NO</bool>
- <bool key="cellsHaveSubtitle">NO</bool>
- <bool key="cellsHaveTitle">NO</bool>
- <bool key="outlinesCells">NO</bool>
+ <bool key="cellsHaveSubtitle">YES</bool>
+ <bool key="cellsHaveTitle">YES</bool>
+ <bool key="outlinesCells">YES</bool>
<bool key="shadowsCells">YES</bool>
<bool key="animates">NO</bool>
<bool key="allowsReordering">NO</bool>
</object>
<string key="NSFrame">{{1, 1}, {423, 251}}</string>
<reference key="NSSuperview" ref="445821140"/>
+ <reference key="NSNextKeyView" ref="798730592"/>
<reference key="NSDocView" ref="798730592"/>
<reference key="NSBGColor" ref="258809705"/>
<int key="NScvFlags">6</int>
</object>
<string key="NSFrame">{{20, 60}, {440, 268}}</string>
<reference key="NSSuperview" ref="573233790"/>
+ <reference key="NSNextKeyView" ref="896759949"/>
<int key="NSsFlags">50</int>
<reference key="NSVScroller" ref="34214668"/>
<reference key="NSHScroller" ref="355872151"/>
</object>
</object>
<string key="NSFrameSize">{480, 327}</string>
+ <reference key="NSSuperview"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1920, 1178}}</string>
<string key="NSMaxSize">{3.40282e+38, 3.40282e+38}</string>