Submitted by Adam Knight on July 23, 2007 - 11:58pm.
You can issue the following command for any Cocoa application to increase the number of documents that it remembers in the Recent Documents menu item. In Notae it does something more and increases the number of documents it remembers in the document selector, since it’s the same list.
defaults write net.codepoetry.Notae NSRecentDocumentsLimit 99
Submitted by Adam Knight on February 19, 2007 - 1:16am.
Take note, Core Data programmers, something stupid is afoot, and it’s even documented.
If you pass object URIs around like candy within your program for things like drag-and-drop or token fields or any other representation of your objects and then have to get the object back, use objectRegisteredForID instead of objectWithID.
When you use objectWithID you should note that it will never return nil to you on failure. It will create an invalid object and leave it astray in your managed object context preventing your users from saving their document unless you track it down and delete it. What they get instead is the following in the console.log:
Submitted by Adam Knight on November 18, 2006 - 7:19pm.
Dragging and dropping a Core Data object between documents is a little bit of hell. The reason for this is that they aren’t NSCoding compliant and there’s no easy way to do it because initWithCoder: doesn’t let you set the managed object context to whatever the current one is. So the solution for copying, and thus for drag and drop, has been to gather a list of properties for the object and then send that over in the drag and then decode that on the other end.
Well, I found a rather quick way of doing this, and one that’s really quite easy and keeps maintenance of the data types to copy and set completely in the model (always good). Implement a method on your model object called dictionaryRepresentation and return an NSDictionary with property list types for all your data. Ensure that the keys used in the dictionary correspond to the KVC properties of your model object. To recreate the object at the other end, insert an object of the proper type into the MOC and then use the really freaking handy NSObject method setValuesForKeysWithDictionary: and pass it that dictionary. It will then iterate over it using your KVC methods and add everything back in.
Submitted by Adam Knight on November 18, 2006 - 6:46pm.
A question for those that care about such things.
When you have autosave turned on, do you expect that closing the document will automatically save it without prompting?
Pro: You’ve already committed to having your data saved without your requesting it.
Con: While a document is open, there’s always undo. Once you’ve closed it, you’re stuck with what you’ve got.
Caveat: I’d rather not have to add a preference to change this behavior. It should “just work.”
Thoughts?
Submitted by Adam Knight on November 16, 2006 - 6:53pm.
So far, I have the following done:
New Features
- Supports multiple note types, including rich text, PDF (read-only), and Web Archive (read-only).
- Imports Web Archive, URLs, and HTML files on-disk as web notes.
- Imports PDF files on-disk as PDF notes.
- Exports to iPod as textual notes, even to multiple iPods at once.
- Full-screen editing mode.
- Tags browser makes it much easier to find notes without searching.
- Note header makes editing tags and renaming much easier.
- New option to do nothing at startup.
- Table area supports the Home/End/Delete keys as one would expect.
- Complete Unified appearance. Pinstripes are dead.
Submitted by Adam Knight on November 16, 2006 - 5:16pm.
So you’re in another app and you want to make a note. You can use the service, but which document will that go to? Also, what if you want to make changes to the note’s content as you save it, like add a title or tags?
Well, you hit your hotkey and bring up Quick Entry.

Pick the right document, enter the information (the tags even auto-complete based on the selected document), and either clear it (for temporary scratch space) or save it to the
Submitted by Adam Knight on November 15, 2006 - 10:15pm.
I thought about Smart Folders, and I thought about the tag list idea I had, and I thought about a few other ways to make tags easier to use and navigate, but in the end I disliked all the ideas I’d come up with as far because of what they would do to the interface. I really wanted it to be an option to have the interface clean and sparse like 1.x if the user wanted it and all of the other ways just seemed to get in the way.
Well, then I recalled a browser I’d seen for tags in some other program, and I’ve honestly forgotten which, and realized that I could hack it up in about an hour of messing around (since I’d never used NSBrowser before). It turns out that this is, by far, the easiest way to browse through a ton of tags, and I’m rather satisfied with it. Behold, the Tag Browser for 2.0:
Submitted by Adam Knight on November 11, 2006 - 6:08pm.
So I have two other ideas for the header style and I rather like them both. The first is a white background to make it more “note-like” and the second is a variation on the former idea, just smaller and without the bordered items so it looks cleaner (note the lighter gradient when the area has focus).
Thoughts?



Submitted by Adam Knight on November 10, 2006 - 1:09pm.
Because I’m a tease, and because I want criticism. The header (part of the note view) will be togglable via a shortcut, and will show in the full screen view. If you keep your list on the side, the header will be under the toolbar. Click to pop a full size view.

Submitted by Adam Knight on September 19, 2006 - 8:04pm.
More crap hanging out around the shuttle causes a delay in the landing.
I’m sorry, but no one’s launching a 78’ Corolla into space, why do we think the shuttles are fit for it? Scrap it, now. Get something a bit more modern up there. No, not flashy sci-fi craft running on Pentiums, but something at least from the early 90s would be a lot better than something that’s far, far outlived its time.
|
|