Author: ericwa Date: Sat Mar 15 00:25:35 2014 New Revision: 10570 URL: http://svn.gna.org/viewcvs/etoile?rev=10570&view=rev Log: Typewriter: use a counter on the untitled note name (e.g. Untitled Note 2)
Modified: trunk/Etoile/Frameworks/CoreObject/Samples/Typewriter/EWTypewriterWindowController.m Modified: trunk/Etoile/Frameworks/CoreObject/Samples/Typewriter/EWTypewriterWindowController.m URL: http://svn.gna.org/viewcvs/etoile/trunk/Etoile/Frameworks/CoreObject/Samples/Typewriter/EWTypewriterWindowController.m?rev=10570&r1=10569&r2=10570&view=diff ============================================================================== --- trunk/Etoile/Frameworks/CoreObject/Samples/Typewriter/EWTypewriterWindowController.m (original) +++ trunk/Etoile/Frameworks/CoreObject/Samples/Typewriter/EWTypewriterWindowController.m Sat Mar 15 00:25:35 2014 @@ -290,6 +290,37 @@ [tagListDataSource reloadData]; } +#pragma mark Untitled document name + +- (NSString *) untitledDocumentNameForIndex: (NSUInteger)index +{ + return [NSString stringWithFormat: @"Untitled Note %d", (int)index]; +} + +- (BOOL) isDocumentNameInUse: (NSString *)aName +{ + for (COPersistentRoot *persistentRoot in self.editingContext.persistentRoots) + { + if ([persistentRoot.metadata[@"label"] isEqualToString: aName]) + return YES; + } + return NO; +} + +/** + * Returns a document name like "Untitled 1" that is not currently in use + * for a document in context + */ +- (NSString *) untitledDocumentName +{ + NSUInteger i = 1; + while ([self isDocumentNameInUse: [self untitledDocumentNameForIndex: i]]) + { + i++; + } + return [self untitledDocumentNameForIndex: i]; +} + - (IBAction) addNote:(id)sender { __block COPersistentRoot *newNote = nil; @@ -297,7 +328,7 @@ [self commitChangesInBlock: ^{ newNote = [self.editingContext insertNewPersistentRootWithEntityName: @"TypewriterDocument"]; NSMutableDictionary *md = [NSMutableDictionary dictionaryWithDictionary: newNote.metadata]; - [md addEntriesFromDictionary: @{ @"label" : @"Untitled Note" }]; + [md addEntriesFromDictionary: @{ @"label" : [self untitledDocumentName] }]; newNote.metadata = md; COTag *currentTag = [self clickedOrSelectedTag]; _______________________________________________ Etoile-cvs mailing list Etoile-cvs@gna.org https://mail.gna.org/listinfo/etoile-cvs