diff options
author | stuconnolly <stuart02@gmail.com> | 2012-05-02 13:12:38 +0000 |
---|---|---|
committer | stuconnolly <stuart02@gmail.com> | 2012-05-02 13:12:38 +0000 |
commit | 5d87f0f50fc90c7ed47ff82b35f07b2749262132 (patch) | |
tree | 37ab959b7385c8f5aaf2d1465e1f19fbd47247c7 /Source/SPFavoriteNode.h | |
parent | dea294a90f9bf6017986f9c950991a7fc7c9645e (diff) | |
parent | fe555b6d511a51f3bdfb5c0a2b00a3206993076b (diff) | |
download | sequelpro-5d87f0f50fc90c7ed47ff82b35f07b2749262132.tar.gz sequelpro-5d87f0f50fc90c7ed47ff82b35f07b2749262132.tar.bz2 sequelpro-5d87f0f50fc90c7ed47ff82b35f07b2749262132.zip |
Merge outline view branch into trunk.
Adds support for managing and grouping favorites into folders in the connection view and removes the associated favorites management from the preferences window.
NOTE: On first launch your connection favorites will be migrated from Sequel Pro's preference file to a new file in ~/Application Support/Sequel Pro/Data. Your old favorites will remain in the preference file until removed in a future version.
Outstanding known issues:
- Removing a group node with no child favorites presents a warning about also removing the non-existent favorites.
- Starting the application with no favorites, creating a group node then selecting, hides the connection details input. Doesn't support emoty selection.
- Setting the name of a connection, adding it to the favorites and then swicthing to a different connection type, screws with the favorite name.
- The preservation between launches of whether group nodes are collapsed or not is currently not supported.
Diffstat (limited to 'Source/SPFavoriteNode.h')
-rw-r--r-- | Source/SPFavoriteNode.h | 34 |
1 files changed, 8 insertions, 26 deletions
diff --git a/Source/SPFavoriteNode.h b/Source/SPFavoriteNode.h index d3b25854..ecd8aa28 100644 --- a/Source/SPFavoriteNode.h +++ b/Source/SPFavoriteNode.h @@ -28,38 +28,20 @@ * * @author Stuart Connolly http://stuconnolly.com/ * - * This class is designed to be a simple wrapper around a connection favorite to allow us to easily represent - * them in a tree structure for use in an outline view. If the node is a group item (i.e. a folder) then it - * should have a name as well as zero or more child nodes. Similarly, actual connection favorite nodes, don't - * have a name and should have no children. + * Tree node the represents a connection favorite. */ -@interface SPFavoriteNode : NSObject -{ - BOOL nodeIsGroup; - NSString *nodeName; - - NSDictionary *nodeFavorite; - NSMutableArray *nodeChildren; +@interface SPFavoriteNode : NSObject <NSCopying, NSCoding> +{ + NSMutableDictionary *nodeFavorite; } /** - * @property nodeIsGroup Indicates whether this node is a group item - */ -@property (readwrite, assign) BOOL nodeIsGroup; - -/** - * @property nodeName The node's name if it's a group item - */ -@property (readwrite, retain) NSString *nodeName; - -/** * @property nodeFavorite The actual favorite dictionary */ -@property (readwrite, retain) NSDictionary *nodeFavorite; +@property (readwrite, retain) NSMutableDictionary *nodeFavorite; -/** - * @property nodeChildren This node's children - */ -@property (readwrite, retain) NSMutableArray *nodeChildren; +- (id)initWithDictionary:(NSMutableDictionary *)dictionary; + ++ (SPFavoriteNode *)favoriteNodeWithDictionary:(NSMutableDictionary *)dictionary; @end |