Browse Source

new view share

marinofaggiana 5 years ago
parent
commit
7229cd7e62

+ 29 - 3
iOSClient/Favorites/CCFavorites.m

@@ -250,14 +250,16 @@
     }];
 }
 
-- (void)tapActionConnectionMounted:(UITapGestureRecognizer *)tapGesture
+- (void)tapActionShared:(UITapGestureRecognizer *)tapGesture
 {
     CGPoint location = [tapGesture locationInView:self.tableView];
     NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:location];
     
     tableMetadata *metadata = [[NCMainCommon sharedInstance] getMetadataFromSectionDataSourceIndexPath:indexPath sectionDataSource:sectionDataSource];
-    if (metadata)
+    
+    if (metadata) {
         [appDelegate.activeMain openShareWithMetadata:metadata];
+    }
 }
 
 #pragma --------------------------------------------------------------------------------------------
@@ -573,6 +575,10 @@
 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
+    tableShare *shareCell;
+    BOOL isShare = false;
+    BOOL isMounted = false;
+    
     tableMetadata *metadata = [[NCMainCommon sharedInstance] getMetadataFromSectionDataSourceIndexPath:indexPath sectionDataSource:sectionDataSource];
     if (metadata == nil || [[NCManageDatabase sharedInstance] isTableInvalidated:metadata]) {
         return [CCCellMain new];
@@ -585,12 +591,32 @@
     
     tableMetadata *metadataFolder = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"fileID == %@", directory.fileID]];
     
-    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:metadataFolder serverUrl:self.serverUrl autoUploadFileName:autoUploadFileName autoUploadDirectory:autoUploadDirectory tableShare:nil];
+    for (tableShare *share in appDelegate.shares) {
+        if ([share.serverUrl isEqualToString:metadata.serverUrl] && [share.fileName isEqualToString:metadata.fileName]) {
+            shareCell = share;
+            break;
+        }
+    }
+    
+    UITableViewCell *cell = [[NCMainCommon sharedInstance] cellForRowAtIndexPath:indexPath tableView:tableView metadata:metadata metadataFolder:metadataFolder serverUrl:self.serverUrl autoUploadFileName:autoUploadFileName autoUploadDirectory:autoUploadDirectory tableShare:shareCell];
     
     // NORMAL - > MAIN
 
     if ([cell isKindOfClass:[CCCellMain class]]) {
         
+        // Share add Tap
+        if (metadataFolder) {
+            isShare = [metadata.permissions containsString:k_permission_shared] && ![metadataFolder.permissions containsString:k_permission_shared];
+            isMounted = [metadata.permissions containsString:k_permission_mounted] && ![metadataFolder.permissions containsString:k_permission_mounted];
+        }
+        if (isShare || isMounted || shareCell) {
+            
+            UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapActionShared:)];
+            [tap setNumberOfTapsRequired:1];
+            ((CCCellMain *)cell).shared.userInteractionEnabled = YES;
+            [((CCCellMain *)cell).shared addGestureRecognizer:tap];
+        }
+        
         // More
         if ([self canOpenMenuAction:metadata]) {
             

+ 2 - 3
iOSClient/Main/CCMain.m

@@ -3737,13 +3737,12 @@
     // NORMAL - > MAIN
     
     if ([cell isKindOfClass:[CCCellMain class]]) {
-                
+        
+        // Share add Tap
         if (_metadataFolder) {
             isShare = [metadata.permissions containsString:k_permission_shared] && ![_metadataFolder.permissions containsString:k_permission_shared];
             isMounted = [metadata.permissions containsString:k_permission_mounted] && ![_metadataFolder.permissions containsString:k_permission_mounted];
         }
-        
-        // Share add Tap
         if (isShare || isMounted || shareCell) {
             
             UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapActionShared:)];

+ 1 - 0
iOSClient/Networking/NCService.swift

@@ -272,6 +272,7 @@ class NCService: NSObject {
                             NCManageDatabase.sharedInstance.deleteTableShare(account: account!)
                             self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: account!, activeUrl: self.appDelegate.activeUrl, items: itemsOCSharedDto)
                             self.appDelegate.activeMain.tableView.reloadData()
+                            self.appDelegate.activeFavorites.tableView.reloadData()
                         } else {
                             self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                         }

+ 3 - 0
iOSClient/Share/NCShareNetworking.swift

@@ -48,6 +48,7 @@ class NCShareNetworking: NSObject {
                 let itemsOCSharedDto = items as! [OCSharedDto]
                 self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
                 self.appDelegate.activeMain.tableView.reloadData()
+                self.appDelegate.activeFavorites.tableView.reloadData()
             } else {
                 self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
             }
@@ -66,6 +67,7 @@ class NCShareNetworking: NSObject {
                         let itemsOCSharedDto = items as! [OCSharedDto]
                         self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
                         self.appDelegate.activeMain.tableView.reloadData()
+                        self.appDelegate.activeFavorites.tableView.reloadData()
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }
@@ -131,6 +133,7 @@ class NCShareNetworking: NSObject {
                         let itemsOCSharedDto = items as! [OCSharedDto]
                         self.appDelegate.shares = NCManageDatabase.sharedInstance.addShare(account: self.metadata.account, activeUrl: self.activeUrl, items: itemsOCSharedDto)
                         self.appDelegate.activeMain.tableView.reloadData()
+                        self.appDelegate.activeFavorites.tableView.reloadData()
                     } else {
                         self.appDelegate.messageNotification("_share_", description: message, visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
                     }