marinofaggiana 5 jaren geleden
bovenliggende
commit
f5cbe4ba60

+ 16 - 12
Nextcloud.xcodeproj/project.pbxproj

@@ -83,6 +83,7 @@
 		F716FE7823795E5000FABE50 /* NCCommunication.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F716FE7723795E5000FABE50 /* NCCommunication.framework */; settings = {ATTRIBUTES = (Required, ); }; };
 		F716FE7A23795EC500FABE50 /* FileProviderExtension+NetworkingDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F716FE7923795EC500FABE50 /* FileProviderExtension+NetworkingDelegate.swift */; };
 		F7226EDC1EE4089300EBECB1 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F7226EDB1EE4089300EBECB1 /* Main.storyboard */; };
+		F722814323C8C34500C41898 /* NCRichWorkspace.xib in Resources */ = {isa = PBXBuildFile; fileRef = F722814223C8C34500C41898 /* NCRichWorkspace.xib */; };
 		F7233CEE23A24F990011D898 /* NCViewerNextcloudText.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7233CED23A24F990011D898 /* NCViewerNextcloudText.swift */; };
 		F72382C02295856A005B8A07 /* FirebaseMLVisionTextModel.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F72382BB22958569005B8A07 /* FirebaseMLVisionTextModel.framework */; };
 		F72382C22295856A005B8A07 /* GoogleMVTextDetectorResources.bundle in Resources */ = {isa = PBXBuildFile; fileRef = F72382BE22958569005B8A07 /* GoogleMVTextDetectorResources.bundle */; };
@@ -548,7 +549,7 @@
 		F7E0E1DE22327DBA006B0911 /* NCAudioRecorderViewController.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F7E0E1DD22327DBA006B0911 /* NCAudioRecorderViewController.storyboard */; };
 		F7E4D9C422ED929B003675FD /* NCShareComments.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E4D9C322ED929B003675FD /* NCShareComments.swift */; };
 		F7E9C41B20F4CA870040CF18 /* CCTransfers.m in Sources */ = {isa = PBXBuildFile; fileRef = F7E9C41820F4CA870040CF18 /* CCTransfers.m */; };
-		F7F4B1D823C74B3E00D82A6E /* NCMainViewHeightRichWorkspace.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F4B1D723C74B3E00D82A6E /* NCMainViewHeightRichWorkspace.swift */; };
+		F7F4B1D823C74B3E00D82A6E /* NCRichWorkspace.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7F4B1D723C74B3E00D82A6E /* NCRichWorkspace.swift */; };
 		F7F54CE51E5B14C700E19C62 /* ImageError.png in Resources */ = {isa = PBXBuildFile; fileRef = F7F54CAF1E5B14C700E19C62 /* ImageError.png */; };
 		F7F54CE61E5B14C700E19C62 /* ImageError@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = F7F54CB01E5B14C700E19C62 /* ImageError@2x.png */; };
 		F7F54CE71E5B14C700E19C62 /* ImageError@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = F7F54CB11E5B14C700E19C62 /* ImageError@3x.png */; };
@@ -742,6 +743,7 @@
 		F716FE7723795E5000FABE50 /* NCCommunication.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = NCCommunication.framework; path = Carthage/Build/iOS/NCCommunication.framework; sourceTree = "<group>"; };
 		F716FE7923795EC500FABE50 /* FileProviderExtension+NetworkingDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "FileProviderExtension+NetworkingDelegate.swift"; sourceTree = "<group>"; };
 		F7226EDB1EE4089300EBECB1 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = "<group>"; };
+		F722814223C8C34500C41898 /* NCRichWorkspace.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NCRichWorkspace.xib; sourceTree = "<group>"; };
 		F7229B491DF71BB300E8C4E7 /* AUTHORS */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AUTHORS; sourceTree = SOURCE_ROOT; };
 		F7233CED23A24F990011D898 /* NCViewerNextcloudText.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCViewerNextcloudText.swift; sourceTree = "<group>"; };
 		F72382BB22958569005B8A07 /* FirebaseMLVisionTextModel.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = FirebaseMLVisionTextModel.framework; sourceTree = "<group>"; };
@@ -1346,7 +1348,7 @@
 		F7E9C41520F4CA870040CF18 /* CCTransfers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCTransfers.h; sourceTree = "<group>"; };
 		F7E9C41820F4CA870040CF18 /* CCTransfers.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCTransfers.m; sourceTree = "<group>"; };
 		F7F0617A1BAACDD300846525 /* CryptoCloud.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CryptoCloud.pch; sourceTree = "<group>"; };
-		F7F4B1D723C74B3E00D82A6E /* NCMainViewHeightRichWorkspace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCMainViewHeightRichWorkspace.swift; sourceTree = "<group>"; };
+		F7F4B1D723C74B3E00D82A6E /* NCRichWorkspace.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCRichWorkspace.swift; sourceTree = "<group>"; };
 		F7F54CAF1E5B14C700E19C62 /* ImageError.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ImageError.png; sourceTree = "<group>"; };
 		F7F54CB01E5B14C700E19C62 /* ImageError@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ImageError@2x.png"; sourceTree = "<group>"; };
 		F7F54CB11E5B14C700E19C62 /* ImageError@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "ImageError@3x.png"; sourceTree = "<group>"; };
@@ -1576,25 +1578,26 @@
 		F70211F31BAC56E9003FC03E /* Main */ = {
 			isa = PBXGroup;
 			children = (
-				F78ACD50219046AC0088454D /* Section */,
-				F78ACD4D219043E70088454D /* Layout */,
-				F78ACD3E21903BA20088454D /* Cell */,
 				F78ACD5921904E460088454D /* ActionSheetHeaderView */,
+				F78ACD3E21903BA20088454D /* Cell */,
 				F7DFB7E9219C5A0500680748 /* Create cloud */,
-				F70211FA1BAC56E9003FC03E /* CCMain.h */,
-				F70211FB1BAC56E9003FC03E /* CCMain.m */,
-				F7226EDB1EE4089300EBECB1 /* Main.storyboard */,
+				F78ACD4D219043E70088454D /* Layout */,
 				F7D0E65E1BC5042E008D989A /* CCDetail.h */,
 				F7D0E65F1BC5042E008D989A /* CCDetail.m */,
+				F70211FA1BAC56E9003FC03E /* CCMain.h */,
+				F70211FB1BAC56E9003FC03E /* CCMain.m */,
+				F73F537E1E929C8500F8678D /* CCMore.swift */,
 				F78F6FAE1CC8CCB700F4EA25 /* CCSection.h */,
 				F78F6FAF1CC8CCB700F4EA25 /* CCSection.m */,
 				F792A77B1BC7C45400C9388E /* CCSplit.h */,
 				F792A77C1BC7C45400C9388E /* CCSplit.m */,
-				F7682FDF23C36B0500983A04 /* NCMainTabBar.swift */,
+				F7226EDB1EE4089300EBECB1 /* Main.storyboard */,
 				F7D6650620FF341600BFBA9E /* NCMainCommon.swift */,
-				F7F4B1D723C74B3E00D82A6E /* NCMainViewHeightRichWorkspace.swift */,
-				F73F537E1E929C8500F8678D /* CCMore.swift */,
+				F7682FDF23C36B0500983A04 /* NCMainTabBar.swift */,
 				F77444F7222816D5000D5EB0 /* NCPhotosPickerViewController.swift */,
+				F7F4B1D723C74B3E00D82A6E /* NCRichWorkspace.swift */,
+				F722814223C8C34500C41898 /* NCRichWorkspace.xib */,
+				F78ACD50219046AC0088454D /* Section */,
 			);
 			path = Main;
 			sourceTree = "<group>";
@@ -3201,6 +3204,7 @@
 				F7D4233A1F0596AC009C9782 /* Reader-Button-H@3x.png in Resources */,
 				F7D423341F0596AC009C9782 /* AppIcon-120.png in Resources */,
 				F7D4234F1F0596AC009C9782 /* Reader-Thumbs@3x.png in Resources */,
+				F722814323C8C34500C41898 /* NCRichWorkspace.xib in Resources */,
 				F7F54CE51E5B14C700E19C62 /* ImageError.png in Resources */,
 				F7D423381F0596AC009C9782 /* Reader-Button-H.png in Resources */,
 				F7F54CFC1E5B14C700E19C62 /* UIBarButtonItemArrowLeft@3x.png in Resources */,
@@ -3655,7 +3659,7 @@
 				F7D4238C1F0596C6009C9782 /* UIXToolbarView.m in Sources */,
 				F7233CEE23A24F990011D898 /* NCViewerNextcloudText.swift in Sources */,
 				F7020FCE2233D7F700B7297D /* NCCreateFormUploadVoiceNote.swift in Sources */,
-				F7F4B1D823C74B3E00D82A6E /* NCMainViewHeightRichWorkspace.swift in Sources */,
+				F7F4B1D823C74B3E00D82A6E /* NCRichWorkspace.swift in Sources */,
 				F726EEEC1FED1C820030B9C8 /* NCEndToEndInitialize.swift in Sources */,
 				F79A65C62191D95E00FF6DCC /* NCSelect.swift in Sources */,
 				F7E0E1DC22327885006B0911 /* NCAudioRecorderViewController.swift in Sources */,

+ 2 - 5
iOSClient/Main/CCMain.h

@@ -43,15 +43,12 @@
 #import <MGSwipeTableCell/MGSwipeTableCell.h>
 
 @class tableMetadata;
-@class NCMainViewHeightRichWorkspace;
+@class NCViewRichWorkspace;
 
 @interface CCMain : UIViewController <UITableViewDataSource, UITableViewDelegate, UIActionSheetDelegate, UIGestureRecognizerDelegate, UIViewControllerPreviewingDelegate, BKPasscodeViewControllerDelegate, UISplitViewControllerDelegate, UIPopoverControllerDelegate, UIDocumentMenuDelegate, UIDocumentPickerDelegate, UISearchResultsUpdating, UISearchControllerDelegate, UISearchBarDelegate, UIScrollViewDelegate, DZNEmptyDataSetSource, DZNEmptyDataSetDelegate>
 
 @property (nonatomic, weak) IBOutlet UITableView *tableView;
-@property (nonatomic, weak) IBOutlet NSLayoutConstraint *constraintHeightRichWorkspace;
-@property (nonatomic, weak) IBOutlet UIView *viewSectionRichWorkspace;
-@property (nonatomic, weak) IBOutlet WKWebView *webViewRichWorkspace;
-@property (nonatomic, weak) IBOutlet NCMainViewHeightRichWorkspace *mainViewHeightRichWorkspace;
+@property (nonatomic, strong) NCViewRichWorkspace *viewRichWorkspace;
 
 @property (nonatomic, strong) tableMetadata *metadata;
 @property (nonatomic, strong) tableMetadata *metadataForPushDetail;

+ 57 - 36
iOSClient/Main/CCMain.m

@@ -71,6 +71,8 @@
     // Folder
     BOOL _loadingFolder;
     tableMetadata *_metadataFolder;
+    
+    NSString *richWorkspace;
 }
 @end
 
@@ -133,11 +135,15 @@
     UILongPressGestureRecognizer* longPressRecognizer = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(onLongPressTableView:)];
     [self.tableView addGestureRecognizer:longPressRecognizer];
     
-    // vewView Tap Action
+    // Load Rich Workspace
+    self.viewRichWorkspace = [[[NSBundle mainBundle] loadNibNamed:@"NCRichWorkspace" owner:self options:nil] firstObject];
+    
+    /*
     UITapGestureRecognizer *webViewTapped = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(webViewTapAction:)];
     webViewTapped.numberOfTapsRequired = 1;
     webViewTapped.delegate = self;
-    [self.webViewRichWorkspace addGestureRecognizer:webViewTapped];
+    [self.viewRichWorkspace addGestureRecognizer:webViewTapped];
+    */
     
     // Pull-to-Refresh
     [self createRefreshControl];
@@ -192,10 +198,6 @@
     // Get Shares
     appDelegate.shares = [[NCManageDatabase sharedInstance] getTableSharesWithAccount:appDelegate.activeAccount serverUrl:self.serverUrl];
     
-    // Settings Rich Workspace
-    tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", appDelegate.activeAccount, self.serverUrl]];
-    [self settingsRichWorkspace:directory.richWorkspace];
-    
     // Query data source
     if (self.searchController.isActive == false) {
         [self queryDatasourceWithReloadData:YES serverUrl:self.serverUrl];
@@ -291,9 +293,6 @@
     // createImagesThemingColor
     [[NCMainCommon sharedInstance] createImagesThemingColor];
     
-    // viewSectionWebView
-    self.viewSectionRichWorkspace.backgroundColor = NCBrandColor.sharedInstance.brand;
-    
     // Refresh control
     refreshControl.tintColor = NCBrandColor.sharedInstance.brandText;
     refreshControl.backgroundColor = NCBrandColor.sharedInstance.brand;
@@ -320,28 +319,6 @@
     [self tableViewReloadData];
 }
 
-- (void)settingsRichWorkspace:(NSString *)richWorkspace
-{
-    // Nextcloud 18
-    tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:appDelegate.activeAccount];
-    
-    if (capabilities.versionMajor >= k_nextcloud_version_18_0) {
-        NSString *htmlString;
-        
-        if (richWorkspace != nil && richWorkspace.length > 0) {
-            htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #000000;\">%@</span></h2>", richWorkspace];
-        } else {
-            htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #999999;\">%@</span></h2>", NSLocalizedString(@"_add_notes_readme_md_", nil)];
-        }
-        [self.webViewRichWorkspace loadHTMLString:htmlString baseURL:NSBundle.mainBundle.bundleURL];
-        self.constraintHeightRichWorkspace.constant = CCUtility.getRichWorkspaceHeight;
-        [self.mainViewHeightRichWorkspace setHidden:false];
-    } else {
-        self.constraintHeightRichWorkspace.constant = 0;
-        [self.mainViewHeightRichWorkspace setHidden:true];
-    }
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Initialization =====
 #pragma --------------------------------------------------------------------------------------------
@@ -1149,7 +1126,7 @@
             // Rich Workspace
             if (metadataFolder != nil) {
                 [[NCManageDatabase sharedInstance] setDirectoryWithOcId:metadataFolder.ocId serverUrl:self.serverUrl richWorkspace:metadataFolder.richWorkspace account:account];
-                [self settingsRichWorkspace:metadataFolder.richWorkspace];
+                [self setTableViewHeader];
             }
             
             tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", account, metadataFolder.serverUrl]];
@@ -1161,10 +1138,6 @@
             
         } else if (errorCode != 0) {
             [[NCContentPresenter shared] messageNotification:@"_error_" description:errorMessage delay:k_dismissAfterSecond type:messageTypeError errorCode:errorCode];
-            
-            // Rich Workspace
-            tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", appDelegate.activeAccount, self.serverUrl]];
-            [self settingsRichWorkspace:directory.richWorkspace];
         } else {
             NSLog(@"[LOG] It has been changed user during networking process, error.");
         }
@@ -3674,6 +3647,7 @@
     for (NSIndexPath *path in indexPaths)
         [self.tableView selectRowAtIndexPath:path animated:NO scrollPosition:UITableViewScrollPositionNone];
     
+    [self setTableViewHeader];
     [self setTableViewFooter];
     
     if (self.tableView.editing)
@@ -3904,6 +3878,53 @@
     
 }
 
+- (void)setTableViewHeader
+{
+    NSString *htmlString;
+    
+    // Nextcloud 18
+    tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:appDelegate.activeAccount];
+    if (capabilities.versionMajor < k_nextcloud_version_18_0) {
+        [self.tableView setTableHeaderView:nil];
+        return;
+    }
+    
+    tableDirectory *directory = [[NCManageDatabase sharedInstance] getTableDirectoryWithPredicate:[NSPredicate predicateWithFormat:@"account == %@ AND serverUrl == %@", appDelegate.activeAccount, self.serverUrl]];
+    if ([richWorkspace isEqualToString:directory.richWorkspace]) {
+        return;
+    }
+
+    [self.viewRichWorkspace setFrame:CGRectMake(0, 0, self.tableView.frame.size.width, CCUtility.getRichWorkspaceHeight)];
+    
+    if (directory.richWorkspace != nil && directory.richWorkspace.length > 0) {
+        htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #000000;\">%@</span></h2>", directory.richWorkspace];
+    } else {
+        htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #999999;\">%@</span></h2>", NSLocalizedString(@"_add_notes_readme_md_", nil)];
+    }
+    
+    [self.viewRichWorkspace.webView loadHTMLString:htmlString baseURL:NSBundle.mainBundle.bundleURL];
+    
+    [self.tableView setTableHeaderView:self.viewRichWorkspace];
+
+    
+    /*
+    if (capabilities.versionMajor >= k_nextcloud_version_18_0) {
+        NSString *htmlString;
+        
+        if (richWorkspace != nil && richWorkspace.length > 0) {
+            htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #000000;\">%@</span></h2>", richWorkspace];
+        } else {
+            htmlString = [NSString stringWithFormat:@"<h2><span style=\"color: #999999;\">%@</span></h2>", NSLocalizedString(@"_add_notes_readme_md_", nil)];
+        }
+        [self.webViewRichWorkspace loadHTMLString:htmlString baseURL:NSBundle.mainBundle.bundleURL];
+        self.constraintHeightRichWorkspace.constant = CCUtility.getRichWorkspaceHeight;
+        [self.mainViewHeightRichWorkspace setHidden:false];
+    } else {
+        self.constraintHeightRichWorkspace.constant = 0;
+        [self.mainViewHeightRichWorkspace setHidden:true];
+    }
+    */
+}
 - (void)setTableViewFooter
 {
     UIView *footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 40)];

+ 2 - 55
iOSClient/Main/Main.storyboard

@@ -424,78 +424,26 @@
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dC6-NQ-0Td">
-                                <rect key="frame" x="0.0" y="188" width="414" height="625"/>
+                                <rect key="frame" x="0.0" y="88" width="414" height="725"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <connections>
                                     <outlet property="dataSource" destination="Qyv-Eo-LeA" id="8v3-Et-JVZ"/>
                                     <outlet property="delegate" destination="Qyv-Eo-LeA" id="CeL-Eu-Cur"/>
                                 </connections>
                             </tableView>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="xus-GQ-KT4">
-                                <rect key="frame" x="0.0" y="88" width="414" height="100"/>
-                                <subviews>
-                                    <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5wM-L2-281">
-                                        <rect key="frame" x="1" y="0.0" width="412" height="90"/>
-                                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                        <wkWebViewConfiguration key="configuration">
-                                            <audiovisualMediaTypes key="mediaTypesRequiringUserActionForPlayback" none="YES"/>
-                                            <wkPreferences key="preferences"/>
-                                        </wkWebViewConfiguration>
-                                    </wkWebView>
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ucy-1e-ZKf" customClass="NCMainViewHeightRichWorkspace" customModule="Nextcloud" customModuleProvider="target">
-                                        <rect key="frame" x="0.0" y="90" width="414" height="10"/>
-                                        <subviews>
-                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dragHorizontal" translatesAutoresizingMaskIntoConstraints="NO" id="6qg-mV-HhN">
-                                                <rect key="frame" x="202" y="0.0" width="10" height="10"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="width" constant="10" id="ohA-ud-f6c"/>
-                                                    <constraint firstAttribute="height" constant="10" id="sYM-Wo-ZA4"/>
-                                                </constraints>
-                                            </imageView>
-                                        </subviews>
-                                        <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                        <constraints>
-                                            <constraint firstAttribute="height" constant="10" id="5nD-75-8Rl"/>
-                                            <constraint firstItem="6qg-mV-HhN" firstAttribute="centerY" secondItem="ucy-1e-ZKf" secondAttribute="centerY" id="bwH-hl-4Vr"/>
-                                            <constraint firstItem="6qg-mV-HhN" firstAttribute="centerX" secondItem="ucy-1e-ZKf" secondAttribute="centerX" id="y0w-r2-6fH"/>
-                                        </constraints>
-                                        <connections>
-                                            <outlet property="imageDrag" destination="6qg-mV-HhN" id="lpB-Ca-jAF"/>
-                                        </connections>
-                                    </view>
-                                </subviews>
-                                <color key="backgroundColor" white="0.33333333333333331" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-                                <constraints>
-                                    <constraint firstAttribute="bottom" secondItem="5wM-L2-281" secondAttribute="bottom" constant="10" id="0ZU-GR-hru"/>
-                                    <constraint firstAttribute="height" constant="100" id="H0o-EG-cxN"/>
-                                    <constraint firstItem="5wM-L2-281" firstAttribute="leading" secondItem="xus-GQ-KT4" secondAttribute="leading" constant="1" id="K5c-Ur-4ht"/>
-                                    <constraint firstAttribute="trailing" secondItem="ucy-1e-ZKf" secondAttribute="trailing" id="R7Q-XH-Xan"/>
-                                    <constraint firstItem="ucy-1e-ZKf" firstAttribute="top" secondItem="5wM-L2-281" secondAttribute="bottom" id="Y8u-eZ-VOP"/>
-                                    <constraint firstItem="5wM-L2-281" firstAttribute="top" secondItem="xus-GQ-KT4" secondAttribute="top" id="ZcF-yZ-qQS"/>
-                                    <constraint firstItem="ucy-1e-ZKf" firstAttribute="leading" secondItem="xus-GQ-KT4" secondAttribute="leading" id="kUK-qj-2fI"/>
-                                    <constraint firstAttribute="trailing" secondItem="5wM-L2-281" secondAttribute="trailing" constant="1" id="o3c-EB-zVd"/>
-                                </constraints>
-                            </view>
                         </subviews>
                         <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                         <constraints>
-                            <constraint firstItem="xus-GQ-KT4" firstAttribute="top" secondItem="Sqy-z1-MI5" secondAttribute="top" id="58V-Ab-HzA"/>
-                            <constraint firstItem="Sqy-z1-MI5" firstAttribute="trailing" secondItem="xus-GQ-KT4" secondAttribute="trailing" id="A0T-28-XOE"/>
                             <constraint firstItem="dC6-NQ-0Td" firstAttribute="leading" secondItem="Sqy-z1-MI5" secondAttribute="leading" id="AAp-Xf-P1c"/>
                             <constraint firstItem="Sqy-z1-MI5" firstAttribute="trailing" secondItem="dC6-NQ-0Td" secondAttribute="trailing" id="DBL-Bo-AUz"/>
-                            <constraint firstItem="xus-GQ-KT4" firstAttribute="leading" secondItem="Sqy-z1-MI5" secondAttribute="leading" id="YFb-tE-vb3"/>
+                            <constraint firstItem="dC6-NQ-0Td" firstAttribute="top" secondItem="Sqy-z1-MI5" secondAttribute="top" id="Vez-ja-4Jl"/>
                             <constraint firstItem="Sqy-z1-MI5" firstAttribute="bottom" secondItem="dC6-NQ-0Td" secondAttribute="bottom" id="d6p-eB-e8X"/>
-                            <constraint firstItem="dC6-NQ-0Td" firstAttribute="top" secondItem="xus-GQ-KT4" secondAttribute="bottom" id="rRF-Uk-ejG"/>
                         </constraints>
                         <viewLayoutGuide key="safeArea" id="Sqy-z1-MI5"/>
                     </view>
                     <navigationItem key="navigationItem" id="2BC-Vb-dXh"/>
                     <connections>
-                        <outlet property="constraintHeightRichWorkspace" destination="H0o-EG-cxN" id="bIE-De-8W7"/>
-                        <outlet property="mainViewHeightRichWorkspace" destination="ucy-1e-ZKf" id="qjc-0b-oTD"/>
                         <outlet property="tableView" destination="dC6-NQ-0Td" id="hew-Gn-bWh"/>
-                        <outlet property="viewSectionRichWorkspace" destination="xus-GQ-KT4" id="DVt-Rt-OnV"/>
-                        <outlet property="webViewRichWorkspace" destination="5wM-L2-281" id="pYS-iQ-e7M"/>
                         <segue destination="mtc-lf-PRo" kind="showDetail" identifier="segueDetail" id="2Qm-A6-CfB"/>
                     </connections>
                 </viewController>
@@ -674,7 +622,6 @@
     <resources>
         <image name="avatar" width="25" height="25"/>
         <image name="disclosureIndicator" width="26" height="28"/>
-        <image name="dragHorizontal" width="312" height="312"/>
         <image name="logo" width="223" height="157.5"/>
         <image name="tabBarPlus" width="80" height="80"/>
     </resources>

+ 22 - 2
iOSClient/Main/NCMainViewHeightRichWorkspace.swift → iOSClient/Main/NCRichWorkspace.swift

@@ -1,5 +1,5 @@
 //
-//  NCMainViewHeightRichWorkspace.swift
+//  NCRichWorkspace.swift
 //  Nextcloud
 //
 //  Created by Marino Faggiana on 09/01/2020.
@@ -8,7 +8,24 @@
 
 import Foundation
 
-class NCMainViewHeightRichWorkspace: UIView {
+@objc class NCViewRichWorkspace: UIView {
+    
+    @IBOutlet weak var webView: WKWebView!
+    @IBOutlet weak var viewTouch: NCRichWorkspaceViewTouch!
+
+    required init?(coder: NSCoder) {
+        super.init(coder: coder)
+        
+        NotificationCenter.default.addObserver(self, selector: #selector(self.changeTheming), name: NSNotification.Name(rawValue: "changeTheming"), object: nil)
+        self.backgroundColor = NCBrandColor.sharedInstance.brand;
+    }
+    
+    @objc func changeTheming() {
+        self.backgroundColor = NCBrandColor.sharedInstance.brand;
+    }
+}
+
+@objc class NCRichWorkspaceViewTouch: UIView {
 
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     var startPosition: CGPoint?
@@ -38,6 +55,8 @@ class NCMainViewHeightRichWorkspace: UIView {
         let touch = touches.first
         let endPosition = touch?.location(in: self)
         let difference = endPosition!.y - startPosition!.y
+        
+        /*
         let differenceSectionWebViewHeight = appDelegate.activeMain.constraintHeightRichWorkspace.constant + difference
         
         if differenceSectionWebViewHeight <= minHeight {
@@ -53,6 +72,7 @@ class NCMainViewHeightRichWorkspace: UIView {
         // save position
         let currentviewSectionWebViewHeight = Int(appDelegate.activeMain.constraintHeightRichWorkspace.constant)
         CCUtility.setRichWorkspaceHeight(currentviewSectionWebViewHeight)
+        */
     }
 
     

+ 68 - 0
iOSClient/Main/NCRichWorkspace.xib

@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina3_5" orientation="portrait" appearance="dark"/>
+    <dependencies>
+        <deployment version="4352" identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="NCViewRichWorkspace" customModule="Nextcloud" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="320" height="480"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XXz-cr-h4j">
+                    <rect key="frame" x="0.0" y="0.0" width="320" height="470"/>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <wkWebViewConfiguration key="configuration">
+                        <audiovisualMediaTypes key="mediaTypesRequiringUserActionForPlayback" none="YES"/>
+                        <wkPreferences key="preferences"/>
+                    </wkWebViewConfiguration>
+                </wkWebView>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="C1O-Se-sSW" customClass="NCRichWorkspaceViewTouch" customModule="Nextcloud" customModuleProvider="target">
+                    <rect key="frame" x="3" y="470" width="315" height="10"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dragHorizontal" translatesAutoresizingMaskIntoConstraints="NO" id="Kbb-up-Kk7">
+                            <rect key="frame" x="152.5" y="0.0" width="10" height="10"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="10" id="BwK-Ih-xVq"/>
+                                <constraint firstAttribute="width" constant="10" id="Xec-7i-2RT"/>
+                            </constraints>
+                        </imageView>
+                    </subviews>
+                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstItem="Kbb-up-Kk7" firstAttribute="centerY" secondItem="C1O-Se-sSW" secondAttribute="centerY" id="fbh-Mv-JiO"/>
+                        <constraint firstItem="Kbb-up-Kk7" firstAttribute="centerX" secondItem="C1O-Se-sSW" secondAttribute="centerX" id="v7j-DL-Weg"/>
+                        <constraint firstAttribute="height" constant="10" id="xy3-eG-rRi"/>
+                    </constraints>
+                    <connections>
+                        <outlet property="imageDrag" destination="Kbb-up-Kk7" id="Wsc-VP-jpa"/>
+                    </connections>
+                </view>
+            </subviews>
+            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="C1O-Se-sSW" secondAttribute="trailing" constant="2" id="CHl-hJ-Qnx"/>
+                <constraint firstItem="XXz-cr-h4j" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="DCK-aY-jxF"/>
+                <constraint firstItem="XXz-cr-h4j" firstAttribute="top" secondItem="vUN-kp-3ea" secondAttribute="top" id="FBk-U6-oyG"/>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="bottom" secondItem="C1O-Se-sSW" secondAttribute="bottom" id="Zk1-rb-wAc"/>
+                <constraint firstItem="C1O-Se-sSW" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" constant="3" id="fLO-Ez-t2Z"/>
+                <constraint firstItem="C1O-Se-sSW" firstAttribute="top" secondItem="XXz-cr-h4j" secondAttribute="bottom" id="oxW-bj-bTB"/>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="XXz-cr-h4j" secondAttribute="trailing" id="sSB-Ux-4JO"/>
+            </constraints>
+            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
+            <connections>
+                <outlet property="viewTouch" destination="C1O-Se-sSW" id="atg-iz-CXm"/>
+                <outlet property="webView" destination="XXz-cr-h4j" id="Sx0-bC-A3Q"/>
+            </connections>
+            <point key="canvasLocation" x="136" y="135"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="dragHorizontal" width="312" height="312"/>
+    </resources>
+</document>