Sfoglia il codice sorgente

download Selected Files + Folders

Marino Faggiana 7 anni fa
parent
commit
da4653072d

+ 1 - 1
iOSClient/AppDelegate.m

@@ -346,7 +346,7 @@
     NSLog(@"[LOG] Update Folder Photo");
     NSString *autoUploadPath = [[NCManageDatabase sharedInstance] getAccountAutoUploadPath:_activeUrl];
     if ([autoUploadPath length] > 0)
-        [[CCSynchronize sharedSynchronize] readFolderServerUrl:autoUploadPath selector:selectorReadFolder];
+        [[CCSynchronize sharedSynchronize] synchronizedFolder:autoUploadPath selector:selectorReadFolder];
 
     // Execute : after 0.5 sec.
     

+ 1 - 0
iOSClient/CCGlobal.h

@@ -174,6 +174,7 @@ extern NSString *const urlBaseUploadDB;
 #define selectorReadFile                                @"readFile"
 #define selectorReadFileUploadFile                      @"readFileUploadFile"
 #define selectorReadFileVerifyUpload                    @"readFileVerifyUpload"
+#define selectorReadFileWithDownload                    @"readFileWithDownload"
 #define selectorReadFolder                              @"readFolder"
 #define selectorReadFolderForced                        @"readFolderForced"
 #define selectorReadFolderWithDownload                  @"readFolderWithDownload"

+ 3 - 3
iOSClient/Favorites/CCFavorites.m

@@ -273,14 +273,14 @@
                 else
                     selector = selectorReadFolder;
                 
-                [[CCSynchronize sharedSynchronize] readFolderServerUrl:serverUrl selector:selector];
+                [[CCSynchronize sharedSynchronize] synchronizedFolder:serverUrl selector:selector];
                 
             } else {
                 
                 if ([CCUtility getFavoriteOffline])
-                    [[CCSynchronize sharedSynchronize] readFile:metadata withDownload:YES];
+                    [[CCSynchronize sharedSynchronize] synchronizedFile:metadata selector:selectorReadFileWithDownload];
                 else
-                    [[CCSynchronize sharedSynchronize] readFile:metadata withDownload:NO];
+                    [[CCSynchronize sharedSynchronize] synchronizedFile:metadata selector:selectorReadFile];
             }
             
             father = serverUrl;

+ 16 - 9
iOSClient/Main/CCMain.m

@@ -1585,9 +1585,9 @@
         [self downloadFileSuccess:fileID serverUrl:serverUrl selector:selectorPost selectorPost:nil];
 }
 
-- (void)downloadSelectedFiles
+- (void)downloadSelectedFilesFolders
 {
-    NSLog(@"[LOG] Start download selected files ...");
+    NSLog(@"[LOG] Start download selected ...");
     
     [_hud visibleHudTitle:NSLocalizedString(@"_downloading_progress_", nil) mode:MBProgressHUDModeIndeterminate color:nil];
     
@@ -1597,11 +1597,18 @@
         
         for (tableMetadata *metadata in selectedMetadatas) {
             
-            if (metadata.directory == NO && [metadata.type isEqualToString: k_metadataType_file]) {
-                
-                NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
+            if ([metadata.type isEqualToString: k_metadataType_file]) {
                 
-                [[CCNetworking sharedNetworking] downloadFile:metadata.fileID serverUrl:serverUrl downloadData:YES downloadPlist:NO selector:selectorDownloadFile selectorPost:nil session:k_download_session taskStatus: k_taskStatusResume delegate:self];
+                if (metadata.directory) {
+                    
+                    NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
+                    serverUrl = [CCUtility stringAppendServerUrl:serverUrl addFileName:metadata.fileName];
+                    [[CCSynchronize sharedSynchronize] synchronizedFolder:serverUrl selector:selectorReadFolderWithDownload];
+                    
+                } else {
+                    
+                    [[CCSynchronize sharedSynchronize] synchronizedFile:metadata selector:selectorReadFileWithDownload];
+                }
             }
         }
         
@@ -3655,8 +3662,8 @@
     
     // ITEM DOWNLOAD ----------------------------------------------------------------------------------------------------
     
-    app.downloadItem = [[REMenuItem alloc] initWithTitle:NSLocalizedString(@"_download_selected_files_", nil) subtitle:@"" image:[CCGraphics changeThemingColorImage:[UIImage imageNamed:@"downloadSelectedFiles"] color:[NCBrandColor sharedInstance].brand] highlightedImage:nil action:^(REMenuItem *item) {
-            [self downloadSelectedFiles];
+    app.downloadItem = [[REMenuItem alloc] initWithTitle:NSLocalizedString(@"_download_selected_files_folders", nil) subtitle:@"" image:[CCGraphics changeThemingColorImage:[UIImage imageNamed:@"downloadSelectedFiles"] color:[NCBrandColor sharedInstance].brand] highlightedImage:nil action:^(REMenuItem *item) {
+            [self downloadSelectedFilesFolders];
     }];
     
     // ITEM SAVE IMAGE & VIDEO -------------------------------------------------------------------------------------------
@@ -4355,7 +4362,7 @@
                                         NSLog(@"[LOG] Update Folder Photo");
                                         NSString *autoUploadPath = [[NCManageDatabase sharedInstance] getAccountAutoUploadPath:app.activeUrl];
                                         if ([autoUploadPath length] > 0)
-                                            [[CCSynchronize sharedSynchronize] readFolderServerUrl:autoUploadPath selector:selectorReadFolder];
+                                            [[CCSynchronize sharedSynchronize] synchronizedFolder:autoUploadPath selector:selectorReadFolder];
                                     }];
         }
 

BIN
iOSClient/Supporting Files/en-GB.lproj/Localizable.strings


+ 2 - 2
iOSClient/Synchronize/CCSynchronize.h

@@ -36,8 +36,8 @@
 
 @property (nonatomic, strong) NSMutableOrderedSet *foldersInSynchronized;
 
-- (void)readFolderServerUrl:(NSString *)serverUrl selector:(NSString *)selector;
-- (void)readFile:(tableMetadata *)metadata withDownload:(BOOL)withDownload;
+- (void)synchronizedFolder:(NSString *)serverUrl selector:(NSString *)selector;
+- (void)synchronizedFile:(tableMetadata *)metadata selector:(NSString *)selector;
 
 - (void)verifyChangeMedatas:(NSArray *)allRecordMetadatas serverUrl:(NSString *)serverUrl account:(NSString *)account withDownload:(BOOL)withDownload;
 

+ 8 - 6
iOSClient/Synchronize/CCSynchronize.m

@@ -59,7 +59,7 @@
 // selector     : selectorReadFolder, selectorReadFolderWithDownload
 //
 
-- (void)readFolderServerUrl:(NSString *)serverUrl selector:(NSString *)selector
+- (void)synchronizedFolder:(NSString *)serverUrl selector:(NSString *)selector
 {
     CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
     
@@ -177,7 +177,7 @@
                     
                     [[NCManageDatabase sharedInstance] setDirectoryWithServerUrl:serverUrl serverUrlTo:nil etag:etag];
                     
-                    [self readFolderServerUrl:serverUrl selector:metadataNet.selector];
+                    [self synchronizedFolder:serverUrl selector:metadataNet.selector];
                 }
                 
             } else {
@@ -223,7 +223,7 @@
 #pragma mark ===== Read File =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)readFile:(tableMetadata *)metadata withDownload:(BOOL)withDownload
+- (void)synchronizedFile:(tableMetadata *)metadata selector:(NSString *)selector
 {
     NSString *serverUrl = [[NCManageDatabase sharedInstance] getServerUrl:metadata.directoryID];
     if (serverUrl == nil) return;
@@ -234,9 +234,8 @@
     metadataNet.fileID = metadata.fileID;
     metadataNet.fileName = metadata.fileName;
     metadataNet.fileNamePrint = metadata.fileNamePrint;
-    metadataNet.options = [NSNumber numberWithBool:withDownload] ;
     metadataNet.priority = NSOperationQueuePriorityLow;
-    metadataNet.selector = selectorReadFile;
+    metadataNet.selector = selector;
     metadataNet.serverUrl = serverUrl;
     
     [app addNetworkingOperationQueue:app.netQueue delegate:self metadataNet:metadataNet];
@@ -262,7 +261,10 @@
 {
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
         
-        BOOL withDownload = [metadataNet.options boolValue];
+        BOOL withDownload = NO;
+        
+        if ([metadataNet.selector isEqualToString:selectorReadFileWithDownload])
+            withDownload = YES;
         
         //Add/Update Metadata
         tableMetadata *addMetadata = [[NCManageDatabase sharedInstance] addMetadata:metadata activeUrl:app.activeUrl serverUrl:metadataNet.serverUrl];