Add UI for selective sync folders. Call next sync when an account has sync preference...
[pithos-macos] / pithos-macos / PithosPreferencesController.h
index 2a38814..6b20a7b 100644 (file)
@@ -38,7 +38,7 @@
 #import <Cocoa/Cocoa.h>
 @class PithosAccount;
 
-@interface PithosPreferencesController : NSWindowController <NSWindowDelegate> {
+@interface PithosPreferencesController : NSWindowController <NSWindowDelegate, NSOutlineViewDataSource> {
     PithosAccount *selectedPithosAccount;
     
     NSArrayController *accountsArrayController;
     
     BOOL syncActive;
     NSString *syncDirectoryPath;
+    NSMutableDictionary *syncContainersDictionary;
     BOOL syncApplyEnable;
     BOOL syncCancelEnable;
+    NSOutlineView *syncContainersOutlineView;
+    NSMutableDictionary *syncContainersRootFilesNodes;
     
     NSDictionaryController *groupsDictionaryController;
     NSDictionaryController *selectedGroupMembersDictionaryController;
 
 @property (nonatomic, assign) BOOL accountRemoveEnable;
 
-@property (nonatomic, retain) NSString *serverURL;
-@property (nonatomic, retain) NSString *authUser;
-@property (nonatomic, retain) NSString *authToken;
+@property (nonatomic, copy) NSString *serverURL;
+@property (nonatomic, copy) NSString *authUser;
+@property (nonatomic, copy) NSString *authToken;
 @property (nonatomic, assign) BOOL manual;
 @property (nonatomic, assign) BOOL loginEnable;
 @property (nonatomic, assign) BOOL loginCancelEnable;
 
 @property (nonatomic, assign) BOOL syncActive;
-@property (nonatomic, retain) NSString *syncDirectoryPath;
+@property (nonatomic, copy) NSString *syncDirectoryPath;
+@property (nonatomic, copy) NSMutableDictionary *syncContainersDictionary;
 @property (nonatomic, assign) BOOL syncApplyEnable;
 @property (nonatomic, assign) BOOL syncCancelEnable;
+@property (nonatomic, assign) IBOutlet NSOutlineView *syncContainersOutlineView;
+@property (nonatomic, retain) NSMutableDictionary *syncContainersRootFilesNodes;
 
 @property (nonatomic, assign) IBOutlet NSDictionaryController *groupsDictionaryController;
 @property (nonatomic, assign) IBOutlet NSDictionaryController *selectedGroupMembersDictionaryController;
@@ -90,6 +96,7 @@
 - (IBAction)loginCancel:(id)sender;
 - (IBAction)syncApply:(id)sender;
 - (IBAction)syncCancel:(id)sender;
+- (IBAction)syncRefresh:(id)sender;
 - (IBAction)groupsApply:(id)sender;
 - (IBAction)groupsRevert:(id)sender;