Support multiple accounts. Bug fixes. Improve concurrency.
[pithos-macos] / pithos-macos / PithosPreferencesController.h
index a3f1882..5fd4245 100644 (file)
@@ -2,7 +2,7 @@
 //  PithosPreferencesController.h
 //  pithos-macos
 //
-// Copyright 2011 GRNET S.A. All rights reserved.
+// Copyright 2011-2012 GRNET S.A. All rights reserved.
 //
 // Redistribution and use in source and binary forms, with or
 // without modification, are permitted provided that the following
 // or implied, of GRNET S.A.
 
 #import <Cocoa/Cocoa.h>
+@class PithosBrowserController;
+@class PithosAccount;
 
-@interface PithosPreferencesController : NSWindowController <NSWindowDelegate>
+@interface PithosPreferencesController : NSWindowController <NSWindowDelegate> {
+    PithosBrowserController *pithosBrowserController;
+    PithosAccount *selectedPithosAccount;
+    
+    NSArrayController *accountsArrayController;
+    
+    BOOL accountRemoveEnable;
+    
+    NSString *serverURL;
+    NSString *authUser;
+    NSString *authToken;
+    BOOL manual;
+    BOOL loginEnable;
+    BOOL loginCancelEnable;
+    
+    BOOL syncActive;
+    NSString *syncDirectoryPath;
+    BOOL syncApplyEnable;
+    BOOL syncCancelEnable;
+    
+    NSDictionaryController *groupsDictionaryController;
+    NSDictionaryController *selectedGroupMembersDictionaryController;
+}
 
-@property (nonatomic, retain) IBOutlet NSUserDefaultsController *userDefaultsController;
+@property (nonatomic, assign) IBOutlet PithosBrowserController *pithosBrowserController;
+@property (nonatomic, retain) PithosAccount *selectedPithosAccount;
 
-@property (nonatomic, retain) IBOutlet NSTextField *authenticationUserTextField;
-@property (nonatomic, retain) IBOutlet NSTextField *authenticationTokenTextField;
-@property (nonatomic, retain) IBOutlet NSButton *authenticationRenewCheckBox;
+@property (nonatomic, assign) IBOutlet NSArrayController *accountsArrayController;
 
-- (IBAction)toolbarItemSelected:(id)sender;
+@property (nonatomic, assign) BOOL accountRemoveEnable;
+
+@property (nonatomic, retain) NSString *serverURL;
+@property (nonatomic, retain) NSString *authUser;
+@property (nonatomic, retain) 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, assign) BOOL syncApplyEnable;
+@property (nonatomic, assign) BOOL syncCancelEnable;
+
+@property (nonatomic, assign) IBOutlet NSDictionaryController *groupsDictionaryController;
+@property (nonatomic, assign) IBOutlet NSDictionaryController *selectedGroupMembersDictionaryController;
+
+//- (IBAction)toolbarItemSelected:(id)sender;
+
+- (IBAction)addAccount:(id)sender;
+- (IBAction)removeAccount:(id)sender;
+- (IBAction)login:(id)sender;
+- (IBAction)loginCancel:(id)sender;
+- (IBAction)syncApply:(id)sender;
+- (IBAction)syncCancel:(id)sender;
+- (IBAction)groupsApply:(id)sender;
+- (IBAction)groupsRevert:(id)sender;
 
-- (IBAction)authenticationLogin:(id)sender;
-- (IBAction)authenticationManual:(id)sender;
 
 @end