diff options
author | marinofaggiana <marino@marinofaggiana.com> | 2020-08-17 16:32:52 +0300 |
---|---|---|
committer | marinofaggiana <marino@marinofaggiana.com> | 2020-08-17 16:32:52 +0300 |
commit | 4811dfa905ca4aae2337844c188b9d5473f7423e (patch) | |
tree | 4654b81fec810771b297aab8b154355d96245d1f /iOSClient/Diagnostics | |
parent | 76101878f3ee40a5ff1e8a0faf9b4795f5bea955 (diff) |
coding
Diffstat (limited to 'iOSClient/Diagnostics')
-rw-r--r-- | iOSClient/Diagnostics/NCDiagnosticViewController.storyboard | 614 | ||||
-rw-r--r-- | iOSClient/Diagnostics/NCDiagnosticViewController.swift | 308 |
2 files changed, 922 insertions, 0 deletions
diff --git a/iOSClient/Diagnostics/NCDiagnosticViewController.storyboard b/iOSClient/Diagnostics/NCDiagnosticViewController.storyboard new file mode 100644 index 000000000..ff7c8b8a5 --- /dev/null +++ b/iOSClient/Diagnostics/NCDiagnosticViewController.storyboard @@ -0,0 +1,614 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097.2" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="vTK-Er-kbZ"> + <device id="retina6_1" orientation="portrait" appearance="light"/> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/> + <capability name="Safe area layout guides" minToolsVersion="9.0"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <scenes> + <!--Diagnostic View Controller--> + <scene sceneID="UF0-FW-gHK"> + <objects> + <viewController id="7oH-vf-YqN" customClass="NCDiagnosticViewController" customModule="Nextcloud" customModuleProvider="target" sceneMemberID="viewController"> + <view key="view" contentMode="scaleToFill" id="Aja-Mn-6Wc"> + <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hTE-ys-qsF"> + <rect key="frame" x="0.0" y="88" width="414" height="774"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Sms-Ez-fLO" userLabel="View Capabilities"> + <rect key="frame" x="5" y="5" width="404" height="500"/> + <subviews> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jdW-oZ-cH8" userLabel="FileSharing"> + <rect key="frame" x="0.0" y="0.0" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="share" translatesAutoresizingMaskIntoConstraints="NO" id="G9c-Nd-Ikl"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="width" constant="30" id="2jt-3Q-W9U"/> + <constraint firstAttribute="height" constant="30" id="qw0-LB-a0S"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="File sharing" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Olg-V3-URE"> + <rect key="frame" x="40" y="16" width="234" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SbT-rU-lJ8"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="Yf6-Er-ibu"/> + <constraint firstAttribute="width" constant="120" id="bqY-hB-VuU"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstAttribute="height" constant="50" id="486-j7-SKp"/> + <constraint firstItem="SbT-rU-lJ8" firstAttribute="centerY" secondItem="jdW-oZ-cH8" secondAttribute="centerY" id="4Ao-MF-e1N"/> + <constraint firstItem="G9c-Nd-Ikl" firstAttribute="leading" secondItem="jdW-oZ-cH8" secondAttribute="leading" id="Bnm-Im-c7M"/> + <constraint firstItem="G9c-Nd-Ikl" firstAttribute="centerY" secondItem="jdW-oZ-cH8" secondAttribute="centerY" id="Jxk-cZ-ezx"/> + <constraint firstItem="Olg-V3-URE" firstAttribute="centerY" secondItem="jdW-oZ-cH8" secondAttribute="centerY" id="RXs-zW-MT4"/> + <constraint firstItem="Olg-V3-URE" firstAttribute="leading" secondItem="G9c-Nd-Ikl" secondAttribute="trailing" constant="10" id="XZo-QH-gpr"/> + <constraint firstItem="SbT-rU-lJ8" firstAttribute="leading" secondItem="Olg-V3-URE" secondAttribute="trailing" constant="5" id="wW2-QT-gGz"/> + <constraint firstAttribute="trailing" secondItem="SbT-rU-lJ8" secondAttribute="trailing" constant="5" id="z63-kb-OIf"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="mSC-JU-xuk" userLabel="external Site"> + <rect key="frame" x="0.0" y="50" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="externalsites" translatesAutoresizingMaskIntoConstraints="NO" id="JWO-C0-32L"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="cuQ-hf-WGC"/> + <constraint firstAttribute="width" constant="30" id="hun-lk-Hyf"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="External site" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="g2c-tp-kiW"> + <rect key="frame" x="40" y="16" width="234" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ivv-te-kaP"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="width" constant="120" id="KRE-Ez-UvG"/> + <constraint firstAttribute="height" constant="25" id="xhy-Qg-h6R"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="ivv-te-kaP" secondAttribute="trailing" constant="5" id="4K1-tJ-Cun"/> + <constraint firstItem="JWO-C0-32L" firstAttribute="centerY" secondItem="mSC-JU-xuk" secondAttribute="centerY" id="FLD-bX-ETy"/> + <constraint firstItem="ivv-te-kaP" firstAttribute="leading" secondItem="g2c-tp-kiW" secondAttribute="trailing" constant="5" id="VuF-Q1-hEp"/> + <constraint firstItem="g2c-tp-kiW" firstAttribute="leading" secondItem="JWO-C0-32L" secondAttribute="trailing" constant="10" id="fWw-rx-nFV"/> + <constraint firstAttribute="height" constant="50" id="pLI-AP-DaV"/> + <constraint firstItem="JWO-C0-32L" firstAttribute="leading" secondItem="mSC-JU-xuk" secondAttribute="leading" id="pyK-ZG-7fZ"/> + <constraint firstItem="g2c-tp-kiW" firstAttribute="centerY" secondItem="mSC-JU-xuk" secondAttribute="centerY" id="rtm-fS-6ec"/> + <constraint firstItem="ivv-te-kaP" firstAttribute="centerY" secondItem="mSC-JU-xuk" secondAttribute="centerY" id="wCm-7E-nJ3"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nVq-4i-FNy" userLabel="end to end encryption"> + <rect key="frame" x="0.0" y="100" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="lock" translatesAutoresizingMaskIntoConstraints="NO" id="S7m-5Z-ktw"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="edD-t9-G1B"/> + <constraint firstAttribute="width" constant="30" id="nPu-CX-Ilf"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="End-to-End Encryption" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5cZ-yL-XdC"> + <rect key="frame" x="40" y="16" width="234" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M82-8U-M4Q"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="L0G-30-siH"/> + <constraint firstAttribute="width" constant="120" id="z0Z-Hz-edq"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="5cZ-yL-XdC" firstAttribute="leading" secondItem="S7m-5Z-ktw" secondAttribute="trailing" constant="10" id="HOl-vJ-SDL"/> + <constraint firstAttribute="height" constant="50" id="X1d-TH-FfQ"/> + <constraint firstItem="S7m-5Z-ktw" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="cUj-Mb-Gza"/> + <constraint firstItem="5cZ-yL-XdC" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="fKw-6d-s4Z"/> + <constraint firstItem="M82-8U-M4Q" firstAttribute="centerY" secondItem="nVq-4i-FNy" secondAttribute="centerY" id="nnA-zZ-9te"/> + <constraint firstItem="S7m-5Z-ktw" firstAttribute="leading" secondItem="nVq-4i-FNy" secondAttribute="leading" id="sX7-dg-Goj"/> + <constraint firstItem="M82-8U-M4Q" firstAttribute="leading" secondItem="5cZ-yL-XdC" secondAttribute="trailing" constant="5" id="vjo-Od-7Gr"/> + <constraint firstAttribute="trailing" secondItem="M82-8U-M4Q" secondAttribute="trailing" constant="5" id="zg8-Za-Rla"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="00l-HL-Ljt" userLabel="Paginated file listing"> + <rect key="frame" x="0.0" y="150" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="application" translatesAutoresizingMaskIntoConstraints="NO" id="itj-Iy-gT3"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="icz-0x-wCa"/> + <constraint firstAttribute="width" constant="30" id="xkh-qv-Wab"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Paginated file listing" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I1b-pS-pZW"> + <rect key="frame" x="40" y="16" width="138" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zZ2-UK-v5K"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="width" constant="120" id="aKE-lB-GjU"/> + <constraint firstAttribute="height" constant="25" id="gme-gx-kFL"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="zZ2-UK-v5K" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="0yf-5K-RI8"/> + <constraint firstItem="itj-Iy-gT3" firstAttribute="leading" secondItem="00l-HL-Ljt" secondAttribute="leading" id="6Tv-PY-cGe"/> + <constraint firstItem="I1b-pS-pZW" firstAttribute="leading" secondItem="itj-Iy-gT3" secondAttribute="trailing" constant="10" id="Bau-hD-p3I"/> + <constraint firstAttribute="trailing" secondItem="zZ2-UK-v5K" secondAttribute="trailing" constant="5" id="KVd-kr-ad5"/> + <constraint firstItem="I1b-pS-pZW" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="M4w-pF-R15"/> + <constraint firstAttribute="height" constant="50" id="VGW-NP-Uc9"/> + <constraint firstItem="itj-Iy-gT3" firstAttribute="centerY" secondItem="00l-HL-Ljt" secondAttribute="centerY" id="Xrk-d6-YVH"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="lGp-bh-Ysz" userLabel="Activity"> + <rect key="frame" x="0.0" y="200" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="activity" translatesAutoresizingMaskIntoConstraints="NO" id="tl5-S1-p9X"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="Hb3-9B-Zsk"/> + <constraint firstAttribute="width" constant="30" id="Zmw-Ck-dGs"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Activity" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SIY-IW-w6O"> + <rect key="frame" x="40" y="16" width="51" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dyb-1O-dIA"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="C3a-Ec-xJv"/> + <constraint firstAttribute="width" constant="120" id="IB5-Hq-R4j"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="dyb-1O-dIA" secondAttribute="trailing" constant="5" id="0fh-7J-NUN"/> + <constraint firstAttribute="height" constant="50" id="OMI-4q-89Q"/> + <constraint firstItem="dyb-1O-dIA" firstAttribute="centerY" secondItem="lGp-bh-Ysz" secondAttribute="centerY" id="OPb-RB-lic"/> + <constraint firstItem="SIY-IW-w6O" firstAttribute="leading" secondItem="tl5-S1-p9X" secondAttribute="trailing" constant="10" id="Q9g-cC-zme"/> + <constraint firstItem="tl5-S1-p9X" firstAttribute="leading" secondItem="lGp-bh-Ysz" secondAttribute="leading" id="cFK-we-PT6"/> + <constraint firstItem="tl5-S1-p9X" firstAttribute="centerY" secondItem="lGp-bh-Ysz" secondAttribute="centerY" id="fyW-bz-dN0"/> + <constraint firstItem="SIY-IW-w6O" firstAttribute="centerY" secondItem="lGp-bh-Ysz" secondAttribute="centerY" id="xCh-5R-1WK"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UPC-L1-VKj" userLabel="Notification"> + <rect key="frame" x="0.0" y="250" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="notification" translatesAutoresizingMaskIntoConstraints="NO" id="cgb-3g-trc"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="3RZ-6t-QNW"/> + <constraint firstAttribute="width" constant="30" id="Rpr-ox-Bhc"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Notification" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="W6x-fO-A6L"> + <rect key="frame" x="40" y="16" width="79" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WAg-Hw-sQS"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="NEz-tu-8Rk"/> + <constraint firstAttribute="width" constant="120" id="zjs-JE-2aB"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="cgb-3g-trc" firstAttribute="centerY" secondItem="UPC-L1-VKj" secondAttribute="centerY" id="28g-Vd-Pdh"/> + <constraint firstItem="W6x-fO-A6L" firstAttribute="centerY" secondItem="UPC-L1-VKj" secondAttribute="centerY" id="Ah1-f7-KrB"/> + <constraint firstAttribute="trailing" secondItem="WAg-Hw-sQS" secondAttribute="trailing" constant="5" id="BpJ-RQ-B1k"/> + <constraint firstItem="WAg-Hw-sQS" firstAttribute="centerY" secondItem="UPC-L1-VKj" secondAttribute="centerY" id="OGo-Ns-IU0"/> + <constraint firstAttribute="height" constant="50" id="VOs-so-anE"/> + <constraint firstItem="cgb-3g-trc" firstAttribute="leading" secondItem="UPC-L1-VKj" secondAttribute="leading" id="e2z-tZ-5bX"/> + <constraint firstItem="W6x-fO-A6L" firstAttribute="leading" secondItem="cgb-3g-trc" secondAttribute="trailing" constant="10" id="zGE-fg-e3h"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8nf-zJ-Qas" userLabel="Notification"> + <rect key="frame" x="0.0" y="300" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="delete" translatesAutoresizingMaskIntoConstraints="NO" id="8Zc-9W-n27"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="width" constant="30" id="GE1-Yd-rOr"/> + <constraint firstAttribute="height" constant="30" id="aQW-Uy-znK"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Deleted files" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EVN-t6-jzB"> + <rect key="frame" x="40" y="16" width="85.5" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8hg-qK-qvz"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="width" constant="120" id="Ns2-PG-H7R"/> + <constraint firstAttribute="height" constant="25" id="b2x-qE-hf6"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="8Zc-9W-n27" firstAttribute="leading" secondItem="8nf-zJ-Qas" secondAttribute="leading" id="0gl-yZ-NHn"/> + <constraint firstItem="EVN-t6-jzB" firstAttribute="centerY" secondItem="8nf-zJ-Qas" secondAttribute="centerY" id="5dv-S0-9bY"/> + <constraint firstItem="8Zc-9W-n27" firstAttribute="centerY" secondItem="8nf-zJ-Qas" secondAttribute="centerY" id="9H1-hH-E2o"/> + <constraint firstAttribute="height" constant="50" id="NJt-Ob-qAJ"/> + <constraint firstAttribute="trailing" secondItem="8hg-qK-qvz" secondAttribute="trailing" constant="5" id="VS2-55-BeI"/> + <constraint firstItem="8hg-qK-qvz" firstAttribute="centerY" secondItem="8nf-zJ-Qas" secondAttribute="centerY" id="ceB-3o-Qpt"/> + <constraint firstItem="EVN-t6-jzB" firstAttribute="leading" secondItem="8Zc-9W-n27" secondAttribute="trailing" constant="10" id="rDk-Z6-y2x"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZNB-jF-9zg" userLabel="direct editing"> + <rect key="frame" x="0.0" y="350" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="text" translatesAutoresizingMaskIntoConstraints="NO" id="iCB-2A-phO"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="width" constant="30" id="Ww6-2V-i4r"/> + <constraint firstAttribute="height" constant="30" id="kdP-OK-U2a"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Text" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="FOv-Ld-QFB"> + <rect key="frame" x="40" y="16" width="29" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uiz-H8-p3D"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="Eqf-R1-eKB"/> + <constraint firstAttribute="width" constant="120" id="i0a-tu-JgU"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="uiz-H8-p3D" firstAttribute="centerY" secondItem="ZNB-jF-9zg" secondAttribute="centerY" id="0dR-3w-1sQ"/> + <constraint firstAttribute="height" constant="50" id="4UX-0n-U4U"/> + <constraint firstAttribute="trailing" secondItem="uiz-H8-p3D" secondAttribute="trailing" constant="5" id="Rma-z3-oCf"/> + <constraint firstItem="iCB-2A-phO" firstAttribute="leading" secondItem="ZNB-jF-9zg" secondAttribute="leading" id="cF1-co-eQB"/> + <constraint firstItem="iCB-2A-phO" firstAttribute="centerY" secondItem="ZNB-jF-9zg" secondAttribute="centerY" id="gSQ-hN-iBx"/> + <constraint firstItem="FOv-Ld-QFB" firstAttribute="leading" secondItem="iCB-2A-phO" secondAttribute="trailing" constant="10" id="kiE-oZ-ky6"/> + <constraint firstItem="FOv-Ld-QFB" firstAttribute="centerY" secondItem="ZNB-jF-9zg" secondAttribute="centerY" id="vHG-Fk-kEj"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dhs-06-3RT" userLabel="Collabora"> + <rect key="frame" x="0.0" y="400" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="collabora" translatesAutoresizingMaskIntoConstraints="NO" id="GXZ-Rj-WCE"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="kcH-Br-yZB"/> + <constraint firstAttribute="width" constant="30" id="ros-hl-Jec"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Collabora" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IJ7-i8-AvX"> + <rect key="frame" x="40" y="16" width="65.5" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="30w-oC-gZl"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="E6x-vP-Fs9"/> + <constraint firstAttribute="width" constant="120" id="nGc-gZ-jaG"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="30w-oC-gZl" firstAttribute="centerY" secondItem="dhs-06-3RT" secondAttribute="centerY" id="0G9-Hl-zZn"/> + <constraint firstItem="IJ7-i8-AvX" firstAttribute="centerY" secondItem="dhs-06-3RT" secondAttribute="centerY" id="8Rv-kP-XDs"/> + <constraint firstItem="GXZ-Rj-WCE" firstAttribute="centerY" secondItem="dhs-06-3RT" secondAttribute="centerY" id="DiJ-1E-bIC"/> + <constraint firstItem="IJ7-i8-AvX" firstAttribute="leading" secondItem="GXZ-Rj-WCE" secondAttribute="trailing" constant="10" id="M7l-uB-RhH"/> + <constraint firstAttribute="trailing" secondItem="30w-oC-gZl" secondAttribute="trailing" constant="5" id="XrQ-4B-UnP"/> + <constraint firstItem="GXZ-Rj-WCE" firstAttribute="leading" secondItem="dhs-06-3RT" secondAttribute="leading" id="lCd-tJ-nvi"/> + <constraint firstAttribute="height" constant="50" id="xgw-IO-enA"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="LTt-2C-rPb" userLabel="OnlyOffice"> + <rect key="frame" x="0.0" y="450" width="404" height="50"/> + <subviews> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="onlyoffice" translatesAutoresizingMaskIntoConstraints="NO" id="xvv-h0-9bM"> + <rect key="frame" x="0.0" y="10" width="30" height="30"/> + <constraints> + <constraint firstAttribute="width" constant="30" id="bUx-KW-ZGu"/> + <constraint firstAttribute="height" constant="30" id="wKp-TM-dCw"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="ONLYOFFICE" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Tq3-cS-wup"> + <rect key="frame" x="40" y="16" width="89.5" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Available" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ucV-YG-5ht"> + <rect key="frame" x="279" y="12.5" width="120" height="25"/> + <constraints> + <constraint firstAttribute="height" constant="25" id="8Xe-4g-RxY"/> + <constraint firstAttribute="width" constant="120" id="m3G-CE-aso"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="12"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="Tq3-cS-wup" firstAttribute="leading" secondItem="xvv-h0-9bM" secondAttribute="trailing" constant="10" id="G34-W8-fhW"/> + <constraint firstAttribute="height" constant="50" id="Glo-gX-j6q"/> + <constraint firstItem="xvv-h0-9bM" firstAttribute="centerY" secondItem="LTt-2C-rPb" secondAttribute="centerY" id="mYd-TV-lVh"/> + <constraint firstItem="ucV-YG-5ht" firstAttribute="centerY" secondItem="LTt-2C-rPb" secondAttribute="centerY" id="qmu-3J-9Xj"/> + <constraint firstAttribute="trailing" secondItem="ucV-YG-5ht" secondAttribute="trailing" constant="5" id="tva-Qw-rYM"/> + <constraint firstItem="xvv-h0-9bM" firstAttribute="leading" secondItem="LTt-2C-rPb" secondAttribute="leading" id="vkH-IQ-IUb"/> + <constraint firstItem="Tq3-cS-wup" firstAttribute="centerY" secondItem="LTt-2C-rPb" secondAttribute="centerY" id="xlI-tP-AMe"/> + </constraints> + </view> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="lGp-bh-Ysz" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="0qE-PV-O2f"/> + <constraint firstAttribute="trailing" secondItem="8nf-zJ-Qas" secondAttribute="trailing" id="0vv-HQ-Qqx"/> + <constraint firstAttribute="height" constant="500" id="6nU-Cb-MzH"/> + <constraint firstAttribute="trailing" secondItem="00l-HL-Ljt" secondAttribute="trailing" id="8KN-x1-W0c"/> + <constraint firstItem="mSC-JU-xuk" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="9Nq-du-3ah"/> + <constraint firstItem="lGp-bh-Ysz" firstAttribute="top" secondItem="00l-HL-Ljt" secondAttribute="bottom" id="Feq-pd-Vch"/> + <constraint firstItem="ZNB-jF-9zg" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="GdE-lt-vZC"/> + <constraint firstAttribute="trailing" secondItem="nVq-4i-FNy" secondAttribute="trailing" id="HSG-Ia-fYc"/> + <constraint firstItem="LTt-2C-rPb" firstAttribute="top" secondItem="dhs-06-3RT" secondAttribute="bottom" id="Nm6-NH-AC9"/> + <constraint firstItem="UPC-L1-VKj" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="QcN-sd-pHM"/> + <constraint firstItem="LTt-2C-rPb" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="SUy-Mo-oAO"/> + <constraint firstItem="00l-HL-Ljt" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="SkB-av-5lO"/> + <constraint firstItem="00l-HL-Ljt" firstAttribute="top" secondItem="nVq-4i-FNy" secondAttribute="bottom" id="TdY-oP-UfF"/> + <constraint firstItem="jdW-oZ-cH8" firstAttribute="top" secondItem="Sms-Ez-fLO" secondAttribute="top" id="UBW-Mx-NTs"/> + <constraint firstItem="8nf-zJ-Qas" firstAttribute="top" secondItem="UPC-L1-VKj" secondAttribute="bottom" id="UqS-Lx-6mL"/> + <constraint firstItem="dhs-06-3RT" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="UwG-6b-pEk"/> + <constraint firstItem="nVq-4i-FNy" firstAttribute="top" secondItem="mSC-JU-xuk" secondAttribute="bottom" id="VfU-sj-S9y"/> + <constraint firstAttribute="trailing" secondItem="lGp-bh-Ysz" secondAttribute="trailing" id="bUd-8w-D8k"/> + <constraint firstItem="UPC-L1-VKj" firstAttribute="top" secondItem="lGp-bh-Ysz" secondAttribute="bottom" id="br5-nz-w7h"/> + <constraint firstItem="8nf-zJ-Qas" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="dsm-XA-dZD"/> + <constraint firstItem="jdW-oZ-cH8" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="eNi-cO-UFd"/> + <constraint firstItem="nVq-4i-FNy" firstAttribute="leading" secondItem="Sms-Ez-fLO" secondAttribute="leading" id="efi-mm-hvP"/> + <constraint firstAttribute="trailing" secondItem="LTt-2C-rPb" secondAttribute="trailing" id="erZ-V1-p76"/> + <constraint firstAttribute="trailing" secondItem="UPC-L1-VKj" secondAttribute="trailing" id="f2Y-D9-fMV"/> + <constraint firstAttribute="trailing" secondItem="dhs-06-3RT" secondAttribute="trailing" id="ijj-gU-Gdk"/> + <constraint firstAttribute="trailing" secondItem="jdW-oZ-cH8" secondAttribute="trailing" id="k81-ap-Nwy"/> + <constraint firstItem="dhs-06-3RT" firstAttribute="top" secondItem="ZNB-jF-9zg" secondAttribute="bottom" id="mJv-Ta-ZbY"/> + <constraint firstAttribute="trailing" secondItem="mSC-JU-xuk" secondAttribute="trailing" id="pBU-xQ-0qV"/> + <constraint firstAttribute="trailing" secondItem="ZNB-jF-9zg" secondAttribute="trailing" id="v5H-SV-MvM"/> + <constraint firstItem="ZNB-jF-9zg" firstAttribute="top" secondItem="8nf-zJ-Qas" secondAttribute="bottom" id="w6t-hz-cPZ"/> + <constraint firstItem="mSC-JU-xuk" firstAttribute="top" secondItem="jdW-oZ-cH8" secondAttribute="bottom" id="y2u-2j-cif"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ogC-ph-Xdr" userLabel="View Link"> + <rect key="frame" x="5" y="505" width="404" height="90"/> + <subviews> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Home server" textAlignment="natural" lineBreakMode="characterWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PD5-8h-ZLm"> + <rect key="frame" x="40" y="0.0" width="359" height="40"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="hBZ-cQ-ZHg"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home" translatesAutoresizingMaskIntoConstraints="NO" id="pyf-iS-YYP"> + <rect key="frame" x="0.0" y="5" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="LkI-Fd-YBH"/> + <constraint firstAttribute="width" constant="30" id="SVh-sE-fdn"/> + </constraints> + </imageView> + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="dav" translatesAutoresizingMaskIntoConstraints="NO" id="Tlp-7L-xxK"> + <rect key="frame" x="0.0" y="50" width="30" height="30"/> + <constraints> + <constraint firstAttribute="height" constant="30" id="rLb-Wg-jyl"/> + <constraint firstAttribute="width" constant="30" id="uBn-NU-oCg"/> + </constraints> + </imageView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="DAV" textAlignment="natural" lineBreakMode="characterWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="q89-9y-xvK"> + <rect key="frame" x="40" y="45" width="359" height="40"/> + <constraints> + <constraint firstAttribute="height" constant="40" id="Y1A-ji-0GZ"/> + </constraints> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstAttribute="trailing" secondItem="PD5-8h-ZLm" secondAttribute="trailing" constant="5" id="71i-FN-PmV"/> + <constraint firstItem="q89-9y-xvK" firstAttribute="top" secondItem="PD5-8h-ZLm" secondAttribute="bottom" constant="5" id="7Fy-Hw-dJJ"/> + <constraint firstItem="pyf-iS-YYP" firstAttribute="leading" secondItem="ogC-ph-Xdr" secondAttribute="leading" id="D7Q-nx-Lcr"/> + <constraint firstAttribute="height" constant="90" id="HZv-dy-zeu"/> + <constraint firstAttribute="trailing" secondItem="q89-9y-xvK" secondAttribute="trailing" constant="5" id="Hea-W8-yyG"/> + <constraint firstItem="q89-9y-xvK" firstAttribute="leading" secondItem="Tlp-7L-xxK" secondAttribute="trailing" constant="10" id="SA4-nu-KU9"/> + <constraint firstItem="Tlp-7L-xxK" firstAttribute="top" secondItem="pyf-iS-YYP" secondAttribute="bottom" constant="15" id="evE-Ew-zMu"/> + <constraint firstItem="Tlp-7L-xxK" firstAttribute="leading" secondItem="ogC-ph-Xdr" secondAttribute="leading" id="gCa-6C-ZmV"/> + <constraint firstItem="PD5-8h-ZLm" firstAttribute="top" secondItem="ogC-ph-Xdr" secondAttribute="top" id="m3v-SO-f43"/> + <constraint firstItem="PD5-8h-ZLm" firstAttribute="leading" secondItem="pyf-iS-YYP" secondAttribute="trailing" constant="10" id="pD9-5x-n4a"/> + <constraint firstItem="pyf-iS-YYP" firstAttribute="top" secondItem="ogC-ph-Xdr" secondAttribute="top" constant="5" id="uht-S6-R6J"/> + </constraints> + </view> + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="OO4-N7-9vp" userLabel="View JSON"> + <rect key="frame" x="0.0" y="595" width="414" height="68"/> + <subviews> + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" scrollEnabled="NO" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="RIO-6X-GG1"> + <rect key="frame" x="5" y="30" width="404" height="33"/> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> + </textView> + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hqP-sH-lSo"> + <rect key="frame" x="5" y="0.0" width="404" height="18"/> + <fontDescription key="fontDescription" type="system" pointSize="15"/> + <nil key="textColor"/> + <nil key="highlightedColor"/> + </label> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="RIO-6X-GG1" firstAttribute="leading" secondItem="OO4-N7-9vp" secondAttribute="leading" constant="5" id="63w-yC-mGi"/> + <constraint firstItem="hqP-sH-lSo" firstAttribute="top" secondItem="OO4-N7-9vp" secondAttribute="top" id="7tR-gf-nae"/> + <constraint firstAttribute="trailing" secondItem="RIO-6X-GG1" secondAttribute="trailing" constant="5" id="9cj-M6-K3f"/> + <constraint firstItem="hqP-sH-lSo" firstAttribute="leading" secondItem="OO4-N7-9vp" secondAttribute="leading" constant="5" id="HXp-td-pyQ"/> + <constraint firstItem="RIO-6X-GG1" firstAttribute="top" secondItem="OO4-N7-9vp" secondAttribute="top" constant="30" id="ODH-TK-qMG"/> + <constraint firstAttribute="bottom" secondItem="RIO-6X-GG1" secondAttribute="bottom" constant="5" id="ajP-yK-idK"/> + <constraint firstAttribute="trailing" secondItem="hqP-sH-lSo" secondAttribute="trailing" constant="5" id="fLN-ek-dgd"/> + </constraints> + </view> + </subviews> + <constraints> + <constraint firstItem="ogC-ph-Xdr" firstAttribute="top" secondItem="hTE-ys-qsF" secondAttribute="top" constant="505" id="9yP-Qs-EjJ"/> + <constraint firstItem="OO4-N7-9vp" firstAttribute="top" secondItem="hTE-ys-qsF" secondAttribute="top" constant="595" id="A9O-TK-Vz6" userLabel="View JSON.top = top + 550"/> + <constraint firstAttribute="trailing" secondItem="ogC-ph-Xdr" secondAttribute="trailing" constant="5" id="JLe-vC-Oyq"/> + <constraint firstAttribute="bottom" secondItem="OO4-N7-9vp" secondAttribute="bottom" id="MpX-OZ-MDh"/> + <constraint firstItem="OO4-N7-9vp" firstAttribute="width" secondItem="hTE-ys-qsF" secondAttribute="width" id="PWW-C3-Qcw"/> + <constraint firstItem="OO4-N7-9vp" firstAttribute="leading" secondItem="hTE-ys-qsF" secondAttribute="leading" id="Q4I-CY-qdY"/> + <constraint firstAttribute="trailing" secondItem="OO4-N7-9vp" secondAttribute="trailing" id="cmw-yc-oJP"/> + <constraint firstAttribute="trailing" secondItem="Sms-Ez-fLO" secondAttribute="trailing" constant="5" id="coa-ak-YgW"/> + <constraint firstItem="ogC-ph-Xdr" firstAttribute="leading" secondItem="hTE-ys-qsF" secondAttribute="leading" constant="5" id="dBH-cz-20F"/> + <constraint firstItem="Sms-Ez-fLO" firstAttribute="leading" secondItem="hTE-ys-qsF" secondAttribute="leading" constant="5" id="rIR-0f-qtc"/> + <constraint firstItem="Sms-Ez-fLO" firstAttribute="top" secondItem="hTE-ys-qsF" secondAttribute="top" constant="5" id="tsB-Td-qaK"/> + </constraints> + </scrollView> + </subviews> + <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/> + <constraints> + <constraint firstItem="uBS-U0-Obf" firstAttribute="trailing" secondItem="hTE-ys-qsF" secondAttribute="trailing" id="CvM-Hx-Hy6"/> + <constraint firstItem="hTE-ys-qsF" firstAttribute="top" secondItem="uBS-U0-Obf" secondAttribute="top" id="Lar-wg-a7V"/> + <constraint firstItem="hTE-ys-qsF" firstAttribute="leading" secondItem="uBS-U0-Obf" secondAttribute="leading" id="Mye-Fv-DDH"/> + <constraint firstItem="uBS-U0-Obf" firstAttribute="bottom" secondItem="hTE-ys-qsF" secondAttribute="bottom" id="aJj-P3-LeK"/> + </constraints> + <viewLayoutGuide key="safeArea" id="uBS-U0-Obf"/> + </view> + <navigationItem key="navigationItem" id="fnR-ht-Muv"/> + <connections> + <outlet property="davFiles" destination="q89-9y-xvK" id="eHD-Ph-7x2"/> + <outlet property="davImage" destination="Tlp-7L-xxK" id="K25-ye-TED"/> + <outlet property="homeImage" destination="pyf-iS-YYP" id="gAh-bM-f5J"/> + <outlet property="homeServer" destination="PD5-8h-ZLm" id="Hge-8o-YY1"/> + <outlet property="imageActivity" destination="tl5-S1-p9X" id="pT5-X7-R2q"/> + <outlet property="imageCollabora" destination="GXZ-Rj-WCE" id="cOv-xH-ZKC"/> + <outlet property="imageDeletedFiles" destination="8Zc-9W-n27" id="XYP-JN-JFc"/> + <outlet property="imageEndToEndEncryption" destination="S7m-5Z-ktw" id="0Pv-Yt-YJB"/> + <outlet property="imageExternalSite" destination="JWO-C0-32L" id="JKi-n1-5IQ"/> + <outlet property="imageFileSharing" destination="G9c-Nd-Ikl" id="Wha-2g-8o0"/> + <outlet property="imageNotification" destination="cgb-3g-trc" id="fa5-99-76C"/> + <outlet property="imageOnlyOffice" destination="xvv-h0-9bM" id="tw2-is-KHy"/> + <outlet property="imagePaginatedFileListing" destination="itj-Iy-gT3" id="9Zj-fQ-eRC"/> + <outlet property="imageText" destination="iCB-2A-phO" id="uit-Ku-oOF"/> + <outlet property="statusActivity" destination="dyb-1O-dIA" id="BfC-ZI-Wcr"/> + <outlet property="statusCollabora" destination="30w-oC-gZl" id="wnj-OE-UQZ"/> + <outlet property="statusDeletedFiles" destination="8hg-qK-qvz" id="xtt-gI-H0a"/> + <outlet property="statusEndToEndEncryption" destination="M82-8U-M4Q" id="S9e-h3-GpF"/> + <outlet property="statusExternalSite" destination="ivv-te-kaP" id="qzS-eo-Dq3"/> + <outlet property="statusFileSharing" destination="SbT-rU-lJ8" id="zqA-0V-TLr"/> + <outlet property="statusNotification" destination="WAg-Hw-sQS" id="T5C-Ch-11o"/> + <outlet property="statusOnlyOffice" destination="ucV-YG-5ht" id="11e-La-p9K"/> + <outlet property="statusPaginatedFileListing" destination="zZ2-UK-v5K" id="ocu-ZZ-Ydz"/> + <outlet property="statusText" destination="uiz-H8-p3D" id="wLb-D2-MNS"/> + <outlet property="textView" destination="RIO-6X-GG1" id="lPs-Ev-hQf"/> + <outlet property="titleCapabilities" destination="hqP-sH-lSo" id="owK-UK-6Hb"/> + </connections> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="0OV-l8-tBJ" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="910.14492753623199" y="133.25892857142856"/> + </scene> + <!--Navigation Controller--> + <scene sceneID="YbF-Ed-KAp"> + <objects> + <navigationController automaticallyAdjustsScrollViewInsets="NO" id="vTK-Er-kbZ" sceneMemberID="viewController"> + <toolbarItems/> + <navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="f2L-7c-zw8"> + <rect key="frame" x="0.0" y="44" width="414" height="44"/> + <autoresizingMask key="autoresizingMask"/> + </navigationBar> + <nil name="viewControllers"/> + <connections> + <segue destination="7oH-vf-YqN" kind="relationship" relationship="rootViewController" id="ZBj-sH-5gE"/> + </connections> + </navigationController> + <placeholder placeholderIdentifier="IBFirstResponder" id="RAt-Xm-BSR" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="0.0" y="133.25892857142856"/> + </scene> + </scenes> + <resources> + <image name="activity" width="512" height="512"/> + <image name="application" width="425" height="425"/> + <image name="collabora" width="425" height="425"/> + <image name="dav" width="425" height="425"/> + <image name="delete" width="425" height="425"/> + <image name="externalsites" width="425" height="425"/> + <image name="home" width="425" height="425"/> + <image name="lock" width="300" height="300"/> + <image name="notification" width="512" height="512"/> + <image name="onlyoffice" width="425" height="425"/> + <image name="share" width="512" height="512"/> + <image name="text" width="425" height="425"/> + </resources> +</document> diff --git a/iOSClient/Diagnostics/NCDiagnosticViewController.swift b/iOSClient/Diagnostics/NCDiagnosticViewController.swift new file mode 100644 index 000000000..1e463b15f --- /dev/null +++ b/iOSClient/Diagnostics/NCDiagnosticViewController.swift @@ -0,0 +1,308 @@ +// +// NCDiagnosticViewController.swift +// Nextcloud +// +// Created by Marino Faggiana on 28/07/2020. +// Copyright © 2020 Marino Faggiana. All rights reserved. +// +// Author Marino Faggiana <marino.faggiana@nextcloud.com> +// +// 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 UIKit +import NCCommunication + +class NCDiagnosticViewController: UIViewController, UIDocumentInteractionControllerDelegate { + + @IBOutlet weak var textView: UITextView! + + @IBOutlet weak var imageFileSharing: UIImageView! + @IBOutlet weak var statusFileSharing: UILabel! + + @IBOutlet weak var imageExternalSite: UIImageView! + @IBOutlet weak var statusExternalSite: UILabel! + + @IBOutlet weak var imageEndToEndEncryption: UIImageView! + @IBOutlet weak var statusEndToEndEncryption: UILabel! + + @IBOutlet weak var imagePaginatedFileListing: UIImageView! + @IBOutlet weak var statusPaginatedFileListing: UILabel! + + @IBOutlet weak var imageActivity: UIImageView! + @IBOutlet weak var statusActivity: UILabel! + + @IBOutlet weak var imageNotification: UIImageView! + @IBOutlet weak var statusNotification: UILabel! + + @IBOutlet weak var imageDeletedFiles: UIImageView! + @IBOutlet weak var statusDeletedFiles: UILabel! + + @IBOutlet weak var imageText: UIImageView! + @IBOutlet weak var statusText: UILabel! + + @IBOutlet weak var imageCollabora: UIImageView! + @IBOutlet weak var statusCollabora: UILabel! + + @IBOutlet weak var imageOnlyOffice: UIImageView! + @IBOutlet weak var statusOnlyOffice: UILabel! + + @IBOutlet weak var homeImage: UIImageView! + @IBOutlet weak var homeServer: UILabel! + + @IBOutlet weak var davImage: UIImageView! + @IBOutlet weak var davFiles: UILabel! + + @IBOutlet weak var titleCapabilities: UILabel! + + + private let appDelegate = UIApplication.shared.delegate as! AppDelegate + private var documentController: UIDocumentInteractionController? + private var account: String = "" + private var capabilitiesText = "" + //private var timer: Timer? + + override func viewDidLoad() { + super.viewDidLoad() + + self.title = NSLocalizedString("_diagnostics_", comment: "") + + let shareImage = CCGraphics.changeThemingColorImage(UIImage.init(named: "shareFill"), width: 50, height: 50, color: .gray) + self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: shareImage, style: UIBarButtonItem.Style.plain, target: self, action: #selector(share)) + self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_done_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(close)) + + textView.layer.cornerRadius = 15 + textView.backgroundColor = NCBrandColor.sharedInstance.graySoft + + statusFileSharing.layer.cornerRadius = 12.5 + statusFileSharing.layer.borderWidth = 0.5 + statusFileSharing.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusFileSharing.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusExternalSite.layer.cornerRadius = 12.5 + statusExternalSite.layer.borderWidth = 0.5 + statusExternalSite.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusExternalSite.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusEndToEndEncryption.layer.cornerRadius = 12.5 + statusEndToEndEncryption.layer.borderWidth = 0.5 + statusEndToEndEncryption.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusEndToEndEncryption.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusPaginatedFileListing.layer.cornerRadius = 12.5 + statusPaginatedFileListing.layer.borderWidth = 0.5 + statusPaginatedFileListing.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusPaginatedFileListing.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusActivity.layer.cornerRadius = 12.5 + statusActivity.layer.borderWidth = 0.5 + statusActivity.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusActivity.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusNotification.layer.cornerRadius = 12.5 + statusNotification.layer.borderWidth = 0.5 + statusNotification.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusNotification.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusDeletedFiles.layer.cornerRadius = 12.5 + statusDeletedFiles.layer.borderWidth = 0.5 + statusDeletedFiles.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusDeletedFiles.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusText.layer.cornerRadius = 12.5 + statusText.layer.borderWidth = 0.5 + statusText.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusText.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusCollabora.layer.cornerRadius = 12.5 + statusCollabora.layer.borderWidth = 0.5 + statusCollabora.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusCollabora.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + statusOnlyOffice.layer.cornerRadius = 12.5 + statusOnlyOffice.layer.borderWidth = 0.5 + statusOnlyOffice.layer.borderColor = NCBrandColor.sharedInstance.textView.cgColor + statusOnlyOffice.layer.backgroundColor = NCBrandColor.sharedInstance.graySoft.withAlphaComponent(0.3).cgColor + + imageFileSharing.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "share"), width: 100, height: 100, color: .gray) + imageExternalSite.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "externalsites"), width: 100, height: 100, color: .gray) + imageEndToEndEncryption.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "lock"), width: 100, height: 100, color: .gray) + imagePaginatedFileListing.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "application"), width: 100, height: 100, color: .gray) + imageActivity.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "activity"), width: 100, height: 100, color: .gray) + imageNotification.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "notification"), width: 100, height: 100, color: .gray) + imageDeletedFiles.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "delete"), width: 100, height: 100, color: .gray) + imageText.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "text"), width: 100, height: 100, color: .gray) + imageCollabora.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "collabora"), width: 100, height: 100, color: .gray) + imageOnlyOffice.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "onlyoffice"), width: 100, height: 100, color: .gray) + + guard let account = NCManageDatabase.sharedInstance.getAccountActive() else { return } + self.account = account.account + + if let text = NCManageDatabase.sharedInstance.getCapabilities(account: account.account) { + capabilitiesText = text + updateCapabilities() + } else { + NCContentPresenter.shared.messageNotification("_error_", description: "_no_capabilities_found_", delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.info, errorCode: Int(k_CCErrorInternalError), forced: true) + + DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) { + self.dismiss(animated: true, completion: nil) + } + } + + homeImage.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "home"), width: 100, height: 100, color: .gray) + homeServer.text = NCUtility.shared.getHomeServer(urlBase: appDelegate.urlBase, account: appDelegate.account) + "/" + + davImage.image = CCGraphics.changeThemingColorImage(UIImage.init(named: "dav"), width: 100, height: 100, color: .gray) + davFiles.text = appDelegate.urlBase + "/" + NCUtility.shared.getDAV() + "/files/" + appDelegate.user + "/" + + titleCapabilities.text = NSLocalizedString("_capabilities_", comment: "") + } + + @objc func updateCapabilities() { + + NCCommunication.shared.getCapabilities() { (account, data, errorCode, errorDescription) in + if errorCode == 0 && data != nil { + NCManageDatabase.sharedInstance.addCapabilitiesJSon(data!, account: account) + + // EDITORS + let serverVersionMajor = NCManageDatabase.sharedInstance.getCapabilitiesServerInt(account: account, elements: NCElementsJSON.shared.capabilitiesVersionMajor) + if serverVersionMajor >= k_nextcloud_version_18_0 { + NCCommunication.shared.NCTextObtainEditorDetails() { (account, editors, creators, errorCode, errorMessage) in + if errorCode == 0 && account == self.appDelegate.account { + NCManageDatabase.sharedInstance.addDirectEditing(account: account, editors: editors, creators: creators) + self.readCapabilities() + } + if self.view.window != nil { + //self.timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(self.updateCapabilities), userInfo: nil, repeats: false) + } + } + } else { + if self.view.window != nil { + //self.timer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(self.updateCapabilities), userInfo: nil, repeats: false) + } + } + + if let text = NCManageDatabase.sharedInstance.getCapabilities(account: account) { + self.capabilitiesText = text + } + self.readCapabilities() + } + } + + readCapabilities() + } + + @objc func share() { + //timer?.invalidate() + self.dismiss(animated: true) { + let fileURL = NSURL.fileURL(withPath: NSTemporaryDirectory(), isDirectory: true).appendingPathComponent("capabilities.txt") + do { + try self.capabilitiesText.write(to: fileURL, atomically: true, encoding: .utf8) + NCMainCommon.sharedInstance.openIn(fileURL: fileURL, selector: nil) + } catch { } + } + } + + @objc func close() { + //timer?.invalidate() + self.dismiss(animated: true, completion: nil) + } + + func readCapabilities() { + + textView.text = capabilitiesText + + if NCManageDatabase.sharedInstance.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesFileSharingApiEnabled, exists: false) { + statusFileSharing.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusFileSharing.text = NSLocalizedString("_not_available_", comment: "") + } + + if NCManageDatabase.sharedInstance.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesExternalSitesExists, exists: false) { + statusExternalSite.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusExternalSite.text = NSLocalizedString("_not_available_", comment: "") + } + + let isE2EEEnabled = NCManageDatabase.sharedInstance.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesE2EEEnabled, exists: false) + //let versionE2EE = NCManageDatabase.sharedInstance.getCapabilitiesServerString(account: account, elements: NCElementsJSON.shared.capabilitiesE2EEApiVersion) + + if isE2EEEnabled { + statusEndToEndEncryption.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusEndToEndEncryption.text = NSLocalizedString("_not_available_", comment: "") + } + + let paginationEndpoint = NCManageDatabase.sharedInstance.getCapabilitiesServerString(account: account, elements: NCElementsJSON.shared.capabilitiesPaginationEndpoint) + if paginationEndpoint != nil { + statusPaginatedFileListing.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusPaginatedFileListing.text = NSLocalizedString("_not_available_", comment: "") + } + + let activity = NCManageDatabase.sharedInstance.getCapabilitiesServerArray(account: account, elements: NCElementsJSON.shared.capabilitiesActivity) + if activity != nil { + statusActivity.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusActivity.text = NSLocalizedString("_not_available_", comment: "") + } + + let notification = NCManageDatabase.sharedInstance.getCapabilitiesServerArray(account: account, elements: NCElementsJSON.shared.capabilitiesNotification) + if notification != nil { + statusNotification.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusNotification.text = NSLocalizedString("_not_available_", comment: "") + } + + let deleteFiles = NCManageDatabase.sharedInstance.getCapabilitiesServerBool(account: account, elements: NCElementsJSON.shared.capabilitiesFilesUndelete, exists: false) + if deleteFiles { + statusDeletedFiles.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusDeletedFiles.text = NSLocalizedString("_not_available_", comment: "") + } + + var textEditor = false + var onlyofficeEditors = false + if let editors = NCManageDatabase.sharedInstance.getDirectEditingEditors(account: account) { + for editor in editors { + if editor.editor == k_editor_text { + textEditor = true + } else if editor.editor == k_editor_onlyoffice { + onlyofficeEditors = true + } + } + } + + if textEditor { + statusText.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusText.text = NSLocalizedString("_not_available_", comment: "") + } + + let richdocumentsMimetypes = NCManageDatabase.sharedInstance.getCapabilitiesServerArray(account: account, elements: NCElementsJSON.shared.capabilitiesRichdocumentsMimetypes) + if richdocumentsMimetypes != nil { + statusCollabora.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusCollabora.text = NSLocalizedString("_not_available_", comment: "") + } + + if onlyofficeEditors { + statusOnlyOffice.text = "✓ " + NSLocalizedString("_available_", comment: "") + } else { + statusOnlyOffice.text = NSLocalizedString("_not_available_", comment: "") + } + + print("end.") + } +} |