marinofaggiana 5 years ago
parent
commit
89298abe31

+ 1 - 0
iOSClient/Favorites/CCFavorites.h

@@ -41,6 +41,7 @@
 
 @property (nonatomic, strong) tableMetadata *metadata;
 @property (nonatomic, strong) tableMetadata *metadataForPushDetail;
+@property (nonatomic, strong) NSString *selectorForPushDetail;
 @property (nonatomic, strong) NSString *serverUrl;
 @property (nonatomic, strong) NSString *titleViewControl;
 

+ 6 - 1
iOSClient/Favorites/CCFavorites.m

@@ -387,6 +387,9 @@
         viewController.imageFile = cell.file.image;
         viewController.showOpenIn = true;
         viewController.showShare = false;
+        if ([metadata.typeFile isEqualToString: k_metadataTypeFile_document]) {
+            viewController.showOpenInternalViewer = true;
+        }
         
         return viewController;
     }
@@ -540,7 +543,7 @@
         [actionSheet addButtonWithTitle:NSLocalizedString(@"_open_in_", nil) image:[CCGraphics changeThemingColorImage:[UIImage imageNamed:@"openFile"] multiplier:2 color:NCBrandColor.sharedInstance.icon] backgroundColor:NCBrandColor.sharedInstance.backgroundForm height: 50.0 type:AHKActionSheetButtonTypeDefault handler:^(AHKActionSheet *as) {
             [self.tableView setEditing:NO animated:YES];
             
-            [[NCMainCommon sharedInstance] downloadOpenInMetadata:metadata];
+            [[NCMainCommon sharedInstance] downloadOpenWithMetadata:metadata selector:selectorOpenIn];
         }];
     }
     
@@ -801,6 +804,7 @@
     
     // Metadata for push detail
     self.metadataForPushDetail = metadata;
+    self.selectorForPushDetail = selector;
     
     [self performSegueWithIdentifier:@"segueDetail" sender:self];
 }
@@ -825,6 +829,7 @@
     }
     
     _detailViewController.metadataDetail = self.metadataForPushDetail;
+    _detailViewController.selectorDetail = self.selectorForPushDetail;
     _detailViewController.dateFilterQuery = nil;
     _detailViewController.photoDataSource = photoDataSource;
     

+ 5 - 11
iOSClient/Main/CCMain.m

@@ -925,6 +925,9 @@
         viewController.imageFile = cell.file.image;
         viewController.showOpenIn = true;
         viewController.showShare = true;
+        if ([metadata.typeFile isEqualToString: k_metadataTypeFile_document]) {
+            viewController.showOpenInternalViewer = true;
+        }
         
         return viewController;
     }
@@ -2656,22 +2659,13 @@
 
 - (void)openinFile:(id)sender
 {
-    [[NCMainCommon sharedInstance] downloadOpenInMetadata:self.metadata];
+    [[NCMainCommon sharedInstance] downloadOpenWithMetadata:self.metadata selector:selectorOpenIn];
 }
 
 /************************************ OPEN INTERNAL VIEWER ... ******************************/
 - (void)openInternalViewer:(id)sender
 {
-    self.metadata.session = k_download_session;
-    self.metadata.sessionError = @"";
-    self.metadata.sessionSelector = selectorLoadFileInternalView;
-    self.metadata.status = k_metadataStatusWaitDownload;
-    
-    // Add Metadata for Download
-    (void)[[NCManageDatabase sharedInstance] addMetadata:self.metadata];
-    [[NCMainCommon sharedInstance] reloadDatasourceWithServerUrl:self.serverUrl ocId:self.metadata.ocId action:k_action_MOD];
-    
-    [appDelegate startLoadAutoDownloadUpload];
+    [[NCMainCommon sharedInstance] downloadOpenWithMetadata:self.metadata selector:selectorLoadFileInternalView];
 }
 
 /************************************ PASTE ************************************/

+ 7 - 5
iOSClient/Main/NCMainCommon.swift

@@ -1094,19 +1094,19 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
         print("Canceled")
     }
     
-    //MARK: - OpenIn
+    //MARK: - download Open Selector
     
-    @objc func downloadOpenIn(metadata: tableMetadata) {
+    @objc func downloadOpen(metadata: tableMetadata, selector: String) {
         
         if CCUtility.fileProviderStorageExists(metadata.ocId, fileNameView: metadata.fileNameView) {
             
-            openIn(metadata: metadata)
-            
+            NCNetworkingMain.sharedInstance.downloadFileSuccessFailure(metadata.fileName, ocId: metadata.ocId, serverUrl: metadata.serverUrl, selector: selector, errorMessage: "", errorCode: 0)
+                        
         } else {
             
             metadata.session = k_download_session
             metadata.sessionError = ""
-            metadata.sessionSelector = selectorOpenIn
+            metadata.sessionSelector = selector //selectorOpenIn
             metadata.status = Int(k_metadataStatusWaitDownload)
             
             _ = NCManageDatabase.sharedInstance.addMetadata(metadata)
@@ -1114,6 +1114,8 @@ class NCMainCommon: NSObject, PhotoEditorDelegate, NCAudioRecorderViewController
         }
     }
 
+    //MARK: - OpenIn
+    
     func openIn(metadata: tableMetadata) {
         
         docController = UIDocumentInteractionController(url: NSURL(fileURLWithPath: CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)) as URL)

+ 1 - 0
iOSClient/Media/NCMedia.swift

@@ -362,6 +362,7 @@ extension NCMedia: UIViewControllerPreviewingDelegate {
         viewController.imageFile = cell.imageItem.image
         viewController.showOpenIn = true
         viewController.showShare = false
+        viewController.showOpenInternalViewer = false
 
         return viewController
     }

+ 3 - 0
iOSClient/Offline/NCOffline.swift

@@ -544,6 +544,9 @@ extension NCOffline: UIViewControllerPreviewingDelegate {
         }
         
         viewController.showOpenIn = true
+        if metadata.typeFile == k_metadataTypeFile_document {
+            viewController.showOpenInternalViewer = true
+        }
         viewController.showShare = false
         
         return viewController

+ 1 - 0
iOSClient/PeekPop/CCPeekPop.h

@@ -32,6 +32,7 @@
 @property (nonatomic, strong) UIImage *imageFile;
 @property BOOL showShare;
 @property BOOL showOpenIn;
+@property BOOL showOpenInternalViewer;
 
 @property (nonatomic, weak) IBOutlet UILabel *fileName;
 @property (nonatomic, weak) IBOutlet UIImageView *imagePreview;

+ 12 - 5
iOSClient/PeekPop/CCPeekPop.m

@@ -72,17 +72,24 @@
     NSMutableArray *items = [NSMutableArray new];
  
     if (self.showOpenIn && !self.metadata.directory) {
-        UIPreviewAction *openIn = [UIPreviewAction actionWithTitle:NSLocalizedString(@"_open_in_", nil) style:UIPreviewActionStyleDefault handler:^(UIPreviewAction *action,  UIViewController *previewViewController) {
-            [[NCMainCommon sharedInstance] downloadOpenInMetadata:self.metadata];
+        UIPreviewAction *item = [UIPreviewAction actionWithTitle:NSLocalizedString(@"_open_in_", nil) style:UIPreviewActionStyleDefault handler:^(UIPreviewAction *action,  UIViewController *previewViewController) {
+            [[NCMainCommon sharedInstance]  downloadOpenWithMetadata:self.metadata selector:selectorOpenIn];
         }];
-        [items addObject:openIn];
+        [items addObject:item];
+    }
+    
+    if (self.showOpenInternalViewer) {
+        UIPreviewAction *item = [UIPreviewAction actionWithTitle:NSLocalizedString(@"_open_internal_view_", nil) style:UIPreviewActionStyleDefault handler:^(UIPreviewAction *action,  UIViewController *previewViewController) {
+            [[NCMainCommon sharedInstance] downloadOpenWithMetadata:self.metadata selector:selectorLoadFileInternalView];
+        }];
+        [items addObject:item];
     }
     
     if (self.showShare) {
-        UIPreviewAction *share = [UIPreviewAction actionWithTitle:NSLocalizedString(@"_share_", nil) style:UIPreviewActionStyleDefault handler:^(UIPreviewAction *action,  UIViewController *previewViewController) {
+        UIPreviewAction *item = [UIPreviewAction actionWithTitle:NSLocalizedString(@"_share_", nil) style:UIPreviewActionStyleDefault handler:^(UIPreviewAction *action,  UIViewController *previewViewController) {
             [[NCMainCommon sharedInstance] openShareWithViewController:appDelegate.activeMain metadata:self.metadata indexPage:2];
         }];
-        [items addObject:share];
+        [items addObject:item];
     }
     
     return items;

+ 1 - 0
iOSClient/Shares/NCShares.m

@@ -141,6 +141,7 @@
         viewController.metadata = metadata;
         viewController.imageFile = cell.fileImageView.image;
         viewController.showOpenIn = false;
+        viewController.showOpenInternalViewer = false;
         viewController.showShare = false;
         
         return viewController;