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

Reply via email to