Marino Faggiana 6 anni fa
parent
commit
ff1bf617c8

+ 12 - 8
Nextcloud.xcodeproj/project.pbxproj

@@ -67,7 +67,6 @@
 		F70022FF1EC4C9100080073F /* UtilsFramework.m in Sources */ = {isa = PBXBuildFile; fileRef = F70022A01EC4C9100080073F /* UtilsFramework.m */; };
 		F70A630B1D5B3467004E2AA5 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F70A63061D5B3467004E2AA5 /* libcrypto.a */; };
 		F70A630F1D5B3467004E2AA5 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F70A63071D5B3467004E2AA5 /* libssl.a */; };
-		F70BE25B2184B11500425587 /* NCOfflineLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = F70BE25A2184B11500425587 /* NCOfflineLayout.swift */; };
 		F70BFC7420E0FA7D00C67599 /* NCUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = F70BFC7320E0FA7C00C67599 /* NCUtility.swift */; };
 		F70BFC7520E0FA7D00C67599 /* NCUtility.swift in Sources */ = {isa = PBXBuildFile; fileRef = F70BFC7320E0FA7C00C67599 /* NCUtility.swift */; };
 		F70CAE3A1F8CF31A008125FD /* NCEndToEndEncryption.m in Sources */ = {isa = PBXBuildFile; fileRef = F70CAE391F8CF31A008125FD /* NCEndToEndEncryption.m */; };
@@ -511,6 +510,7 @@
 		F78ACD4621903D010088454D /* NCGridCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F78ACD4521903D010088454D /* NCGridCell.xib */; };
 		F78ACD4A21903F850088454D /* NCTrashListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78ACD4821903F850088454D /* NCTrashListCell.swift */; };
 		F78ACD4B21903F850088454D /* NCTrashListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F78ACD4921903F850088454D /* NCTrashListCell.xib */; };
+		F78ACD4F2190440D0088454D /* NCLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78ACD4E2190440D0088454D /* NCLayout.swift */; };
 		F78BFEE11D31126B00E513CF /* MainInterface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F78BFEDE1D31126B00E513CF /* MainInterface.storyboard */; };
 		F78F74342163757000C2ADAD /* NCTrash.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F78F74332163757000C2ADAD /* NCTrash.storyboard */; };
 		F78F74362163781100C2ADAD /* NCTrash.swift in Sources */ = {isa = PBXBuildFile; fileRef = F78F74352163781100C2ADAD /* NCTrash.swift */; };
@@ -557,7 +557,6 @@
 		F7CA1ED720E7E3FE002CC65E /* PKDownloadButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F7CA1EC820E7E3FE002CC65E /* PKDownloadButton.m */; };
 		F7CA1ED820E7E3FE002CC65E /* PKBorderedButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F7CA1ECA20E7E3FE002CC65E /* PKBorderedButton.m */; };
 		F7CA1ED920E7E3FE002CC65E /* NSLayoutConstraint+PKDownloadButton.m in Sources */ = {isa = PBXBuildFile; fileRef = F7CA1ECE20E7E3FE002CC65E /* NSLayoutConstraint+PKDownloadButton.m */; };
-		F7CF11B52186F770008BCD24 /* NCTrashLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7CF11B42186F770008BCD24 /* NCTrashLayout.swift */; };
 		F7D423331F0596AC009C9782 /* AppIcon-076.png in Resources */ = {isa = PBXBuildFile; fileRef = F7D423161F0596AC009C9782 /* AppIcon-076.png */; };
 		F7D423341F0596AC009C9782 /* AppIcon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = F7D423171F0596AC009C9782 /* AppIcon-120.png */; };
 		F7D423351F0596AC009C9782 /* AppIcon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = F7D423181F0596AC009C9782 /* AppIcon-152.png */; };
@@ -803,7 +802,6 @@
 		F70A07C8205285FB00DC1231 /* pt-PT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "pt-PT"; path = "pt-PT.lproj/Localizable.strings"; sourceTree = "<group>"; };
 		F70A63061D5B3467004E2AA5 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libcrypto.a; sourceTree = "<group>"; };
 		F70A63071D5B3467004E2AA5 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libssl.a; sourceTree = "<group>"; };
-		F70BE25A2184B11500425587 /* NCOfflineLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCOfflineLayout.swift; sourceTree = "<group>"; };
 		F70BFC7320E0FA7C00C67599 /* NCUtility.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCUtility.swift; sourceTree = "<group>"; };
 		F70CAE381F8CF31A008125FD /* NCEndToEndEncryption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NCEndToEndEncryption.h; sourceTree = "<group>"; };
 		F70CAE391F8CF31A008125FD /* NCEndToEndEncryption.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NCEndToEndEncryption.m; sourceTree = "<group>"; };
@@ -1408,6 +1406,7 @@
 		F78ACD4521903D010088454D /* NCGridCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NCGridCell.xib; sourceTree = "<group>"; };
 		F78ACD4821903F850088454D /* NCTrashListCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCTrashListCell.swift; sourceTree = "<group>"; };
 		F78ACD4921903F850088454D /* NCTrashListCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NCTrashListCell.xib; sourceTree = "<group>"; };
+		F78ACD4E2190440D0088454D /* NCLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCLayout.swift; sourceTree = "<group>"; };
 		F78BFEDE1D31126B00E513CF /* MainInterface.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = MainInterface.storyboard; sourceTree = "<group>"; };
 		F78D6F461F0B7CB9002F9619 /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/Localizable.strings"; sourceTree = "<group>"; };
 		F78D6F4D1F0B7CE4002F9619 /* nb-NO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "nb-NO"; path = "nb-NO.lproj/Localizable.strings"; sourceTree = "<group>"; };
@@ -1512,7 +1511,6 @@
 		F7CD0FFA1C8DDA7D006520C5 /* CCSharePermissionOC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCSharePermissionOC.m; sourceTree = "<group>"; };
 		F7CE8AFA1DC1F8D8009CAE48 /* Nextcloud.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Nextcloud.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		F7CE8AFB1DC1F8D8009CAE48 /* Share.appex */ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension"; includeInIndex = 0; path = Share.appex; sourceTree = BUILT_PRODUCTS_DIR; };
-		F7CF11B42186F770008BCD24 /* NCTrashLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCTrashLayout.swift; sourceTree = "<group>"; };
 		F7D02A461C5F9E4400D6F972 /* CCMove.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCMove.h; sourceTree = "<group>"; };
 		F7D02A471C5F9E4400D6F972 /* CCMove.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CCMove.m; sourceTree = "<group>"; };
 		F7D02A481C5F9E4400D6F972 /* CCMove.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = CCMove.storyboard; sourceTree = "<group>"; };
@@ -1850,6 +1848,7 @@
 		F70211F31BAC56E9003FC03E /* Main */ = {
 			isa = PBXGroup;
 			children = (
+				F78ACD4D219043E70088454D /* Layout */,
 				F78ACD3E21903BA20088454D /* Cell */,
 				F70211FA1BAC56E9003FC03E /* CCMain.h */,
 				F70211FB1BAC56E9003FC03E /* CCMain.m */,
@@ -2144,7 +2143,6 @@
 			children = (
 				F7381EDE218218C9000B1560 /* NCOffline.storyboard */,
 				F7381EDA218218C9000B1560 /* NCOffline.swift */,
-				F70BE25A2184B11500425587 /* NCOfflineLayout.swift */,
 				F7632FD521836A3F00721B71 /* Section */,
 			);
 			path = Offline;
@@ -2967,12 +2965,19 @@
 			path = Cell;
 			sourceTree = "<group>";
 		};
+		F78ACD4D219043E70088454D /* Layout */ = {
+			isa = PBXGroup;
+			children = (
+				F78ACD4E2190440D0088454D /* NCLayout.swift */,
+			);
+			path = Layout;
+			sourceTree = "<group>";
+		};
 		F78F74322163753B00C2ADAD /* Trash */ = {
 			isa = PBXGroup;
 			children = (
 				F78F74332163757000C2ADAD /* NCTrash.storyboard */,
 				F78F74352163781100C2ADAD /* NCTrash.swift */,
-				F7CF11B42186F770008BCD24 /* NCTrashLayout.swift */,
 				F78ACD4721903F850088454D /* Cell */,
 				F7632FC32183667400721B71 /* Section */,
 			);
@@ -4200,7 +4205,6 @@
 				F78ACD4021903CC20088454D /* NCGridCell.swift in Sources */,
 				F762CB041EACB66200B38484 /* XLFormSwitchCell.m in Sources */,
 				F712AC9E2175E56F0061158E /* CTAssetThumbnailOverlay.m in Sources */,
-				F70BE25B2184B11500425587 /* NCOfflineLayout.swift in Sources */,
 				F73B4F0F1F470D9100BBEE4B /* nsMBCSSM.cpp in Sources */,
 				F754EECA21772B6100BB1CDF /* DropUpMenu.swift in Sources */,
 				F712ACA52175E56F0061158E /* CTAssetThumbnailView.m in Sources */,
@@ -4233,6 +4237,7 @@
 				F762CB061EACB66200B38484 /* XLFormTextViewCell.m in Sources */,
 				F78ACD4221903CE00088454D /* NCListCell.swift in Sources */,
 				F758B3E7212C4A6C00515F55 /* PDFGenerateError.swift in Sources */,
+				F78ACD4F2190440D0088454D /* NCLayout.swift in Sources */,
 				F762CB881EACB81000B38484 /* REMenuContainerView.m in Sources */,
 				F7622FBC2175FCC0000383FF /* ActionSheetMultiSelectToggleItemAppearance.swift in Sources */,
 				F7D4237F1F0596C6009C9782 /* ReaderDocumentOutline.m in Sources */,
@@ -4346,7 +4351,6 @@
 				F712ACA72175E56F0061158E /* CTAssetCollectionViewCell.m in Sources */,
 				F7A5541E204EF8AF008468EC /* TOScrollBarGestureRecognizer.m in Sources */,
 				F7622FCB2175FCC0000383FF /* ActionSheetDangerButton.swift in Sources */,
-				F7CF11B52186F770008BCD24 /* NCTrashLayout.swift in Sources */,
 				F758B452212C516300515F55 /* Quadrilateral.swift in Sources */,
 				F712AC952175E56F0061158E /* CTAssetScrollView.m in Sources */,
 				F70022E61EC4C9100080073F /* OCXMLServerErrorsParser.m in Sources */,

+ 6 - 6
iOSClient/Offline/NCOfflineLayout.swift → iOSClient/Main/Layout/NCLayout.swift

@@ -1,8 +1,8 @@
 //
-//  NCOfflineLayout.swift
+//  NCLayout.swift
 //  Nextcloud
 //
-//  Created by Marino Faggiana on 27/10/2018.
+//  Created by Marino Faggiana on 05/11/2018.
 //  Copyright © 2018 Marino Faggiana. All rights reserved.
 //
 //  Author Marino Faggiana <m.faggiana@twsweb.it>
@@ -23,7 +23,7 @@
 
 import Foundation
 
-class NCListLayoutOffline: UICollectionViewFlowLayout {
+class NCListLayout: UICollectionViewFlowLayout {
     
     let itemHeight: CGFloat = 60
     
@@ -31,7 +31,7 @@ class NCListLayoutOffline: UICollectionViewFlowLayout {
         super.init()
         
         sectionHeadersPinToVisibleBounds = false
-
+        
         minimumInteritemSpacing = 0
         minimumLineSpacing = 1
         
@@ -63,7 +63,7 @@ class NCListLayoutOffline: UICollectionViewFlowLayout {
     }
 }
 
-class NCGridLayoutOffline: UICollectionViewFlowLayout {
+class NCGridLayout: UICollectionViewFlowLayout {
     
     let heightLabelPlusButton: CGFloat = 45
     let preferenceWidth: CGFloat = 110
@@ -73,7 +73,7 @@ class NCGridLayoutOffline: UICollectionViewFlowLayout {
         super.init()
         
         sectionHeadersPinToVisibleBounds = false
-
+        
         minimumInteritemSpacing = 1
         minimumLineSpacing = 1
         

+ 4 - 4
iOSClient/Offline/NCOffline.swift

@@ -42,8 +42,8 @@ class NCOffline: UIViewController ,UICollectionViewDataSource, UICollectionViewD
     private var datasourceGroupBy = ""
     private var datasourceDirectoryOnTop = false
     
-    private var listLayout: NCListLayoutOffline!
-    private var gridLayout: NCGridLayoutOffline!
+    private var listLayout: NCListLayout!
+    private var gridLayout: NCGridLayout!
     
     private var actionSheet: ActionSheet?
     
@@ -71,8 +71,8 @@ class NCOffline: UIViewController ,UICollectionViewDataSource, UICollectionViewD
         
         collectionView.alwaysBounceVertical = true
 
-        listLayout = NCListLayoutOffline()
-        gridLayout = NCGridLayoutOffline()
+        listLayout = NCListLayout()
+        gridLayout = NCGridLayout()
         
         // Add Refresh Control
         if #available(iOS 10.0, *) {

+ 0 - 53
iOSClient/Trash/Cell/NCTrashGridCell.swift

@@ -1,53 +0,0 @@
-//
-//  NCTrashGridCell.swift
-//  Nextcloud
-//
-//  Created by Marino Faggiana on 08/10/2018.
-//  Copyright © 2018 Marino Faggiana. All rights reserved.
-//
-//  Author Marino Faggiana <m.faggiana@twsweb.it>
-//
-//  This program is free software: you can redistribute it and/or modify
-//  it under the terms of the GNU General Public License as published by
-//  the Free Software Foundation, either version 3 of the License, or
-//  (at your option) any later version.
-//
-//  This program is distributed in the hope that it will be useful,
-//  but WITHOUT ANY WARRANTY; without even the implied warranty of
-//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-//  GNU General Public License for more details.
-//
-//  You should have received a copy of the GNU General Public License
-//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-//
-
-import Foundation
-import UIKit
-
-class NCTrashGridCell: UICollectionViewCell {
-    
-    @IBOutlet weak var imageItem: UIImageView!
-    @IBOutlet weak var imageSelect: UIImageView!
-    @IBOutlet weak var labelTitle: UILabel!
-    @IBOutlet weak var imageMore: UIImageView!
-    @IBOutlet weak var buttonMoreGrid: UIButton!
-
-    var delegate: NCTrashGridCellDelegate?
-    
-    var fileID = ""
-    var indexPath = IndexPath()
-
-    override func awakeFromNib() {
-        super.awakeFromNib()
-       
-        imageMore.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "more"), multiplier: 2, color: NCBrandColor.sharedInstance.optionItem)
-    }
-    
-    @IBAction func touchUpInsideMoreGrid(_ sender: Any) {
-        delegate?.tapMoreGridItem(with: fileID, sender: sender)
-    }
-}
-
-protocol NCTrashGridCellDelegate {
-    func tapMoreGridItem(with fileID: String, sender: Any)
-}

+ 0 - 84
iOSClient/Trash/Cell/NCTrashGridCell.xib

@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14313.18" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14283.14"/>
-        <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"/>
-        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="cell-grid" id="vf1-Kf-9uL" customClass="NCTrashGridCell" customModule="Nextcloud" customModuleProvider="target">
-            <rect key="frame" x="0.0" y="0.0" width="220" height="265"/>
-            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
-            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO">
-                <rect key="frame" x="0.0" y="0.0" width="220" height="265"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="5Ci-V1-hf5" userLabel="imageItem">
-                        <rect key="frame" x="0.0" y="0.0" width="220" height="220"/>
-                    </imageView>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eU3-lY-fKr" userLabel="labelTitle">
-                        <rect key="frame" x="0.0" y="220" width="220" height="14.5"/>
-                        <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                        <nil key="textColor"/>
-                        <nil key="highlightedColor"/>
-                    </label>
-                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="EJs-Ro-nbe" userLabel="buttonMoreGrid">
-                        <rect key="frame" x="95" y="234.5" width="30" height="30"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="30" id="4Ba-Uy-pX2"/>
-                            <constraint firstAttribute="width" constant="30" id="aRK-GA-Nba"/>
-                        </constraints>
-                        <connections>
-                            <action selector="touchUpInsideMoreGrid:" destination="vf1-Kf-9uL" eventType="touchUpInside" id="bg0-Yq-0J6"/>
-                        </connections>
-                    </button>
-                    <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="3sA-NC-kIg" userLabel="imageMore">
-                        <rect key="frame" x="100" y="239.5" width="20" height="20"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="20" id="hoH-4o-Tff"/>
-                            <constraint firstAttribute="height" constant="20" id="vGK-h7-x3M"/>
-                        </constraints>
-                    </imageView>
-                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="DHy-Up-3Bh" userLabel="imageSelect">
-                        <rect key="frame" x="192" y="192" width="25" height="25"/>
-                        <constraints>
-                            <constraint firstAttribute="height" constant="25" id="SoZ-J3-98x"/>
-                            <constraint firstAttribute="width" constant="25" id="cZG-gx-gwt"/>
-                        </constraints>
-                    </imageView>
-                </subviews>
-            </view>
-            <constraints>
-                <constraint firstItem="eU3-lY-fKr" firstAttribute="top" secondItem="5Ci-V1-hf5" secondAttribute="bottom" id="4Yq-Nh-z1l"/>
-                <constraint firstItem="DHy-Up-3Bh" firstAttribute="top" secondItem="5Ci-V1-hf5" secondAttribute="bottom" constant="-28" id="I68-jJ-Ea7"/>
-                <constraint firstItem="VXh-sQ-LeX" firstAttribute="trailing" secondItem="eU3-lY-fKr" secondAttribute="trailing" id="Lu1-AM-kPq"/>
-                <constraint firstItem="5Ci-V1-hf5" firstAttribute="top" secondItem="VXh-sQ-LeX" secondAttribute="top" id="Ouj-ZD-UFm"/>
-                <constraint firstItem="VXh-sQ-LeX" firstAttribute="trailing" secondItem="5Ci-V1-hf5" secondAttribute="trailing" id="cHT-cP-NN6"/>
-                <constraint firstItem="VXh-sQ-LeX" firstAttribute="bottom" secondItem="5Ci-V1-hf5" secondAttribute="bottom" constant="45" id="eEC-eB-alE"/>
-                <constraint firstItem="eU3-lY-fKr" firstAttribute="leading" secondItem="VXh-sQ-LeX" secondAttribute="leading" id="gZe-FC-8XQ"/>
-                <constraint firstItem="DHy-Up-3Bh" firstAttribute="leading" secondItem="5Ci-V1-hf5" secondAttribute="trailing" constant="-28" id="ib0-sc-DXe"/>
-                <constraint firstItem="5Ci-V1-hf5" firstAttribute="leading" secondItem="VXh-sQ-LeX" secondAttribute="leading" id="qT3-WD-iTV"/>
-                <constraint firstItem="3sA-NC-kIg" firstAttribute="centerY" secondItem="EJs-Ro-nbe" secondAttribute="centerY" id="r4I-Ey-m5L"/>
-                <constraint firstItem="EJs-Ro-nbe" firstAttribute="top" secondItem="eU3-lY-fKr" secondAttribute="bottom" id="uL8-ea-AWa"/>
-                <constraint firstItem="EJs-Ro-nbe" firstAttribute="centerX" secondItem="VXh-sQ-LeX" secondAttribute="centerX" id="vNm-qK-cIn"/>
-                <constraint firstItem="3sA-NC-kIg" firstAttribute="centerX" secondItem="EJs-Ro-nbe" secondAttribute="centerX" id="xIf-Ba-1CZ"/>
-            </constraints>
-            <viewLayoutGuide key="safeArea" id="VXh-sQ-LeX"/>
-            <size key="customSize" width="220" height="260"/>
-            <connections>
-                <outlet property="buttonMoreGrid" destination="EJs-Ro-nbe" id="sUc-vE-XKf"/>
-                <outlet property="imageItem" destination="5Ci-V1-hf5" id="xky-Nw-NUb"/>
-                <outlet property="imageMore" destination="3sA-NC-kIg" id="yZE-cI-zm0"/>
-                <outlet property="imageSelect" destination="DHy-Up-3Bh" id="mo9-rP-P4I"/>
-                <outlet property="labelTitle" destination="eU3-lY-fKr" id="0P7-yM-Asb"/>
-            </connections>
-            <point key="canvasLocation" x="88" y="141.67916041979012"/>
-        </collectionViewCell>
-    </objects>
-</document>

+ 4 - 4
iOSClient/Trash/NCTrash.swift

@@ -40,8 +40,8 @@ class NCTrash: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
     private var datasourceSorted = ""
     private var datasourceAscending = true
     
-    private var listLayout: NCListLayoutTrash!
-    private var gridLayout: NCGridLayoutTrash!
+    private var listLayout: NCListLayout!
+    private var gridLayout: NCGridLayout!
     
     private var actionSheet: ActionSheet?
 
@@ -62,8 +62,8 @@ class NCTrash: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
 
         collectionView.alwaysBounceVertical = true
 
-        listLayout = NCListLayoutTrash()
-        gridLayout = NCGridLayoutTrash()
+        listLayout = NCListLayout()
+        gridLayout = NCGridLayout()
         
         // Add Refresh Control
         if #available(iOS 10.0, *) {

+ 0 - 95
iOSClient/Trash/NCTrashLayout.swift

@@ -1,95 +0,0 @@
-
-//
-//  NCOfflineLayout.swift
-//  Nextcloud
-//
-//  Created by Marino Faggiana on 29/10/2018.
-//  Copyright © 2018 TWS. All rights reserved.
-//
-
-import Foundation
-
-class NCListLayoutTrash: UICollectionViewFlowLayout {
-    
-    let itemHeight: CGFloat = 60
-    
-    override init() {
-        super.init()
-        
-        sectionHeadersPinToVisibleBounds = false
-        
-        minimumInteritemSpacing = 0
-        minimumLineSpacing = 1
-        
-        self.scrollDirection = .vertical
-        self.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0)
-    }
-    
-    required init?(coder aDecoder: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
-    }
-    
-    override var itemSize: CGSize {
-        get {
-            if let collectionView = collectionView {
-                let itemWidth: CGFloat = collectionView.frame.width
-                return CGSize(width: itemWidth, height: self.itemHeight)
-            }
-            
-            // Default fallback
-            return CGSize(width: 100, height: 100)
-        }
-        set {
-            super.itemSize = newValue
-        }
-    }
-    
-    override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint {
-        return proposedContentOffset
-    }
-}
-
-class NCGridLayoutTrash: UICollectionViewFlowLayout {
-    
-    let heightLabelPlusButton: CGFloat = 45
-    let preferenceWidth: CGFloat = 110
-    let marginLeftRight: CGFloat = 5
-    
-    override init() {
-        super.init()
-        
-        sectionHeadersPinToVisibleBounds = false
-        
-        minimumInteritemSpacing = 1
-        minimumLineSpacing = 1
-        
-        self.scrollDirection = .vertical
-        self.sectionInset = UIEdgeInsets(top: 10, left: marginLeftRight, bottom: 10, right:  marginLeftRight)
-    }
-    
-    required init?(coder aDecoder: NSCoder) {
-        fatalError("init(coder:) has not been implemented")
-    }
-    
-    override var itemSize: CGSize {
-        get {
-            if let collectionView = collectionView {
-                
-                let numItems: Int = Int(collectionView.frame.width / preferenceWidth)
-                let itemWidth: CGFloat = (collectionView.frame.width - (marginLeftRight * 2) - CGFloat(numItems)) / CGFloat(numItems)
-                let itemHeight: CGFloat = itemWidth + heightLabelPlusButton
-                return CGSize(width: itemWidth, height: itemHeight)
-            }
-            
-            // Default fallback
-            return CGSize(width: 100, height: 100)
-        }
-        set {
-            super.itemSize = newValue
-        }
-    }
-    
-    override func targetContentOffset(forProposedContentOffset proposedContentOffset: CGPoint) -> CGPoint {
-        return proposedContentOffset
-    }
-}