forked from mirrors/linphone-iphone
Add all actions for dropdown menu in chat conversation.
Now long press for open debug info (like android)
This commit is contained in:
parent
c1ef2f558a
commit
ac5160c1c1
6 changed files with 215 additions and 87 deletions
|
|
@ -1,6 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21507" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" colorMatched="YES">
|
||||
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||
<dependencies>
|
||||
<deployment identifier="iOS"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21505"/>
|
||||
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
|
|
@ -48,19 +50,19 @@
|
|||
</placeholder>
|
||||
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
|
||||
<view contentMode="scaleToFill" id="v2I-ka-LYa" userLabel="iphone6MetricsView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view tag="1" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6">
|
||||
<rect key="frame" x="0.0" y="42" width="414" height="788"/>
|
||||
<rect key="frame" x="-1" y="41" width="393" height="744"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view alpha="0.90000000000000002" tag="2" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="7" userLabel="topBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" tag="4" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9" userLabel="backButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="82" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="77" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
|
@ -75,7 +77,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="11" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bci-3K-AcG" userLabel="cancelButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="82" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="77" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Cancel"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -90,7 +92,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="5" contentMode="left" fixedFrame="YES" text="Contact1" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="40" userLabel="addressLabel">
|
||||
<rect key="frame" x="75" y="0.0" width="160" height="44"/>
|
||||
<rect key="frame" x="75" y="0.0" width="149" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
|
|
@ -100,7 +102,7 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button opaque="NO" tag="6" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wzg-i0-spp" userLabel="callButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="248" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="234" y="0.0" width="79" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<state key="normal" image="call_alt_start_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
|
@ -112,7 +114,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="7" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Hc0-GX-fC5" userLabel="backToCallButton" customClass="UIBackToCallButton">
|
||||
<rect key="frame" x="248" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="234" y="0.0" width="79" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<state key="normal" image="call_back_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
|
@ -125,7 +127,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="8" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Wag-Nx-kd6" userLabel="deleteButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="331" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="313" y="0.0" width="80" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Delete all"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -139,7 +141,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="9" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FqM-Ud-i58" userLabel="editButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="331" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="313" y="0.0" width="80" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Edit"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -154,7 +156,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="4697" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CPn-Oc-9PX" userLabel="toggleMenuButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="331" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="313" y="0.0" width="80" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Edit"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -167,7 +169,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="10" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" reversesTitleShadowWhenHighlighted="YES" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="c9z-aq-2UP" userLabel="toggleSelectionButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="248" y="0.0" width="83" height="66"/>
|
||||
<rect key="frame" x="234" y="0.0" width="79" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Select all"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
|
@ -183,7 +185,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="5" contentMode="left" fixedFrame="YES" text="addresses" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Ncq-Zc-X6j" userLabel="participantsLabel">
|
||||
<rect key="frame" x="75" y="36" width="160" height="25"/>
|
||||
<rect key="frame" x="75" y="35" width="149" height="25"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
|
|
@ -196,11 +198,11 @@
|
|||
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
|
||||
</view>
|
||||
<view tag="12" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="49" userLabel="contentView">
|
||||
<rect key="frame" x="0.0" y="66" width="414" height="722"/>
|
||||
<rect key="frame" x="0.0" y="65" width="393" height="679"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" tag="13" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="none" allowsSelection="NO" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" rowHeight="60" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="8" userLabel="messagesTableView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="574"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="529"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<gestureRecognizers/>
|
||||
|
|
@ -212,11 +214,11 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
<view hidden="YES" tag="14" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fx4-ao-53M" userLabel="composeIndicatorView">
|
||||
<rect key="frame" x="0.0" y="574" width="414" height="22"/>
|
||||
<rect key="frame" x="0.0" y="529" width="393" height="23"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="15" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="%@ is composing..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="fpY-Fv-ht2" userLabel="composeLabel">
|
||||
<rect key="frame" x="10" y="-5" width="406" height="21"/>
|
||||
<rect key="frame" x="10" y="-5" width="385" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label=""/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
|
|
@ -227,7 +229,7 @@
|
|||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" tag="16" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="No conversation." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="p7C-WH-uR1" userLabel="emptyTableLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="574"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="539"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
|
|
@ -235,11 +237,11 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view alpha="0.90000000000000002" tag="17" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="14" userLabel="messageView">
|
||||
<rect key="frame" x="0.0" y="656" width="414" height="66"/>
|
||||
<rect key="frame" x="0.0" y="612" width="393" height="67"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" tag="19" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="73" userLabel="pictureButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="66" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="66" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Send picture"/>
|
||||
<state key="normal" image="chat_attachment_default.png">
|
||||
|
|
@ -252,7 +254,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="9019" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="aTi-pm-fAG" userLabel="audioRecordingButton">
|
||||
<rect key="frame" x="66" y="0.0" width="56" height="66"/>
|
||||
<rect key="frame" x="66" y="0.0" width="56" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Send picture"/>
|
||||
<inset key="imageEdgeInsets" minX="15" minY="20" maxX="15" maxY="20"/>
|
||||
|
|
@ -265,7 +267,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="21" contentMode="scaleToFill" fixedFrame="YES" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="15" userLabel="sendButton">
|
||||
<rect key="frame" x="349" y="0.0" width="66" height="66"/>
|
||||
<rect key="frame" x="328" y="0.0" width="65" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Send"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="30" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -279,24 +281,24 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view tag="20" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pqa-tg-5ml" userLabel="messageField" customClass="HPGrowingTextView">
|
||||
<rect key="frame" x="130" y="13" width="208" height="40"/>
|
||||
<rect key="frame" x="123" y="11" width="197" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Message field"/>
|
||||
</view>
|
||||
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" tag="44536" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="ephemeral_messages_color_A.png" translatesAutoresizingMaskIntoConstraints="NO" id="LN7-ci-kNn" userLabel="ephemeralIndicator">
|
||||
<rect key="frame" x="393" y="44" width="15" height="15"/>
|
||||
<rect key="frame" x="372" y="44" width="14" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
|
||||
</view>
|
||||
<view hidden="YES" tag="28021" contentMode="scaleToFill" id="Tru-Zm-4EZ" userLabel="VoiceRecording">
|
||||
<rect key="frame" x="0.0" y="596" width="414" height="60"/>
|
||||
<rect key="frame" x="0.0" y="596" width="393" height="60"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES"/>
|
||||
<subviews>
|
||||
<button opaque="NO" tag="28022" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wi9-en-JCZ">
|
||||
<rect key="frame" x="12" y="13" width="24" height="34"/>
|
||||
<rect key="frame" x="12" y="12" width="24" height="35"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" image="delete_default.png"/>
|
||||
<connections>
|
||||
|
|
@ -304,26 +306,26 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view tag="28023" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eXD-Gd-FXA">
|
||||
<rect key="frame" x="50" y="8" width="302" height="44"/>
|
||||
<rect key="frame" x="50" y="7" width="280" height="44"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view tag="28024" contentMode="scaleToFill" id="OTf-Od-TDn" userLabel="vr_wave_mask_playback">
|
||||
<rect key="frame" x="0.0" y="0.0" width="240" height="44"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="217" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<imageView clipsSubviews="YES" userInteractionEnabled="NO" tag="28025" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="vr_wave.png" translatesAutoresizingMaskIntoConstraints="NO" id="m9m-2e-T7E">
|
||||
<rect key="frame" x="8" y="8" width="232" height="28"/>
|
||||
<rect key="frame" x="7" y="8" width="210" height="27"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
</imageView>
|
||||
<view tag="28026" contentMode="scaleToFill" id="TzM-ND-yp4" userLabel="vr_wave_mask_record">
|
||||
<rect key="frame" x="0.0" y="0.0" width="240" height="44"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="217" height="43"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
<label opaque="NO" userInteractionEnabled="NO" tag="28027" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00:00" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="dMW-Ix-4k0">
|
||||
<rect key="frame" x="245" y="12" width="49" height="21"/>
|
||||
<rect key="frame" x="222" y="12" width="48" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="16"/>
|
||||
<nil key="textColor"/>
|
||||
|
|
@ -333,7 +335,7 @@
|
|||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<button opaque="NO" tag="28028" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FNM-bb-AlC">
|
||||
<rect key="frame" x="366" y="13" width="35" height="35"/>
|
||||
<rect key="frame" x="343" y="12" width="37" height="35"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" image="vr_play.png"/>
|
||||
<connections>
|
||||
|
|
@ -344,11 +346,11 @@
|
|||
<color key="backgroundColor" red="0.93333333330000001" green="0.93333333330000001" blue="0.93333333330000001" alpha="1" colorSpace="calibratedRGB"/>
|
||||
</view>
|
||||
<view clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="3qd-ys-t2L" userLabel="imagesView">
|
||||
<rect key="frame" x="0.0" y="625" width="414" height="0.0"/>
|
||||
<rect key="frame" x="0.0" y="587" width="393" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" showsVerticalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="JGQ-p2-HCX" userLabel="imagesCollectionView">
|
||||
<rect key="frame" x="2" y="0.0" width="413" height="0.0"/>
|
||||
<rect key="frame" x="2" y="0.0" width="391" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="0.98780487804878048" green="1" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="c7z-F2-r1y">
|
||||
|
|
@ -362,7 +364,11 @@
|
|||
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
|
||||
</view>
|
||||
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="tjL-Vc-5gN" userLabel="encryptedButton">
|
||||
<<<<<<< HEAD
|
||||
<rect key="frame" x="372" y="8" width="34" height="40"/>
|
||||
=======
|
||||
<rect key="frame" x="338" y="10" width="34" height="40"/>
|
||||
>>>>>>> 64ed0e39f (Add all actions for dropdown menu in chat conversation.)
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<state key="normal" image="security_1_indicator.png"/>
|
||||
<connections>
|
||||
|
|
@ -370,7 +376,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view hidden="YES" tag="290392" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="wve-MK-7ME" userLabel="ReplyView">
|
||||
<rect key="frame" x="0.0" y="536" width="414" height="120"/>
|
||||
<rect key="frame" x="0.0" y="536" width="393" height="120"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES"/>
|
||||
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||
</view>
|
||||
|
|
@ -378,7 +384,7 @@
|
|||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</view>
|
||||
<tableView hidden="YES" clipsSubviews="YES" tag="6992" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="gdT-1Q-vU2" userLabel="popupMenu">
|
||||
<rect key="frame" x="142" y="66" width="273" height="132"/>
|
||||
<rect key="frame" x="121" y="66" width="272" height="132"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</tableView>
|
||||
|
|
@ -391,23 +397,23 @@
|
|||
<point key="canvasLocation" x="365.21739130434787" y="-36.830357142857139"/>
|
||||
</view>
|
||||
<view contentMode="scaleToFill" id="680-UL-sil" userLabel="iphone6MetricsView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<view tag="1" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="VoU-7Q-fgp">
|
||||
<rect key="frame" x="90" y="42" width="324" height="854"/>
|
||||
<rect key="frame" x="90" y="42" width="303" height="810"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<view tag="2" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Z3y-hY-5xp" userLabel="topBar">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" tag="3" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_F.png" translatesAutoresizingMaskIntoConstraints="NO" id="Uvs-m3-GPj" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="4" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" adjustsImageWhenHighlighted="NO" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="N2g-vL-3x8" userLabel="backButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="37" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="34" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Back"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
|
@ -422,7 +428,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="11" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bqf-Gg-2Rw" userLabel="cancelButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="0.0" y="0.0" width="37" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="34" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Cancel"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -447,7 +453,7 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<button hidden="YES" opaque="NO" tag="8" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="RDW-7W-25T" userLabel="deleteButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="285" y="0.0" width="39" height="66"/>
|
||||
<rect key="frame" x="264" y="0.0" width="39" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Delete all"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -461,7 +467,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="9" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="KeL-Ej-92j" userLabel="editButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="285" y="0.0" width="39" height="66"/>
|
||||
<rect key="frame" x="264" y="0.0" width="39" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Edit"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -476,7 +482,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="4697" contentMode="scaleAspectFit" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pQX-Ll-9wL" userLabel="toggleMenuButton" customClass="UIInterfaceStyleButton">
|
||||
<rect key="frame" x="285" y="0.0" width="39" height="66"/>
|
||||
<rect key="frame" x="264" y="0.0" width="39" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Edit"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="18" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -489,7 +495,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button opaque="NO" tag="6" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wag-QV-oUD" userLabel="callButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="248" y="0.0" width="37" height="66"/>
|
||||
<rect key="frame" x="230" y="0.0" width="34" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<state key="normal" image="call_alt_start_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
|
@ -501,7 +507,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="7" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t25-en-4LP" userLabel="backToCallButton" customClass="UIBackToCallButton">
|
||||
<rect key="frame" x="248" y="0.0" width="37" height="66"/>
|
||||
<rect key="frame" x="230" y="0.0" width="34" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<state key="normal" image="call_back_default.png">
|
||||
<color key="titleShadowColor" red="0.5" green="0.5" blue="0.5" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
|
|
@ -513,7 +519,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<button hidden="YES" opaque="NO" tag="10" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" reversesTitleShadowWhenHighlighted="YES" showsTouchWhenHighlighted="YES" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="4RV-US-Kr1" userLabel="toggleSelectionButton" customClass="UIIconButton">
|
||||
<rect key="frame" x="248" y="0.0" width="37" height="66"/>
|
||||
<rect key="frame" x="230" y="0.0" width="34" height="65"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Select all"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="14"/>
|
||||
|
|
@ -529,7 +535,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="5" contentMode="left" fixedFrame="YES" text="addresses" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="tyU-Wy-rLs" userLabel="participantsLabel">
|
||||
<rect key="frame" x="67" y="37" width="366" height="25"/>
|
||||
<rect key="frame" x="67" y="36" width="366" height="25"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Contact name">
|
||||
<accessibilityTraits key="traits" none="YES"/>
|
||||
|
|
@ -541,11 +547,11 @@
|
|||
</subviews>
|
||||
</view>
|
||||
<view tag="12" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OTt-fc-941" userLabel="contentView">
|
||||
<rect key="frame" x="0.0" y="66" width="324" height="788"/>
|
||||
<rect key="frame" x="0.0" y="66" width="303" height="744"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<subviews>
|
||||
<tableView clipsSubviews="YES" tag="13" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="none" allowsSelection="NO" allowsSelectionDuringEditing="YES" allowsMultipleSelectionDuringEditing="YES" rowHeight="60" sectionHeaderHeight="22" sectionFooterHeight="22" translatesAutoresizingMaskIntoConstraints="NO" id="CU7-Za-RwN" userLabel="messagesTableView">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="700"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="657"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<gestureRecognizers/>
|
||||
|
|
@ -555,7 +561,7 @@
|
|||
</connections>
|
||||
</tableView>
|
||||
<label hidden="YES" opaque="NO" userInteractionEnabled="NO" tag="16" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="No conversation." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pzm-tk-LH0" userLabel="emptyTableLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="617"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="582"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
|
|
@ -563,11 +569,11 @@
|
|||
<nil key="highlightedColor"/>
|
||||
</label>
|
||||
<view hidden="YES" tag="14" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nTf-7h-Z4z" userLabel="composeIndicatorView">
|
||||
<rect key="frame" x="0.0" y="700" width="324" height="22"/>
|
||||
<rect key="frame" x="0.0" y="657" width="303" height="21"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" tag="15" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="%@ is composing..." lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumScaleFactor="0.5" translatesAutoresizingMaskIntoConstraints="NO" id="I34-aL-yuS" userLabel="composeLabel">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="22"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="22"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label=""/>
|
||||
<fontDescription key="fontDescription" type="system" pointSize="17"/>
|
||||
|
|
@ -577,11 +583,11 @@
|
|||
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</view>
|
||||
<view tag="17" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LA5-wD-ftj" userLabel="messageView">
|
||||
<rect key="frame" x="0.0" y="722" width="324" height="66"/>
|
||||
<rect key="frame" x="0.0" y="678" width="303" height="67"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
|
||||
<subviews>
|
||||
<imageView userInteractionEnabled="NO" tag="18" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="color_F.png" translatesAutoresizingMaskIntoConstraints="NO" id="kKc-DG-gwg" userLabel="backgroundColor">
|
||||
<rect key="frame" x="0.0" y="0.0" width="324" height="66"/>
|
||||
<rect key="frame" x="0.0" y="0.0" width="303" height="67"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
</imageView>
|
||||
<button opaque="NO" tag="19" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gSL-jE-GYO" userLabel="pictureButton">
|
||||
|
|
@ -610,13 +616,13 @@
|
|||
</connections>
|
||||
</button>
|
||||
<view tag="20" contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="C02-2r-vXK" userLabel="messageField" customClass="HPGrowingTextView">
|
||||
<rect key="frame" x="59" y="13" width="230" height="40"/>
|
||||
<rect key="frame" x="53" y="12" width="215" height="42"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Message field"/>
|
||||
</view>
|
||||
<button opaque="NO" tag="21" contentMode="scaleToFill" fixedFrame="YES" enabled="NO" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nV9-xZ-oSM" userLabel="sendButton">
|
||||
<rect key="frame" x="258" y="0.0" width="66" height="66"/>
|
||||
<rect key="frame" x="236" y="0.0" width="67" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
|
||||
<accessibility key="accessibilityConfiguration" label="Send"/>
|
||||
<inset key="titleEdgeInsets" minX="0.0" minY="30" maxX="0.0" maxY="0.0"/>
|
||||
|
|
@ -630,7 +636,7 @@
|
|||
</connections>
|
||||
</button>
|
||||
<imageView hidden="YES" clipsSubviews="YES" userInteractionEnabled="NO" tag="44536" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" image="ephemeral_messages_color_A.png" translatesAutoresizingMaskIntoConstraints="NO" id="Gsu-3J-HRp" userLabel="ephemeralIndicator">
|
||||
<rect key="frame" x="305" y="40" width="15" height="15"/>
|
||||
<rect key="frame" x="284" y="41" width="13" height="15"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
|
|
@ -638,7 +644,7 @@
|
|||
</subviews>
|
||||
</view>
|
||||
<tableView hidden="YES" clipsSubviews="YES" tag="6992" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="iwm-pi-mku" userLabel="popupMenu">
|
||||
<rect key="frame" x="13" y="66" width="311" height="132"/>
|
||||
<rect key="frame" x="-10" y="66" width="313" height="132"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
|
||||
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||
</tableView>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#import "ChatConversationInfoView.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIChatConversationInfoTableViewCell.h"
|
||||
#import "linphoneapp-Swift.h"
|
||||
|
||||
#import "linphone/core.h"
|
||||
|
||||
|
|
@ -312,7 +313,7 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
view.isForVoipConference = FALSE;
|
||||
[PhoneMainView.instance popToView:view.compositeViewDescription];
|
||||
} else {
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift);
|
||||
[PhoneMainView.instance popToView:view.compositeViewDescription];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#import "EphemeralSettingsView.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UIDeviceCell.h"
|
||||
#import "linphoneapp-Swift.h"
|
||||
|
||||
|
||||
|
||||
|
|
@ -74,14 +75,14 @@ static UICompositeViewDescription *compositeDescription = nil;
|
|||
|
||||
#pragma mark - Action Functions
|
||||
- (IBAction)onBackClick:(id)sender {
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift);
|
||||
[PhoneMainView.instance popToView:view.compositeViewDescription];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)onSaveClick:(id)sender {
|
||||
[self setRoomSettingsBasedOnIndex];
|
||||
ChatConversationView *view = VIEW(ChatConversationView);
|
||||
ChatConversationViewSwift *view = VIEW(ChatConversationViewSwift);
|
||||
[PhoneMainView.instance popToView:view.compositeViewDescription];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ import DropDown
|
|||
var chatRoom: ChatRoom? = nil
|
||||
var chatRoomDelegate: ChatRoomDelegate? = nil
|
||||
var address: String? = nil
|
||||
var notifications_on: Bool = true
|
||||
|
||||
var activeAlertController = CustomAlertController()
|
||||
|
||||
|
|
@ -67,31 +66,22 @@ import DropDown
|
|||
switch menu.dataSource[index] {
|
||||
case VoipTexts.dropdown_menu_chat_conversation_add_to_contact:
|
||||
cell.myImageView.image = UIImage(named: images[0])
|
||||
//cell.addGestureRecognizer(UITapGestureRecognizer(target: parent.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_go_to_contact:
|
||||
cell.myImageView.image = UIImage(named: images[1])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.conference_schedule_start:
|
||||
cell.myImageView.image = UIImage(named: images[2])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_conversation_device:
|
||||
cell.myImageView.image = UIImage(named: images[3])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages:
|
||||
cell.myImageView.image = UIImage(named: images[4])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_mute_notifications:
|
||||
cell.myImageView.image = UIImage(named: images[5])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_unmute_notifications:
|
||||
cell.myImageView.image = UIImage(named: images[6])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
case VoipTexts.dropdown_menu_chat_conversation_delete_messages:
|
||||
cell.myImageView.image = UIImage(named: images[7])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
default:
|
||||
cell.myImageView.image = UIImage(named: images[8])
|
||||
cell.addGestureRecognizer(UITapGestureRecognizer(target: ChatConversationViewSwift.self, action: #selector(dropDownGoToDevicesList)))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -112,6 +102,9 @@ import DropDown
|
|||
action3: {
|
||||
self.alertActionGoToDevicesList()
|
||||
},
|
||||
action4: {
|
||||
(LinphoneManager.instance().lpConfigInt(forKey: "debugenable_preference") == 1) ? self.showAddressAndIdentityPopup() : self.tapChooseMenuItem(self.action2Button)
|
||||
},
|
||||
title: address ?? "Error"
|
||||
)
|
||||
}
|
||||
|
|
@ -129,17 +122,148 @@ import DropDown
|
|||
menu.anchorView = sender
|
||||
menu.bottomOffset = CGPoint(x: -UIScreen.main.bounds.width * 0.6, y: sender.frame.size.height)
|
||||
menu.show()
|
||||
menu.selectionAction = { [weak self] (index: Int, item: String) in
|
||||
guard let _ = self else { return }
|
||||
print(item)
|
||||
switch item {
|
||||
case VoipTexts.dropdown_menu_chat_conversation_add_to_contact:
|
||||
self!.addOrGoToContact()
|
||||
case VoipTexts.dropdown_menu_chat_conversation_go_to_contact:
|
||||
self!.addOrGoToContact()
|
||||
case VoipTexts.conference_schedule_start:
|
||||
self!.conferenceSchedule()
|
||||
case VoipTexts.dropdown_menu_chat_conversation_group_infos:
|
||||
self!.displayGroupInfo()
|
||||
case VoipTexts.dropdown_menu_chat_conversation_conversation_device:
|
||||
self!.goToDevicesList()
|
||||
case VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages:
|
||||
self!.goToEphemeralSettings()
|
||||
case VoipTexts.dropdown_menu_chat_conversation_mute_notifications:
|
||||
self!.mute_unmute_notifications()
|
||||
self?.menu.dataSource[index] = VoipTexts.dropdown_menu_chat_conversation_unmute_notifications
|
||||
case VoipTexts.dropdown_menu_chat_conversation_unmute_notifications:
|
||||
self!.mute_unmute_notifications()
|
||||
self?.menu.dataSource[index] = VoipTexts.dropdown_menu_chat_conversation_mute_notifications
|
||||
case VoipTexts.dropdown_menu_chat_conversation_delete_messages:
|
||||
self!.onEditionChangeClick()
|
||||
default:
|
||||
self!.showAddressAndIdentityPopup()
|
||||
}
|
||||
self!.menu.clearSelection()
|
||||
}
|
||||
}
|
||||
|
||||
func goToDevicesList() {
|
||||
let view: DevicesListView = self.VIEW(DevicesListView.compositeViewDescription())
|
||||
view.room = chatRoom?.getCobject
|
||||
PhoneMainView.instance().changeCurrentView(view.compositeViewDescription())
|
||||
}
|
||||
|
||||
func addOrGoToContact() {
|
||||
let firstParticipant = chatRoom?.participants.first
|
||||
let addr = (firstParticipant != nil) ? linphone_participant_get_address(firstParticipant?.getCobject) : linphone_chat_room_get_peer_address(chatRoom?.getCobject)
|
||||
|
||||
let contact = FastAddressBook.getContactWith(addr)
|
||||
|
||||
if let contact {
|
||||
let view: ContactDetailsView = self.VIEW(ContactDetailsView.compositeViewDescription())
|
||||
ContactSelection.setSelectionMode(ContactSelectionModeNone)
|
||||
MagicSearchSingleton.instance().currentFilter = ""
|
||||
view.contact = contact
|
||||
PhoneMainView.instance().changeCurrentView(view.compositeViewDescription())
|
||||
} else {
|
||||
|
||||
let lAddress = linphone_address_as_string_uri_only(addr)
|
||||
if let lAddress {
|
||||
var normSip = String(utf8String: lAddress)
|
||||
normSip = normSip?.hasPrefix("sip:") ?? false ? (normSip as NSString?)?.substring(from: 4) : normSip
|
||||
normSip = normSip?.hasPrefix("sips:") ?? false ? (normSip as NSString?)?.substring(from: 5) : normSip
|
||||
ContactSelection.setAddAddress(normSip)
|
||||
ContactSelection.setSelectionMode(ContactSelectionModeEdit)
|
||||
ContactSelection.enableSipFilter(false)
|
||||
PhoneMainView.instance().changeCurrentView(ContactsListView.compositeViewDescription())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func displayGroupInfo() {
|
||||
let contactsArray: NSMutableArray = []
|
||||
let admins: NSMutableArray = []
|
||||
let participants = chatRoom?.participants
|
||||
participants?.forEach{ participant in
|
||||
let curi = linphone_address_as_string_uri_only(linphone_participant_get_address(participant.getCobject))
|
||||
let uri = String(utf8String: curi!)
|
||||
contactsArray.add(uri!)
|
||||
if (linphone_participant_is_admin(participant.getCobject) != 0) {
|
||||
admins.add(uri!)
|
||||
}
|
||||
}
|
||||
|
||||
let view: ChatConversationInfoView = self.VIEW(ChatConversationInfoView.compositeViewDescription())
|
||||
view.create = false
|
||||
view.contacts = contactsArray
|
||||
view.oldContacts = contactsArray
|
||||
view.admins = admins
|
||||
view.oldAdmins = admins
|
||||
view.oldSubject = String(utf8String: linphone_chat_room_get_subject(chatRoom?.getCobject)) ?? LINPHONE_DUMMY_SUBJECT
|
||||
view.room = chatRoom?.getCobject
|
||||
|
||||
let localAddress = linphone_address_as_string(linphone_chat_room_get_local_address(chatRoom?.getCobject))
|
||||
let peerAddress = linphone_address_as_string(linphone_chat_room_get_peer_address(chatRoom?.getCobject))
|
||||
view.peerAddress = UnsafePointer(peerAddress)
|
||||
view.localAddress = UnsafePointer(localAddress)
|
||||
PhoneMainView.instance().changeCurrentView(view.compositeViewDescription())
|
||||
}
|
||||
|
||||
func goToEphemeralSettings(){
|
||||
let view: EphemeralSettingsView = self.VIEW(EphemeralSettingsView.compositeViewDescription())
|
||||
view.room = chatRoom?.getCobject
|
||||
PhoneMainView.instance().changeCurrentView(view.compositeViewDescription())
|
||||
}
|
||||
|
||||
func conferenceSchedule(){
|
||||
ConferenceViewModelBridge.scheduleFromGroupChat(cChatRoom: (chatRoom?.getCobject)!)
|
||||
PhoneMainView.instance().pop(toView: ConferenceSchedulingView.compositeViewDescription())
|
||||
}
|
||||
|
||||
func mute_unmute_notifications(){
|
||||
LinphoneManager.setChatroomPushEnabled(chatRoom?.getCobject, withPushEnabled: !LinphoneManager.getChatroomPushEnabled(chatRoom?.getCobject))
|
||||
}
|
||||
|
||||
func onEditionChangeClick() {
|
||||
|
||||
}
|
||||
|
||||
func showAddressAndIdentityPopup() {
|
||||
|
||||
let localAddress = String(utf8String: linphone_address_as_string(linphone_chat_room_get_local_address(chatRoom?.getCobject)))
|
||||
let peerAddress = String(utf8String: linphone_address_as_string(linphone_chat_room_get_peer_address(chatRoom?.getCobject)))
|
||||
|
||||
var infoMsg: String? = nil
|
||||
if let peerAddress, let localAddress {
|
||||
infoMsg = "Chat room id:\n\(peerAddress)\nLocal account:\n\(localAddress)"
|
||||
}
|
||||
|
||||
let popupView = UIAlertController(title: NSLocalizedString("Chatroom debug infos", comment: ""), message: infoMsg, preferredStyle: .alert)
|
||||
|
||||
let defaultAction = UIAlertAction(
|
||||
title: NSLocalizedString("Copy to clipboard", comment: ""),
|
||||
style: .default,
|
||||
handler: { action in
|
||||
let pasteboard = UIPasteboard.general
|
||||
pasteboard.string = infoMsg
|
||||
})
|
||||
popupView.addAction(defaultAction)
|
||||
present(popupView, animated: true, completion:{
|
||||
popupView.view.superview?.isUserInteractionEnabled = true
|
||||
popupView.view.superview?.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(self.dismissOnTapOutsideOrCancel)))
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func initDataSource(groupeChat: Bool, secureLevel: Bool, cChatRoom: OpaquePointer) {
|
||||
menu.dataSource.removeAll()
|
||||
|
||||
let config = Config.newForSharedCore(appGroupId: APP_GROUP_ID, configFilename: "linphonerc", factoryConfigFilename: "")
|
||||
let debugLevel = config?.getInt(section: "app", key: "debugenable_preference", defaultValue: LogLevel.Debug.rawValue)
|
||||
debugEnabled = (debugLevel! >= LogLevel.Debug.rawValue && debugLevel! < LogLevel.Error.rawValue)
|
||||
|
||||
print(debugEnabled)
|
||||
|
||||
if(groupeChat){
|
||||
menu.dataSource.append(VoipTexts.conference_schedule_start)
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_group_infos)
|
||||
|
|
@ -160,13 +284,12 @@ import DropDown
|
|||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_conversation_device)
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_ephemeral_messages)
|
||||
}
|
||||
if(notifications_on){
|
||||
if(LinphoneManager.getChatroomPushEnabled(chatRoom?.getCobject)){
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_mute_notifications)
|
||||
}else{
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_unmute_notifications)
|
||||
}
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_delete_messages)
|
||||
menu.dataSource.append(VoipTexts.dropdown_menu_chat_conversation_debug_infos)
|
||||
}
|
||||
|
||||
@objc func initChatRoom(cChatRoom:OpaquePointer) {
|
||||
|
|
@ -281,8 +404,4 @@ import DropDown
|
|||
@objc func dismissOnTapOutsideOrCancel(){
|
||||
self.dismiss(animated: true, completion: nil)
|
||||
}
|
||||
|
||||
@objc func dropDownGoToDevicesList() {
|
||||
print("Aaaaaa")
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ import linphonesw
|
|||
action1 : @escaping () -> Void,
|
||||
action2 : @escaping () -> Void,
|
||||
action3 : @escaping () -> Void,
|
||||
action4 : @escaping () -> Void,
|
||||
title:String) {
|
||||
self.backAction = backAction
|
||||
self.action1 = action1
|
||||
|
|
@ -66,6 +67,7 @@ import linphonesw
|
|||
topBar.addSubview(action2Button)
|
||||
action2Button.alignParentRight(withMargin: side_buttons_margin).matchParentHeight().done()
|
||||
action2Button.onClickAction = action2
|
||||
action2Button.onLongClick(action: action4)
|
||||
|
||||
topBar.addSubview(action1Button)
|
||||
topBar.addSubview(action1BisButton)
|
||||
|
|
@ -101,7 +103,6 @@ import linphonesw
|
|||
|
||||
}
|
||||
|
||||
|
||||
override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
topBar.backgroundColor = VoipTheme.voipToolbarBackgroundColor.get()
|
||||
|
|
|
|||
|
|
@ -16,4 +16,4 @@
|
|||
#import "UICamSwitch.h"
|
||||
#import "UIChatBubbleTextCell.h"
|
||||
#import "ChatConversationTableView.h"
|
||||
|
||||
#import "EphemeralSettingsView.h"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue