X-Git-Url: https://code.grnet.gr/git/pithos-macos/blobdiff_plain/4bf68b7716d0294026c49e47d3cecec240a00610..fb27f36872b58b7d74ac693639072daeebfd120b:/pithos-macos/PithosBrowserController.h diff --git a/pithos-macos/PithosBrowserController.h b/pithos-macos/PithosBrowserController.h index fd4406b..a55b7c7 100644 --- a/pithos-macos/PithosBrowserController.h +++ b/pithos-macos/PithosBrowserController.h @@ -2,7 +2,7 @@ // PithosBrowserController.h // pithos-macos // -// Copyright 2011 GRNET S.A. All rights reserved. +// Copyright 2011-2013 GRNET S.A. All rights reserved. // // Redistribution and use in source and binary forms, with or // without modification, are permitted provided that the following @@ -36,24 +36,89 @@ // or implied, of GRNET S.A. #import +#import "PithosActivityFacility.h" +@class PithosAccount; @class PithosNode; @class PithosAccountNode; +@class PithosSharingAccountsNode; +@class PithosEmptyNode; +@class PithosActivityFacility; +@class ASINetworkQueue; -@interface PithosBrowserController : NSWindowController { +@interface PithosBrowserController : NSWindowController { + BOOL browserInitialized; + BOOL browserActive; + + PithosAccount *pithosAccountManager; PithosNode *rootNode; PithosAccountNode *accountNode; - - NSMutableArray *outlineViewDataSourceArray; + PithosEmptyNode *containersNode; + NSMutableArray *containersNodeChildren; + PithosEmptyNode *sharedNode; + PithosAccountNode *mySharedNode; + PithosSharingAccountsNode *othersSharedNode; NSViewController *sharedPreviewController; + + IBOutlet NSSplitView *verticalSplitView; + IBOutlet NSView *leftView; + IBOutlet NSView *rightView; + IBOutlet NSSplitView *horizontalSplitView; + IBOutlet NSView *leftTopView; + IBOutlet NSView *leftBottomView; + IBOutlet NSOutlineView *outlineView; + IBOutlet NSBrowser *browser; + IBOutlet NSMenu *outlineViewMenu; + IBOutlet NSMenu *browserMenu; + + BOOL editingItem; + + NSArray *draggedNodes; + PithosNode *draggedParentNode; + + NSArray *clipboardNodes; + PithosNode *clipboardParentNode; + BOOL clipboardCopy; + + IBOutlet NSTextField *activityTextField; + IBOutlet NSProgressIndicator *activityProgressIndicator; + PithosActivityFacility *activityFacility; + + NSTimer *refreshTimer; + + ASINetworkQueue *moveNetworkQueue; + ASINetworkQueue *copyNetworkQueue; + ASINetworkQueue *deleteNetworkQueue; + ASINetworkQueue *uploadNetworkQueue; + ASINetworkQueue *downloadNetworkQueue; + NSOperationQueue *moveQueue; + NSOperationQueue *copyQueue; + NSOperationQueue *deleteQueue; + NSOperationQueue *uploadQueue; + NSOperationQueue *downloadQueue; + NSOperationQueue *moveCallbackQueue; + NSOperationQueue *copyCallbackQueue; + NSOperationQueue *deleteCallbackQueue; + NSOperationQueue *uploadCallbackQueue; + NSOperationQueue *downloadCallbackQueue; } -@property (nonatomic, retain) NSMutableArray *outlineViewDataSourceArray; +@property (nonatomic, strong) PithosAccount *pithosAccountManager; +@property (nonatomic, strong) PithosAccountNode *accountNode; + +@property (nonatomic, strong) NSArray *draggedNodes; +@property (nonatomic, strong) PithosNode *draggedParentNode; -@property (nonatomic, retain) IBOutlet NSSplitView *splitView; -@property (nonatomic, retain) IBOutlet NSOutlineView *outlineView; -@property (nonatomic, retain) IBOutlet NSBrowser *browser; +@property (nonatomic, strong) NSArray *clipboardNodes; +@property (nonatomic, strong) PithosNode *clipboardParentNode; +@property (nonatomic, assign) BOOL clipboardCopy; +- (IBAction)forceRefresh:(id)sender; - (IBAction)refresh:(id)sender; +- (void)resetBrowser; +- (void)startBrowser; +- (BOOL)operationsPending; +- (void)downloadNode:(PithosNode *)node toDirectory:(NSString *)dirPath withNewFileName:(NSString *)newFileName + version:(NSString *)version checkIfExists:(BOOL)checkIfExists; @end