Revision: 10953
http://bibdesk.svn.sourceforge.net/bibdesk/?rev=10953&view=rev
Author: hofman
Date: 2007-08-20 09:58:46 -0700 (Mon, 20 Aug 2007)
Log Message:
-----------
Implement dragging in bookmark windows to rearrange bookmarks. Drop a URL or a
webloc file on the bookmark window to add a new bookmark.
Implement undo in bookmark windows.
Implement delete in bookmark tables.
Also use custom data objects for search bookmarks to allow undo and change
notifications for saving.
Disable table sort in bookmark tables.
Modified Paths:
--------------
trunk/bibdesk/BDSKBookmarkController.h
trunk/bibdesk/BDSKBookmarkController.m
trunk/bibdesk/BDSKSearchBookmarkController.h
trunk/bibdesk/BDSKSearchBookmarkController.m
trunk/bibdesk/BibAppController.m
trunk/bibdesk/BibDocument_Groups.m
trunk/bibdesk/English.lproj/BookmarksWindow.nib/classes.nib
trunk/bibdesk/English.lproj/BookmarksWindow.nib/keyedobjects.nib
trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/classes.nib
trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/info.nib
trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/keyedobjects.nib
trunk/bibdesk/French.lproj/BookmarksWindow.nib/classes.nib
trunk/bibdesk/French.lproj/BookmarksWindow.nib/keyedobjects.nib
trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/classes.nib
trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/info.nib
trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/keyedobjects.nib
Modified: trunk/bibdesk/BDSKBookmarkController.h
===================================================================
--- trunk/bibdesk/BDSKBookmarkController.h 2007-08-20 11:31:36 UTC (rev
10952)
+++ trunk/bibdesk/BDSKBookmarkController.h 2007-08-20 16:58:46 UTC (rev
10953)
@@ -10,7 +10,9 @@
@interface BDSKBookmarkController : NSWindowController {
+ IBOutlet NSTableView *tableView;
NSMutableArray *bookmarks;
+ NSUndoManager *undoManager;
}
+ (id)sharedBookmarkController;
@@ -23,13 +25,16 @@
- (void)removeObjectFromBookmarksAtIndex:(unsigned)index;
- (void)addBookmarkWithUrlString:(NSString *)urlString name:(NSString *)name;
-
- (void)handleApplicationWillTerminateNotification:(NSNotification
*)notification;
+- (NSString *)uniqueName;
+
+- (NSUndoManager *)undoManager;
+
@end
[EMAIL PROTECTED] BDSKBookmark : NSObject {
[EMAIL PROTECTED] BDSKBookmark : NSObject <NSCopying> {
NSString *urlString;
NSString *name;
}
Modified: trunk/bibdesk/BDSKBookmarkController.m
===================================================================
--- trunk/bibdesk/BDSKBookmarkController.m 2007-08-20 11:31:36 UTC (rev
10952)
+++ trunk/bibdesk/BDSKBookmarkController.m 2007-08-20 16:58:46 UTC (rev
10953)
@@ -8,7 +8,9 @@
#import "BDSKBookmarkController.h"
#import "NSFileManager_BDSKExtensions.h"
+#import "BibDocument.h"
+static NSString *BDSKBookmarkRowsPboardType = @"BDSKBookmarkRowsPboardType";
@implementation BDSKBookmarkController
@@ -23,7 +25,8 @@
- (id)init {
if (self = [super init]) {
bookmarks = [[NSMutableArray alloc] init];
-
+ undoManager = nil;
+
NSString *applicationSupportPath = [[NSFileManager
defaultManager] currentApplicationSupportPathForCurrentUser];
NSString *bookmarksPath = [applicationSupportPath
stringByAppendingPathComponent:@"Bookmarks.plist"];
if ([[NSFileManager defaultManager]
fileExistsAtPath:bookmarksPath]) {
@@ -44,6 +47,7 @@
- (void)dealloc {
[bookmarks release];
+ [undoManager release];
[super dealloc];
}
@@ -51,6 +55,7 @@
- (void)windowDidLoad {
[self setWindowFrameAutosaveName:@"BDSKBookmarksWindow"];
+ [tableView registerForDraggedTypes:[NSArray
arrayWithObjects:BDSKBookmarkRowsPboardType, BDSKWeblocFilePboardType,
NSURLPboardType, nil]];
}
- (NSArray *)bookmarks {
@@ -59,6 +64,7 @@
- (void)setBookmarks:(NSArray *)newBookmarks {
if (bookmarks != newBookmarks) {
+ [[[self undoManager] prepareWithInvocationTarget:self]
setBookmarks:[[bookmarks copy] autorelease]];
[bookmarks release];
bookmarks = [newBookmarks mutableCopy];
}
@@ -73,10 +79,12 @@
}
- (void)insertObject:(id)obj inBookmarksAtIndex:(unsigned)index {
+ [[[self undoManager] prepareWithInvocationTarget:self]
removeObjectFromBookmarksAtIndex:index];
[bookmarks insertObject:obj atIndex:index];
}
- (void)removeObjectFromBookmarksAtIndex:(unsigned)index {
+ [[[self undoManager] prepareWithInvocationTarget:self]
insertObject:[[[bookmarks objectAtIndex:index] copy] autorelease]
inBookmarksAtIndex:index];
[bookmarks removeObjectAtIndex:index];
}
@@ -102,6 +110,94 @@
[data writeToFile:bookmarksPath atomically:YES];
}
+#pragma mark Undo support
+
+- (NSUndoManager *)undoManager {
+ if(undoManager == nil)
+ undoManager = [[NSUndoManager alloc] init];
+ return undoManager;
+}
+
+- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)sender {
+ return [self undoManager];
+}
+
+#pragma mark NSTableView datasource methods
+
+- (int)numberOfRowsInTableView:(NSTableView *)tv { return 0; }
+
+- (id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn
*)tableColumn row:(int)row { return nil; }
+
+- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet
*)rowIndexes toPasteboard:(NSPasteboard *)pboard {
+ OBASSERT([rowIndexes count] == 1);
+ [pboard declareTypes:[NSArray arrayWithObjects:BDSKBookmarkRowsPboardType,
nil] owner:nil];
+ [pboard setPropertyList:[NSNumber numberWithUnsignedInt:[rowIndexes
firstIndex]] forType:BDSKBookmarkRowsPboardType];
+ return YES;
+}
+
+- (NSDragOperation)tableView:(NSTableView *)tv validateDrop:(id
<NSDraggingInfo>)info proposedRow:(int)row
proposedDropOperation:(NSTableViewDropOperation)op {
+ NSPasteboard *pboard = [info draggingPasteboard];
+ NSString *type = [pboard availableTypeFromArray:[NSArray
arrayWithObjects:BDSKBookmarkRowsPboardType, BDSKWeblocFilePboardType,
NSURLPboardType, nil]];
+
+ if ([type isEqualToString:BDSKBookmarkRowsPboardType]) {
+ [tv setDropRow:row == -1 ? [tv numberOfRows] : row
dropOperation:NSTableViewDropAbove];
+ return NSDragOperationMove;
+ } else if (type) {
+ return NSDragOperationEvery;
+ }
+ return NSDragOperationNone;
+}
+
+
+- (BOOL)tableView:(NSTableView *)tv acceptDrop:(id <NSDraggingInfo>)info
row:(int)row dropOperation:(NSTableViewDropOperation)op {
+ NSPasteboard *pboard = [info draggingPasteboard];
+ NSString *type = [pboard availableTypeFromArray:[NSArray
arrayWithObjects:BDSKBookmarkRowsPboardType, BDSKWeblocFilePboardType,
NSURLPboardType, nil]];
+
+ if ([type isEqualToString:BDSKBookmarkRowsPboardType]) {
+ int draggedRow = [[pboard
propertyListForType:BDSKBookmarkRowsPboardType] intValue];
+ BDSKBookmark *bookmark = [[bookmarks objectAtIndex:draggedRow] retain];
+ [self removeObjectFromBookmarksAtIndex:draggedRow];
+ [self insertObject:bookmark inBookmarksAtIndex:row < draggedRow ? row
: row - 1];
+ [bookmark release];
+ [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row]
byExtendingSelection:NO];
+ return YES;
+ } else if (type) {
+ NSString *urlString = nil;
+ if ([type isEqualToString:BDSKWeblocFilePboardType])
+ urlString = [pboard stringForType:BDSKWeblocFilePboardType];
+ else if ([type isEqualToString:NSURLPboardType])
+ urlString = [[NSURL URLFromPasteboard:pboard] absoluteString];
+ if (urlString == nil)
+ return NO;
+ if (op == NSTableViewDropOn && row != -1) {
+ [[bookmarks objectAtIndex:row] setUrlString:urlString];
+ } else {
+ if (row == -1)
+ row = [bookmarks count];
+ BDSKBookmark *bookmark = [[BDSKBookmark alloc]
initWithUrlString:urlString name:[self uniqueName]];
+ [self insertObject:bookmark inBookmarksAtIndex:row];
+ [bookmark release];
+ }
+ return YES;
+ }
+ return NO;
+}
+
+- (void)tableView:(NSTableView *)tv deleteRows:(NSArray *)rows {
+ int row = [[rows lastObject] intValue];
+ [self removeObjectFromBookmarksAtIndex:row];
+}
+
+- (NSString *)uniqueName {
+ NSArray *names = [[self bookmarks] valueForKey:@"name"];
+ NSString *baseName = NSLocalizedString(@"New Boookmark", @"Default name
for boookmark");
+ NSString *newName = baseName;
+ int i = 0;
+ while ([names containsObject:newName])
+ newName = [baseName stringByAppendingFormat:@" %i", ++i];
+ return newName;
+}
+
@end
@@ -116,14 +212,19 @@
}
- (id)init {
- return [self initWithUrlString:@"http://" name:NSLocalizedString(@"New
Boookmark", @"Default name for boookmark")];
+ return [self initWithUrlString:@"http://" name:[[BDSKBookmarkController
sharedBookmarkController] uniqueName]];
}
- (id)initWithDictionary:(NSDictionary *)dictionary {
return [self initWithUrlString:[dictionary objectForKey:@"URLString"]
name:[dictionary objectForKey:@"Title"]];
}
+- (id)copyWithZone:(NSZone *)aZone {
+ return [[[self class] allocWithZone:aZone] initWithUrlString:urlString
name:name];
+}
+
- (void)dealloc {
+ [[[BDSKBookmarkController sharedBookmarkController] undoManager]
removeAllActionsWithTarget:self];
[urlString release];
[name release];
[super dealloc];
@@ -143,6 +244,8 @@
- (void)setUrlString:(NSString *)newUrlString {
if (urlString != newUrlString) {
+ NSUndoManager *undoManager = [[BDSKBookmarkController
sharedBookmarkController] undoManager];
+ [[undoManager prepareWithInvocationTarget:self]
setUrlString:urlString];
[urlString release];
urlString = [newUrlString retain];
}
@@ -168,6 +271,8 @@
- (void)setName:(NSString *)newName {
if (name != newName) {
+ NSUndoManager *undoManager = [[BDSKBookmarkController
sharedBookmarkController] undoManager];
+ [(BDSKBookmark *)[undoManager prepareWithInvocationTarget:self]
setName:name];
[name release];
name = [newName retain];
}
Modified: trunk/bibdesk/BDSKSearchBookmarkController.h
===================================================================
--- trunk/bibdesk/BDSKSearchBookmarkController.h 2007-08-20 11:31:36 UTC
(rev 10952)
+++ trunk/bibdesk/BDSKSearchBookmarkController.h 2007-08-20 16:58:46 UTC
(rev 10953)
@@ -42,6 +42,7 @@
@interface BDSKSearchBookmarkController : NSWindowController {
IBOutlet NSTableView *tableView;
NSMutableArray *bookmarks;
+ NSUndoManager *undoManager;
}
+ (id)sharedBookmarkController;
@@ -53,6 +54,29 @@
- (void)insertObject:(id)obj inBookmarksAtIndex:(unsigned)index;
- (void)removeObjectFromBookmarksAtIndex:(unsigned)index;
+- (void)addBookmarkWithInfo:(NSDictionary *)info label:(NSString *)label;
+
- (void)saveBookmarks;
+- (void)handleSearchBookmarkChangedNotification:(NSNotification *)notification;
+- (NSUndoManager *)undoManager;
+
@end
+
+
[EMAIL PROTECTED] BDSKSearchBookmark : NSObject <NSCopying> {
+ NSString *label;
+ NSDictionary *info;
+}
+
+- (id)initWithInfo:(NSDictionary *)aDictionary label:(NSString *)aLabel;
+- (id)initWithDictionary:(NSDictionary *)dictionary;
+
+- (NSDictionary *)dictionaryValue;
+
+- (NSDictionary *)info;
+
+- (NSString *)label;
+- (void)setLabel:(NSString *)newLabel;
+
[EMAIL PROTECTED]
Modified: trunk/bibdesk/BDSKSearchBookmarkController.m
===================================================================
--- trunk/bibdesk/BDSKSearchBookmarkController.m 2007-08-20 11:31:36 UTC
(rev 10952)
+++ trunk/bibdesk/BDSKSearchBookmarkController.m 2007-08-20 16:58:46 UTC
(rev 10953)
@@ -39,6 +39,8 @@
#import "BDSKSearchBookmarkController.h"
#import "BibPrefController.h"
+static NSString *BDSKSearchBookmarkRowsPboardType =
@"BDSKSearchBookmarkRowsPboardType";
+static NSString *BDSKSearchBookmarkChangedNotification =
@"BDSKSearchBookmarkChangedNotification";
@implementation BDSKSearchBookmarkController
@@ -52,30 +54,42 @@
- (id)init {
if (self = [super init]) {
bookmarks = [[NSMutableArray alloc] init];
- NSEnumerator *bmEnum = [[[OFPreferenceWrapper sharedPreferenceWrapper]
arrayForKey:BDSKSearchGroupBookmarksKey] objectEnumerator];
- NSDictionary *bm;
+ NSEnumerator *dictEnum = [[[OFPreferenceWrapper
sharedPreferenceWrapper] arrayForKey:BDSKSearchGroupBookmarksKey]
objectEnumerator];
+ NSDictionary *dict;
- while (bm = [bmEnum nextObject]) {
- bm = [bm mutableCopy];
+ while (dict = [dictEnum nextObject]) {
+ BDSKSearchBookmark *bm = [[BDSKSearchBookmark alloc]
initWithDictionary:dict];
[bookmarks addObject:bm];
[bm release];
}
+
+ [[NSNotificationCenter defaultCenter] addObserver:self
+
selector:@selector(handleSearchBookmarkChangedNotification:)
+
name:BDSKSearchBookmarkChangedNotification
+ object:nil];
}
return self;
}
- (void)dealloc {
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
[bookmarks release];
[super dealloc];
}
- (NSString *)windowNibName { return @"SearchBookmarksWindow"; }
+- (void)windowDidLoad {
+ [self setWindowFrameAutosaveName:@"BDSKSearchBookmarksWindow"];
+ [tableView registerForDraggedTypes:[NSArray
arrayWithObject:BDSKSearchBookmarkRowsPboardType]];
+}
+
- (NSArray *)bookmarks {
return bookmarks;
}
- (void)setBookmarks:(NSArray *)newBookmarks {
+ [[[self undoManager] prepareWithInvocationTarget:self]
setBookmarks:[[bookmarks copy] autorelease]];
return [bookmarks setArray:newBookmarks];
}
@@ -88,32 +102,141 @@
}
- (void)insertObject:(id)obj inBookmarksAtIndex:(unsigned)index {
+ [[[self undoManager] prepareWithInvocationTarget:self]
removeObjectFromBookmarksAtIndex:index];
[bookmarks insertObject:obj atIndex:index];
[self saveBookmarks];
}
- (void)removeObjectFromBookmarksAtIndex:(unsigned)index {
+ [[[self undoManager] prepareWithInvocationTarget:self]
insertObject:[[[bookmarks objectAtIndex:index] copy] autorelease]
inBookmarksAtIndex:index];
[bookmarks removeObjectAtIndex:index];
[self saveBookmarks];
}
+- (void)addBookmarkWithInfo:(NSDictionary *)info label:(NSString *)label {
+ BDSKSearchBookmark *bookmark = [[BDSKSearchBookmark alloc]
initWithInfo:info label:label];
+ [[self mutableArrayValueForKey:@"bookmarks"] addObject:bookmark];
+ [bookmark release];
+}
+
- (void)saveBookmarks {
- [[OFPreferenceWrapper sharedPreferenceWrapper] setObject:bookmarks
forKey:BDSKSearchGroupBookmarksKey];
+ [[OFPreferenceWrapper sharedPreferenceWrapper] setObject:[bookmarks
valueForKey:@"dictionaryValue"] forKey:BDSKSearchGroupBookmarksKey];
}
+- (void)handleSearchBookmarkChangedNotification:(NSNotification *)notification
{
+ [self saveBookmarks];
+}
+
+
+#pragma mark Undo support
+
+- (NSUndoManager *)undoManager {
+ if(undoManager == nil)
+ undoManager = [[NSUndoManager alloc] init];
+ return undoManager;
+}
+
+- (NSUndoManager *)windowWillReturnUndoManager:(NSWindow *)sender {
+ return [self undoManager];
+}
+
#pragma mark tableView datasource methods
-- (int)numberOfRowsInTableView:(NSTableView *)tv{
- return [bookmarks count];
+- (int)numberOfRowsInTableView:(NSTableView *)tv { return 0; }
+
+- (id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn
*)tableColumn row:(int)row { return nil; }
+
+- (BOOL)tableView:(NSTableView *)tv writeRowsWithIndexes:(NSIndexSet
*)rowIndexes toPasteboard:(NSPasteboard *)pboard {
+ OBASSERT([rowIndexes count] == 1);
+ [pboard declareTypes:[NSArray
arrayWithObjects:BDSKSearchBookmarkRowsPboardType, nil] owner:nil];
+ [pboard setPropertyList:[NSNumber numberWithUnsignedInt:[rowIndexes
firstIndex]] forType:BDSKSearchBookmarkRowsPboardType];
+ return YES;
}
-- (id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn
*)tableColumn row:(int)row{
- return [[bookmarks objectAtIndex:row] objectForKey:[tableColumn
identifier]];
+- (NSDragOperation)tableView:(NSTableView *)tv validateDrop:(id
<NSDraggingInfo>)info proposedRow:(int)row
proposedDropOperation:(NSTableViewDropOperation)op {
+ NSPasteboard *pboard = [info draggingPasteboard];
+ NSString *type = [pboard availableTypeFromArray:[NSArray
arrayWithObjects:BDSKSearchBookmarkRowsPboardType, nil]];
+
+ if (type) {
+ [tv setDropRow:row == -1 ? [tv numberOfRows] : row
dropOperation:NSTableViewDropAbove];
+ return NSDragOperationMove;
+ }
+ return NSDragOperationNone;
}
-- (void)tableView:(NSTableView *)tv setObjectValue:(id)object
forTableColumn:(NSTableColumn *)tableColumn row:(int)row{
- [[bookmarks objectAtIndex:row] setObject:object forKey:[tableColumn
identifier]];
- [self saveBookmarks];
+
+- (BOOL)tableView:(NSTableView *)tv acceptDrop:(id <NSDraggingInfo>)info
row:(int)row dropOperation:(NSTableViewDropOperation)op {
+ NSPasteboard *pboard = [info draggingPasteboard];
+ NSString *type = [pboard availableTypeFromArray:[NSArray
arrayWithObjects:BDSKSearchBookmarkRowsPboardType, nil]];
+
+ if (type) {
+ int draggedRow = [[pboard
propertyListForType:BDSKSearchBookmarkRowsPboardType] intValue];
+ NSDictionary *bookmark = [[bookmarks objectAtIndex:draggedRow] retain];
+ [self removeObjectFromBookmarksAtIndex:draggedRow];
+ [self insertObject:bookmark inBookmarksAtIndex:row < draggedRow ? row
: row - 1];
+ [bookmark release];
+ [tableView selectRowIndexes:[NSIndexSet indexSetWithIndex:row]
byExtendingSelection:NO];
+ return YES;
+ }
+ return NO;
}
@end
+
+
[EMAIL PROTECTED] BDSKSearchBookmark
+
+- (id)initWithInfo:(NSDictionary *)aDictionary label:(NSString *)aLabel {
+ if (self = [super init]) {
+ info = [aDictionary copy];
+ label = [aLabel copy];
+ }
+ return self;
+}
+
+- (id)init {
+ [[super init] release];
+ return nil;
+}
+
+- (id)initWithDictionary:(NSDictionary *)dictionary {
+ NSMutableDictionary *dict = [[dictionary mutableCopy] autorelease];
+ [dict removeObjectForKey:@"label"];
+ return [self initWithInfo:dict label:[dictionary objectForKey:@"label"]];
+}
+
+- (id)copyWithZone:(NSZone *)aZone {
+ return [[[self class] allocWithZone:aZone] initWithInfo:info label:label];
+}
+
+- (void)dealloc {
+ [info release];
+ [label release];
+ [super dealloc];
+}
+
+- (NSDictionary *)dictionaryValue {
+ NSMutableDictionary *dictionary = [NSMutableDictionary
dictionaryWithObjectsAndKeys:label, @"label", nil];
+ [dictionary addEntriesFromDictionary:info];
+ return dictionary;
+}
+
+- (NSDictionary *)info {
+ return info;
+}
+
+- (NSString *)label {
+ return label;
+}
+
+- (void)setLabel:(NSString *)newLabel {
+ if (label != newLabel) {
+ NSUndoManager *undoManager = [[BDSKSearchBookmarkController
sharedBookmarkController] undoManager];
+ [(BDSKSearchBookmark *)[undoManager prepareWithInvocationTarget:self]
setLabel:label];
+ [label release];
+ label = [newLabel retain];
+ [[NSNotificationCenter defaultCenter]
postNotificationName:BDSKSearchBookmarkChangedNotification object:self];
+ }
+}
+
[EMAIL PROTECTED]
Modified: trunk/bibdesk/BibAppController.m
===================================================================
--- trunk/bibdesk/BibAppController.m 2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/BibAppController.m 2007-08-20 16:58:46 UTC (rev 10953)
@@ -557,16 +557,17 @@
} else if ([menu isEqual:searchBookmarksMenu]) {
- NSArray *bookmarks = [[BDSKSearchBookmarkController
sharedBookmarkController] bookmarks];
- int i = [menu numberOfItems], iMax = [bookmarks count];
+ BDSKSearchBookmarkController *bmController =
[BDSKSearchBookmarkController sharedBookmarkController];
+ NSArray *bookmarks = [bmController bookmarks];
+ int i = [menu numberOfItems], iMax = [bmController countOfBookmarks];
while (--i > 2)
[menu removeItemAtIndex:i];
if (iMax > 0)
[menu addItem:[NSMenuItem separatorItem]];
for (i = 0; i < iMax; i++) {
- NSDictionary *bm = [bookmarks objectAtIndex:i];
- NSMenuItem *item = [menu addItemWithTitle:[bm
objectForKey:@"label"] action:@selector(newSearchGroupFromBookmark:)
keyEquivalent:@""];
- [item setRepresentedObject:bm];
+ BDSKSearchBookmark *bm = [bmController objectInBookmarksAtIndex:i];
+ NSMenuItem *item = [menu addItemWithTitle:[bm label]
action:@selector(newSearchGroupFromBookmark:) keyEquivalent:@""];
+ [item setRepresentedObject:[bm info]];
}
}
Modified: trunk/bibdesk/BibDocument_Groups.m
===================================================================
--- trunk/bibdesk/BibDocument_Groups.m 2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/BibDocument_Groups.m 2007-08-20 16:58:46 UTC (rev 10953)
@@ -991,12 +991,8 @@
- (void)searchBookmarkSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode
contextInfo:(void *)contextInfo {
if (returnCode == NSOKButton) {
- BDSKSearchBookmarkController *bmController =
[BDSKSearchBookmarkController sharedBookmarkController];
BDSKGroup *group = [[self selectedGroups] lastObject];
- NSMutableDictionary *bm = [[group dictionaryValue] mutableCopy];
- [bm setObject:[searchBookmarkField stringValue] forKey:@"label"];
- [[bmController mutableArrayValueForKey:@"bookmarks"] addObject:bm];
- [bm release];
+ [[BDSKSearchBookmarkController sharedBookmarkController]
addBookmarkWithInfo:[group dictionaryValue] label:[searchBookmarkField
stringValue]];
}
}
Modified: trunk/bibdesk/English.lproj/BookmarksWindow.nib/classes.nib
===================================================================
--- trunk/bibdesk/English.lproj/BookmarksWindow.nib/classes.nib 2007-08-20
11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/English.lproj/BookmarksWindow.nib/classes.nib 2007-08-20
16:58:46 UTC (rev 10953)
@@ -1,8 +1,10 @@
{
IBClasses = (
+ {CLASS = BDSKBookmark; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
CLASS = BDSKBookmarkController;
LANGUAGE = ObjC;
+ OUTLETS = {tableView = NSTableView; };
SUPERCLASS = NSWindowController;
},
{CLASS = BDSKGradientView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
Modified: trunk/bibdesk/English.lproj/BookmarksWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/classes.nib
===================================================================
--- trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/classes.nib
2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/classes.nib
2007-08-20 16:58:46 UTC (rev 10953)
@@ -3,6 +3,7 @@
{
CLASS = BDSKSearchBookmarkController;
LANGUAGE = ObjC;
+ OUTLETS = {tableView = NSTableView; };
SUPERCLASS = NSWindowController;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
Modified: trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/info.nib
===================================================================
--- trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/info.nib
2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/info.nib
2007-08-20 16:58:46 UTC (rev 10953)
@@ -11,6 +11,6 @@
<integer>9</integer>
</array>
<key>IBSystem Version</key>
- <string>8P135</string>
+ <string>8R218</string>
</dict>
</plist>
Modified: trunk/bibdesk/English.lproj/SearchBookmarksWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/bibdesk/French.lproj/BookmarksWindow.nib/classes.nib
===================================================================
--- trunk/bibdesk/French.lproj/BookmarksWindow.nib/classes.nib 2007-08-20
11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/French.lproj/BookmarksWindow.nib/classes.nib 2007-08-20
16:58:46 UTC (rev 10953)
@@ -1,8 +1,10 @@
{
IBClasses = (
+ {CLASS = BDSKBookmark; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
CLASS = BDSKBookmarkController;
LANGUAGE = ObjC;
+ OUTLETS = {tableView = NSTableView; };
SUPERCLASS = NSWindowController;
},
{CLASS = BDSKGradientView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
Modified: trunk/bibdesk/French.lproj/BookmarksWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
Modified: trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/classes.nib
===================================================================
--- trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/classes.nib
2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/classes.nib
2007-08-20 16:58:46 UTC (rev 10953)
@@ -1,8 +1,10 @@
{
IBClasses = (
+ {CLASS = BDSKSearchBookmark; LANGUAGE = ObjC; SUPERCLASS = NSObject;
},
{
CLASS = BDSKSearchBookmarkController;
LANGUAGE = ObjC;
+ OUTLETS = {tableView = NSTableView; };
SUPERCLASS = NSWindowController;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
Modified: trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/info.nib
===================================================================
--- trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/info.nib
2007-08-20 11:31:36 UTC (rev 10952)
+++ trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/info.nib
2007-08-20 16:58:46 UTC (rev 10953)
@@ -3,10 +3,14 @@
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
- <string>79 78 356 240 0 0 1600 1178 </string>
+ <string>69 58 356 240 0 0 1440 938 </string>
<key>IBFramework Version</key>
<string>446.1</string>
+ <key>IBOpenObjects</key>
+ <array>
+ <integer>9</integer>
+ </array>
<key>IBSystem Version</key>
- <string>8P2137</string>
+ <string>8R218</string>
</dict>
</plist>
Modified: trunk/bibdesk/French.lproj/SearchBookmarksWindow.nib/keyedobjects.nib
===================================================================
(Binary files differ)
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit