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
[email protected]
https://mail.gna.org/listinfo/etoile-cvs