side menu

This commit is contained in:
Gautier Pelloux-Prayer 2015-07-29 16:05:45 +02:00
parent 417033081f
commit b8c390ff44
16 changed files with 222 additions and 864 deletions

View file

@ -54,11 +54,13 @@
<rect key="frame" x="0.0" y="0.0" width="150" height="46"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="4" userLabel="allButton" customClass="UIIconButton">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="4" userLabel="allButton" customClass="UIIconButton">
<rect key="frame" x="0.0" y="0.0" width="75" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="All contacts filter"/>
<inset key="titleEdgeInsets" minX="-86" minY="18" maxX="0.0" maxY="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="9"/>
<inset key="titleEdgeInsets" minX="-38" minY="15" maxX="0.0" maxY="0.0"/>
<inset key="imageEdgeInsets" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="ALL" image="contacts_all_default.png" backgroundImage="color_F.png">
<color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
@ -71,11 +73,13 @@
<action selector="onAllClick:" destination="-1" eventType="touchUpInside" id="29"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="5" userLabel="sipButton" customClass="UIIconButton">
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="5" userLabel="sipButton" customClass="UIIconButton">
<rect key="frame" x="75" y="0.0" width="75" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<accessibility key="accessibilityConfiguration" label="Linphone contacts filter"/>
<inset key="titleEdgeInsets" minX="-86" minY="18" maxX="0.0" maxY="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="9"/>
<inset key="titleEdgeInsets" minX="-35" minY="15" maxX="0.0" maxY="0.0"/>
<inset key="imageEdgeInsets" minX="16" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="SIP" image="contacts_sip_default.png" backgroundImage="color_F.png">
<color key="titleColor" white="0.0" alpha="1" colorSpace="calibratedWhite"/>
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
@ -152,6 +156,7 @@
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
<point key="canvasLocation" x="4.5" y="212.5"/>
</view>
</objects>
<resources>

View file

@ -1,262 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1536</int>
<string key="IBDocument.SystemVersion">14D136</string>
<string key="IBDocument.InterfaceBuilderVersion">7706</string>
<string key="IBDocument.AppKitVersion">1347.57</string>
<string key="IBDocument.HIToolboxVersion">758.70</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">7703</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUINavigationBar</string>
<string>IBUINavigationController</string>
<string>IBUINavigationItem</string>
<string>IBUIView</string>
<string>IBUIViewController</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIViewController" id="73380722">
<bool key="IBUIAutoresizesArchivedViewToFullSize">NO</bool>
<object class="IBUINavigationItem" key="IBUINavigationItem" id="1014852814">
<string key="IBUITitle"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics" id="338571273"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics" id="111068182">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
</object>
<object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics" id="264134814">
<string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string>
<string key="IBUITargetRuntime">IBCocoaTouchFramework</string>
<string key="IBUIDisplayName">iPhone 4-inch</string>
<object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="dict.sortedKeys">
<integer value="1"/>
<integer value="3"/>
</array>
<array key="dict.values">
<string>{320, 568}</string>
<string>{568, 320}</string>
</array>
</object>
<int key="IBUIType">2</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
</object>
<object class="IBUINavigationController" id="983459891">
<reference key="IBUISimulatedStatusBarMetrics" ref="338571273"/>
<object class="IBUISimulatedNavigationBarMetrics" key="IBUISimulatedTopBarMetrics">
<bool key="IBUITranslucent">NO</bool>
<bool key="IBUIPrompted">NO</bool>
</object>
<reference key="IBUISimulatedOrientationMetrics" ref="111068182"/>
<reference key="IBUISimulatedDestinationMetrics" ref="264134814"/>
<bool key="IBUIDefinesPresentationContext">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
<object class="IBUINavigationBar" key="IBUINavigationBar" id="890495851">
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<string key="NSFrameSize">{0, 0}</string>
<string key="NSReuseIdentifierKey">_NS:15</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIBarStyle">1</int>
<bool key="IBUITranslucent">NO</bool>
</object>
<array class="NSMutableArray" key="IBUIViewControllers"/>
</object>
<object class="IBUIView" id="260639552">
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="802564442">
<reference key="NSNextResponder" ref="260639552"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 42}, {375, 559}}</string>
<reference key="NSSuperview" ref="260639552"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<string key="NSFrame">{{0, 20}, {375, 647}}</string>
<reference key="NSNextKeyView" ref="802564442"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<reference key="IBUISimulatedStatusBarMetrics" ref="338571273"/>
<object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics">
<string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string>
<string key="IBUITargetRuntime">IBCocoaTouchFramework</string>
<string key="IBUIDisplayName">iPhone 4.7-inch</string>
<object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="dict.sortedKeys">
<integer value="1"/>
<integer value="3"/>
</array>
<array key="dict.values">
<string>{375, 667}</string>
<string>{667, 375}</string>
</array>
</object>
<int key="IBUIType">2</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">navigationController</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="983459891"/>
</object>
<int key="connectionID">15</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">settingsController</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="73380722"/>
</object>
<int key="connectionID">8</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="802564442"/>
</object>
<int key="connectionID">9</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<array key="object" id="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">10</int>
<reference key="object" ref="983459891"/>
<array class="NSMutableArray" key="children">
<reference ref="890495851"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">navigationController</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">11</int>
<reference key="object" ref="890495851"/>
<reference key="parent" ref="983459891"/>
<string key="objectName">navigationBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="73380722"/>
<array class="NSMutableArray" key="children">
<reference ref="1014852814"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">settingsController</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="1014852814"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="73380722"/>
<string key="objectName">settingsItem</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="260639552"/>
<array class="NSMutableArray" key="children">
<reference ref="802564442"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">iphone6MetricsView</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="802564442"/>
<reference key="parent" ref="260639552"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">SettingsViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="10.CustomClassName">UINavigationControllerEx</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="11.CustomClassName">UINavigationBarEx</string>
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="6.CustomClassName">IASKAppSettingsViewControllerEx</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">20</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes"/>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">NO</bool>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="4600" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" promptedForUpgradeToXcode5="NO">
<dependencies>
<deployment identifier="iOS"/>
<development version="6000" identifier="xcode"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SettingsViewController">
<connections>
<outlet property="navigationController" destination="10" id="15"/>
<outlet property="settingsController" destination="6" id="8"/>
<outlet property="view" destination="4" id="9"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<viewController autoresizesArchivedViewToFullSize="NO" id="6" userLabel="settingsController" customClass="IASKAppSettingsViewControllerEx">
<extendedEdge key="edgesForExtendedLayout"/>
<navigationItem key="navigationItem" id="14" userLabel="settingsItem"/>
</viewController>
<navigationController definesPresentationContext="YES" id="10" userLabel="navigationController" customClass="UINavigationControllerEx">
<extendedEdge key="edgesForExtendedLayout"/>
<simulatedNavigationBarMetrics key="simulatedTopBarMetrics" translucent="NO" prompted="NO"/>
<navigationBar key="navigationBar" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" barStyle="black" translucent="NO" id="11" userLabel="navigationBar" customClass="UINavigationBarEx">
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
</navigationController>
<view contentMode="scaleToFill" id="20" userLabel="iphone6MetricsView">
<rect key="frame" x="0.0" y="20" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" id="4">
<rect key="frame" x="0.0" y="42" width="375" height="579"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
</view>
</objects>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>

View file

@ -177,7 +177,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)centerTextOnIcon:(UIButton *)button {
UIEdgeInsets inset = button.titleEdgeInsets;
inset.left = -(button.imageView.frame.size.width + button.titleLabel.frame.size.width / 2);
inset.left = -(button.imageView.frame.size.width);
button.titleEdgeInsets = inset;
}

View file

@ -126,7 +126,7 @@ static UICompositeViewDescription *compositeDescription = nil;
BOOL previewPref = [mgr lpConfigBoolForKey:@"preview_preference"];
if (videoEnabled && previewPref) {
linphone_core_set_native_preview_window_id(lc, (unsigned long)videoPreview);
linphone_core_set_native_preview_window_id(lc, (__bridge void *)(videoPreview));
if (!linphone_core_video_preview_enabled(lc)) {
linphone_core_enable_video_preview(lc, TRUE);
@ -135,7 +135,7 @@ static UICompositeViewDescription *compositeDescription = nil;
[backgroundView setHidden:FALSE];
[videoCameraSwitch setHidden:FALSE];
} else {
linphone_core_set_native_preview_window_id(lc, (unsigned long)NULL);
linphone_core_set_native_preview_window_id(lc, NULL);
linphone_core_enable_video_preview(lc, FALSE);
[backgroundView setHidden:TRUE];
[videoCameraSwitch setHidden:TRUE];
@ -226,11 +226,11 @@ static UICompositeViewDescription *compositeDescription = nil;
if ([LinphoneManager runningOnIpad]) {
LinphoneCore *lc = [LinphoneManager getLc];
if (linphone_core_video_enabled(lc) && linphone_core_video_preview_enabled(lc)) {
linphone_core_set_native_preview_window_id(lc, (unsigned long)videoPreview);
linphone_core_set_native_preview_window_id(lc, (__bridge void *)(videoPreview));
[backgroundView setHidden:FALSE];
[videoCameraSwitch setHidden:FALSE];
} else {
linphone_core_set_native_preview_window_id(lc, (unsigned long)NULL);
linphone_core_set_native_preview_window_id(lc, NULL);
[backgroundView setHidden:TRUE];
[videoCameraSwitch setHidden:TRUE];
}

View file

@ -130,8 +130,8 @@ static UICompositeViewDescription *compositeDescription = nil;
[self callUpdate:call state:state animated:FALSE];
// Set windows (warn memory leaks)
linphone_core_set_native_video_window_id([LinphoneManager getLc], (unsigned long)videoView);
linphone_core_set_native_preview_window_id([LinphoneManager getLc], (unsigned long)videoPreview);
linphone_core_set_native_video_window_id([LinphoneManager getLc], (__bridge void *)(videoView));
linphone_core_set_native_preview_window_id([LinphoneManager getLc], (__bridge void *)(videoPreview));
// Enable tap
[singleFingerTap setEnabled:TRUE];

View file

@ -1,552 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1536</int>
<string key="IBDocument.SystemVersion">14D136</string>
<string key="IBDocument.InterfaceBuilderVersion">7706</string>
<string key="IBDocument.AppKitVersion">1347.57</string>
<string key="IBDocument.HIToolboxVersion">758.70</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">7703</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUISwipeGestureRecognizer</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</array>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<object class="IBProxyObject" id="372490531">
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBProxyObject" id="975951072">
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="191373211">
<reference key="NSNextResponder"/>
<int key="NSvFlags">301</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="481442126">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">314</int>
<string key="NSFrame">{{0, 42}, {375, 559}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="548578981"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor" id="572758541">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MCAwAA</bytes>
</object>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">1</int>
<array key="IBUIGestureRecognizers" id="0"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="256276698">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{375, 42}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="28953768"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="548578981">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">266</int>
<array class="NSMutableArray" key="NSSubviews"/>
<string key="NSFrame">{{0, 604}, {375, 66}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="28953768">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">-2147483329</int>
<array class="NSMutableArray" key="NSSubviews"/>
<string key="NSFrame">{{-375, 42}, {375, 625}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="481442126"/>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<string key="NSFrameSize">{375, 667}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="256276698"/>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics" id="667725831">
<string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string>
<string key="IBUITargetRuntime">IBCocoaTouchFramework</string>
<string key="IBUIDisplayName">iPhone 4.7-inch</string>
<object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="dict.sortedKeys">
<integer value="1"/>
<integer value="3"/>
</array>
<array key="dict.values">
<string>{375, 667}</string>
<string>{667, 375}</string>
</array>
</object>
<int key="IBUIType">2</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="915565391">
<reference key="NSNextResponder"/>
<int key="NSvFlags">301</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="575003184">
<reference key="NSNextResponder" ref="915565391"/>
<int key="NSvFlags">314</int>
<string key="NSFrame">{{0, 27}, {667, 296}}</string>
<reference key="NSSuperview" ref="915565391"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="872119935"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="1051455928">
<reference key="NSNextResponder" ref="915565391"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{667, 26}</string>
<reference key="NSSuperview" ref="915565391"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="575003184"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="872119935">
<reference key="NSNextResponder" ref="915565391"/>
<int key="NSvFlags">266</int>
<string key="NSFrame">{{0, 325}, {667, 50}}</string>
<reference key="NSSuperview" ref="915565391"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<string key="NSFrameSize">{667, 375}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1051455928"/>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">3</int>
<int key="interfaceOrientation">3</int>
</object>
<reference key="IBUISimulatedDestinationMetrics" ref="667725831"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUISwipeGestureRecognizer" id="786763443"/>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array key="connectionRecords">
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">3</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">contentView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="481442126"/>
</object>
<int key="connectionID">17</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">stateBarView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="256276698"/>
</object>
<int key="connectionID">18</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">tabBarView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="548578981"/>
</object>
<int key="connectionID">19</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">portraitView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="191373211"/>
</object>
<int key="connectionID">24</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">landscapeView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="915565391"/>
</object>
<int key="connectionID">25</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">sideMenuView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="28953768"/>
</object>
<int key="connectionID">37</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletCollectionConnection" key="connection">
<string key="label">gestureRecognizers</string>
<reference key="source" ref="481442126"/>
<reference key="destination" ref="786763443"/>
<bool key="addsContentToExistingCollection">YES</bool>
</object>
<int key="connectionID">41</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="786763443"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">42</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onRightSwipe:</string>
<reference key="source" ref="786763443"/>
<reference key="destination" ref="372490531"/>
</object>
<int key="connectionID">43</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<array class="NSMutableArray" key="children">
<reference ref="256276698"/>
<reference ref="481442126"/>
<reference ref="548578981"/>
<reference ref="28953768"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Portrait View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="0"/>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
<reference key="object" ref="975951072"/>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">15</int>
<reference key="object" ref="481442126"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="191373211"/>
<string key="objectName">content</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">14</int>
<reference key="object" ref="256276698"/>
<reference key="parent" ref="191373211"/>
<string key="objectName">stateBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">16</int>
<reference key="object" ref="548578981"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="191373211"/>
<string key="objectName">tabBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
<reference key="object" ref="915565391"/>
<array class="NSMutableArray" key="children">
<reference ref="1051455928"/>
<reference ref="575003184"/>
<reference ref="872119935"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Landscape View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">22</int>
<reference key="object" ref="1051455928"/>
<reference key="parent" ref="915565391"/>
<string key="objectName">stateBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">23</int>
<reference key="object" ref="575003184"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="915565391"/>
<string key="objectName">content</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
<reference key="object" ref="872119935"/>
<reference key="parent" ref="915565391"/>
<string key="objectName">tabBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">26</int>
<reference key="object" ref="28953768"/>
<array class="NSMutableArray" key="children"/>
<reference key="parent" ref="191373211"/>
<string key="objectName">sideMenuView</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">40</int>
<reference key="object" ref="786763443"/>
<reference key="parent" ref="0"/>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
<string key="-1.CustomClassName">UICompositeViewController</string>
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<reference key="1.IBNSViewMetadataGestureRecognizers" ref="0"/>
<string key="1.IBPersistedLastKnownCanvasPosition">{-110.5, 22.5}</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="14.CustomClassName">UITransparentView</string>
<string key="14.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="16.CustomClassName">UITransparentView</string>
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<reference key="20.IBNSViewMetadataGestureRecognizers" ref="0"/>
<string key="20.IBPersistedLastKnownCanvasPosition">{452.5, -106.5}</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="21.CustomClassName">UITransparentView</string>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="22.CustomClassName">UITransparentView</string>
<string key="22.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<reference key="26.IBNSViewMetadataGestureRecognizers" ref="0"/>
<string key="26.IBPersistedLastKnownCanvasPosition">{-73, 499}</string>
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<reference key="26.IBUserGuides" ref="0"/>
<reference key="26.IBViewMetadataConstraints" ref="0"/>
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">44</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">TPMultiLayoutViewController</string>
<string key="superclassName">UIViewController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="landscapeView">UIView</string>
<string key="portraitView">UIView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="landscapeView">
<string key="name">landscapeView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="portraitView">
<string key="name">portraitView</string>
<string key="candidateClassName">UIView</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../Classes/Utils/TPMultiLayoutViewController/TPMultiLayoutViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UICompositeViewController</string>
<string key="superclassName">TPMultiLayoutViewController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">onRightSwipe:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">onRightSwipe:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">onRightSwipe:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="contentView">UIView</string>
<string key="sideMenuView">UIView</string>
<string key="stateBarView">UIView</string>
<string key="tabBarView">UIView</string>
</dictionary>
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
<object class="IBToOneOutletInfo" key="contentView">
<string key="name">contentView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="sideMenuView">
<string key="name">sideMenuView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="stateBarView">
<string key="name">stateBarView</string>
<string key="candidateClassName">UIView</string>
</object>
<object class="IBToOneOutletInfo" key="tabBarView">
<string key="name">tabBarView</string>
<string key="candidateClassName">UIView</string>
</object>
</dictionary>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../Classes/LinphoneUI/UICompositeViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UICompositeViewController</string>
<object class="NSMutableDictionary" key="actions">
<string key="NS.key.0">onRightSwipe:</string>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="actionInfosByName">
<string key="NS.key.0">onRightSwipe:</string>
<object class="IBActionInfo" key="NS.object.0">
<string key="name">onRightSwipe:</string>
<string key="candidateClassName">id</string>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../Classes/LinphoneUI/UICompositeViewController.m</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITransparentView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">../Classes/LinphoneUI/UITransparentView.h</string>
</object>
</object>
</array>
<array class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<object class="IBPartialClassDescription">
<string key="className">UIGestureRecognizer</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIGestureRecognizer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchBar</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchBar.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISearchDisplayController</string>
<string key="superclassName">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISearchDisplayController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UISwipeGestureRecognizer</string>
<string key="superclassName">UIGestureRecognizer</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISwipeGestureRecognizer.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<string key="superclassName">UIResponder</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIViewController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBDocument.previouslyAttemptedUpgradeToXcode5">NO</bool>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="4600" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
</data>
</archive>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" promptedForUpgradeToXcode5="NO">
<dependencies>
<deployment identifier="iOS"/>
<development version="6000" identifier="xcode"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="7703"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="UICompositeViewController">
<connections>
<outlet property="contentView" destination="15" id="17"/>
<outlet property="landscapeView" destination="20" id="25"/>
<outlet property="portraitView" destination="1" id="24"/>
<outlet property="sideMenuView" destination="26" id="37"/>
<outlet property="stateBarView" destination="14" id="18"/>
<outlet property="tabBarView" destination="16" id="19"/>
<outlet property="view" destination="1" id="3"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="1" userLabel="Portrait View">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<view autoresizesSubviews="NO" tag="1" contentMode="scaleToFill" id="15" userLabel="content">
<rect key="frame" x="0.0" y="42" width="375" height="559"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<gestureRecognizers/>
<connections>
<outletCollection property="gestureRecognizers" destination="40" appends="YES" id="41"/>
</connections>
</view>
<view autoresizesSubviews="NO" tag="2" contentMode="scaleToFill" id="14" userLabel="stateBar" customClass="UITransparentView">
<rect key="frame" x="0.0" y="0.0" width="375" height="42"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<view autoresizesSubviews="NO" tag="3" contentMode="scaleToFill" id="16" userLabel="tabBar" customClass="UITransparentView">
<rect key="frame" x="0.0" y="604" width="375" height="66"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<view hidden="YES" clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="26" userLabel="sideMenuView">
<rect key="frame" x="-375" y="42" width="375" height="625"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<nil key="simulatedStatusBarMetrics"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
<point key="canvasLocation" x="-110.5" y="22.5"/>
</view>
<view contentMode="scaleToFill" id="20" userLabel="Landscape View">
<rect key="frame" x="0.0" y="0.0" width="667" height="375"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<subviews>
<view autoresizesSubviews="NO" tag="1" contentMode="scaleToFill" id="23" userLabel="content">
<rect key="frame" x="0.0" y="27" width="667" height="296"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<view autoresizesSubviews="NO" tag="2" contentMode="scaleToFill" id="22" userLabel="stateBar" customClass="UITransparentView">
<rect key="frame" x="0.0" y="0.0" width="667" height="26"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
<view autoresizesSubviews="NO" tag="3" contentMode="scaleToFill" id="21" userLabel="tabBar" customClass="UITransparentView">
<rect key="frame" x="0.0" y="325" width="667" height="50"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<nil key="simulatedStatusBarMetrics"/>
<simulatedOrientationMetrics key="simulatedOrientationMetrics" orientation="landscapeRight"/>
<simulatedScreenMetrics key="simulatedDestinationMetrics" type="retina47"/>
<point key="canvasLocation" x="452.5" y="-106.5"/>
</view>
<swipeGestureRecognizer direction="right" id="40">
<connections>
<action selector="onRightSwipe:" destination="-1" id="43"/>
<outlet property="delegate" destination="-1" id="42"/>
</connections>
</swipeGestureRecognizer>
</objects>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>
<simulatedOrientationMetrics key="orientation"/>
<simulatedScreenMetrics key="destination" type="retina4"/>
</simulatedMetricsContainer>
</document>

View file

@ -58,18 +58,19 @@
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="yg7-rx-XVv" userLabel="sideMenuButton">
<rect key="frame" x="0.0" y="0.0" width="40" height="40"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<state key="normal" title="Button" image="menu.png">
<state key="normal" image="menu.png">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="onSideMenuClick:" destination="-1" eventType="touchUpInside" id="EeV-2U-i44"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="3Jg-EU-ajT" userLabel="voicemailButton">
<rect key="frame" x="249" y="0.0" width="111" height="40"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="right" contentVerticalAlignment="center" lineBreakMode="middleTruncation" id="3Jg-EU-ajT" userLabel="voicemailButton">
<rect key="frame" x="48" y="0.0" width="312" height="40"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<inset key="contentEdgeInsets" minX="0.0" minY="0.0" maxX="5" maxY="0.0"/>
<inset key="titleEdgeInsets" minX="6" minY="0.0" maxX="0.0" maxY="0.0"/>
<state key="normal" title="12" image="voicemail.png">
<state key="normal" title="1234" image="voicemail.png">
<color key="titleShadowColor" white="0.5" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
@ -91,11 +92,11 @@
</view>
</objects>
<resources>
<image name="call_quality_indicator_2.png" width="56" height="58"/>
<image name="led_disconnected.png" width="35" height="35"/>
<image name="menu.png" width="56" height="55"/>
<image name="security_ok.png" width="38" height="49"/>
<image name="voicemail.png" width="76" height="36"/>
<image name="call_quality_indicator_2.png" width="19" height="20"/>
<image name="led_disconnected.png" width="12" height="12"/>
<image name="menu.png" width="19" height="19"/>
<image name="security_ok.png" width="13" height="17"/>
<image name="voicemail.png" width="26" height="12"/>
</resources>
<simulatedMetricsContainer key="defaultSimulatedMetrics">
<simulatedStatusBarMetrics key="statusBar"/>

View file

@ -177,7 +177,6 @@
[self.contentViewController viewWillAppear:animated];
[self.tabBarViewController viewWillAppear:animated];
[self.stateBarViewController viewWillAppear:animated];
[self.sideMenuViewController viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(orientationDidChange:)
@ -559,6 +558,7 @@
[self.stateBarViewController.view setFrame:frame];
CGRect sideMenuFrame = contentFrame;
contentFrame.origin.x = (_sideMenuView.hidden ? -contentFrame.size.width : 0);
sideMenuFrame.size.height += tabFrame.size.height;
_sideMenuView.frame = sideMenuFrame;
_sideMenuViewController.view.frame = [_sideMenuView bounds];
@ -611,11 +611,6 @@
[LinphoneUtils findAndResignFirstResponder:self.view];
CGRect d = _sideMenuView.frame;
// first replace sidemenuview at the right place, if needed
d.origin.x = hidden ? 0 : -d.size.width;
_sideMenuView.frame = d;
d.origin.x = hidden ? -d.size.width : 0;
if (animated) {

View file

@ -316,7 +316,11 @@
- (IBAction)onSideMenuClick:(id)sender {
UICompositeViewController *cvc = PhoneMainView.instance.mainViewController;
[cvc hideSideMenu:!cvc.sideMenuView.hidden];
if (cvc.sideMenuView.hidden) {
[cvc hideSideMenu:NO];
} else {
[cvc hideSideMenu:cvc.sideMenuView.frame.origin.x == 0];
}
}
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {

View file

@ -72,6 +72,7 @@
- (UIViewController*)changeCurrentView:(UICompositeViewDescription *)currentView;
- (UIViewController*)changeCurrentView:(UICompositeViewDescription *)currentView push:(BOOL)push;
- (UIViewController *)changeCurrentView:(UICompositeViewDescription *)view push:(BOOL)push animated:(BOOL)animated;
- (UIViewController*)popCurrentView;
- (void)popToView:(UICompositeViewDescription *)currentView;
- (UICompositeViewDescription *)firstView;

View file

@ -530,6 +530,12 @@ static RootViewManager *rootViewManagerInstance = nil;
}
- (UIViewController *)changeCurrentView:(UICompositeViewDescription *)view push:(BOOL)push {
return [self changeCurrentView:view
push:push
animated:[[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]];
}
- (UIViewController *)changeCurrentView:(UICompositeViewDescription *)view push:(BOOL)push animated:(BOOL)animated {
BOOL force = push;
NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack;
if (!push) {
@ -537,23 +543,20 @@ static RootViewManager *rootViewManagerInstance = nil;
[viewStack removeAllObjects];
}
[viewStack addObject:view];
return [self _changeCurrentView:view transition:nil force:force];
return [self _changeCurrentView:view transition:nil force:force animated:animated];
}
- (UIViewController *)_changeCurrentView:(UICompositeViewDescription *)view
transition:(CATransition *)transition
force:(BOOL)force {
force:(BOOL)force
animated:(BOOL)animated {
PhoneMainView *vc = [[RootViewManager instance] setViewControllerForDescription:view];
if (force || ![view equal:vc.currentView] || vc != self) {
LOGI(@"PhoneMainView: Change current view to %@", [view name]);
if (transition == nil)
if (animated && transition == nil)
transition = [PhoneMainView getTransition:vc.currentView new:view];
if ([[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"] == true) {
[vc.mainViewController setViewTransition:transition];
} else {
[vc.mainViewController setViewTransition:nil];
}
[vc.mainViewController setViewTransition:(animated ? transition : nil)];
[vc updateStatusBar:view];
[vc.mainViewController changeView:view];
vc->currentView = view;
@ -572,7 +575,10 @@ static RootViewManager *rootViewManagerInstance = nil;
while ([viewStack count] > 1 && ![[viewStack lastObject] equal:view]) {
[viewStack removeLastObject];
}
[self _changeCurrentView:[viewStack lastObject] transition:[PhoneMainView getBackwardTransition] force:TRUE];
[self _changeCurrentView:[viewStack lastObject]
transition:[PhoneMainView getBackwardTransition]
force:TRUE
animated:[[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]];
}
- (UICompositeViewDescription *)firstView {
@ -589,7 +595,10 @@ static RootViewManager *rootViewManagerInstance = nil;
NSMutableArray *viewStack = [RootViewManager instance].viewDescriptionStack;
if ([viewStack count] > 1) {
[viewStack removeLastObject];
[self _changeCurrentView:[viewStack lastObject] transition:[PhoneMainView getBackwardTransition] force:TRUE];
[self _changeCurrentView:[viewStack lastObject]
transition:[PhoneMainView getBackwardTransition]
force:TRUE
animated:[[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]];
return [mainViewController getCurrentViewController];
}
return nil;

View file

@ -33,13 +33,18 @@
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"Settings", nil)
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:SettingsViewController.compositeViewDescription];
changeCurrentView:SettingsViewController.compositeViewDescription
push:NO
animated:NO];
}]];
[_sideMenuEntries
addObject:[[SideMenuEntry alloc] initWithTitle:NSLocalizedString(@"About", nil)
tapBlock:^() {
[PhoneMainView.instance
changeCurrentView:AboutViewController.compositeViewDescription];
changeCurrentView:AboutViewController.compositeViewDescription
push:NO
animated:NO];
}]];
}
@ -67,8 +72,8 @@
if (entry->onTapBlock == nil) {
LOGF(@"Entry %@ has no onTapBlock!", entry->title);
}
[PhoneMainView.instance.mainViewController hideSideMenu:YES];
entry->onTapBlock();
[PhoneMainView.instance.mainViewController hideSideMenu:YES];
}
@end

View file

@ -18,11 +18,20 @@
return [super initWithNibName:@"SideMenuViewController" bundle:[NSBundle mainBundle]];
}
- (void)viewWillAppear:(BOOL)animated {
- (void)updateHeader {
LinphoneProxyConfig *default_proxy = linphone_core_get_default_proxy_config([LinphoneManager getLc]);
linphone_proxy_config_get [FastAddressBook setDisplayNameLabel:_nameLabel forAddress:@"toto replace me"];
[FastAddressBook setDisplayNameLabel:_addressLabel forAddress:@"yolo"];
[FastAddressBook getContactImage:nil thumbnail:NO];
const LinphoneAddress *addr = linphone_proxy_config_get_identity_address(default_proxy);
if (default_proxy != NULL) {
[FastAddressBook setDisplayNameLabel:_nameLabel forAddress:addr];
char *as_string = linphone_address_as_string(addr);
_addressLabel.text = [NSString stringWithUTF8String:as_string];
ms_free(as_string);
[FastAddressBook getContactImage:[FastAddressBook getContactWithLinphoneAddress:addr] thumbnail:NO];
}
}
- (void)viewWillAppear:(BOOL)animated {
[self updateHeader];
}
- (IBAction)onLateralSwipe:(id)sender {

View file

@ -39,7 +39,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" id="i1P-cG-q8h" userLabel="headerView">
<rect key="frame" x="0.0" y="0.0" width="375" height="100"/>
<rect key="frame" x="0.0" y="0.0" width="300" height="100"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="avatar.png" id="BNQ-7N-NGT" userLabel="avatarImage">
@ -64,7 +64,7 @@
<color key="backgroundColor" red="0.88235294119999996" green="0.88235294119999996" blue="0.88235294119999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" style="plain" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="Ttt-1k-jAm">
<rect key="frame" x="0.0" y="100" width="375" height="532"/>
<rect key="frame" x="0.0" y="100" width="300" height="532"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMaxX="YES" flexibleMinY="YES" heightSizable="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<connections>

View file

@ -76,9 +76,13 @@ static void sync_address_book(ABAddressBookRef addressBook, CFDictionaryRef info
}
+ (ABRecordRef)getContact:(NSString *)address {
@synchronized(LinphoneManager.instance.fastAddressBook->addressBookMap) {
return (__bridge ABRecordRef)[LinphoneManager.instance.fastAddressBook->addressBookMap objectForKey:address];
if (LinphoneManager.instance.fastAddressBook != nil) {
@synchronized(LinphoneManager.instance.fastAddressBook->addressBookMap) {
return (
__bridge ABRecordRef)[LinphoneManager.instance.fastAddressBook->addressBookMap objectForKey:address];
}
}
return nil;
}
+ (ABRecordRef)getContactWithLinphoneAddress:(const LinphoneAddress *)address {

@ -1 +1 @@
Subproject commit 747fd8e6f613d741d50e6e3da90be321a16c4163
Subproject commit 617b75356252dfa4942ea2b7a8e0bb4f4b33bb1c