Merge branch 'new_ui' of git://git.linphone.org/linphone-iphone

Conflicts:
	Classes/InCallViewController.m
	Classes/IncomingCallViewController.xib
	Classes/LinphoneUI/UICallBar.m
	Classes/LinphoneUI/UICallBar.xib
	Classes/LinphoneUI/UIMainBar.m
	linphone.xcodeproj/project.pbxproj
	submodules/linphone
This commit is contained in:
Yann Diorcet 2012-08-06 15:32:48 +02:00
commit 4e5066034b
307 changed files with 20257 additions and 4346 deletions

View file

@ -45,7 +45,8 @@
}
}
#pragma mark -
#pragma mark -
- (void)loadData {
if(data != nil) {
@ -150,7 +151,7 @@
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
ChatModel *chat = [data objectAtIndex:[indexPath row]];
return [UIChatRoomCell height:chat];
return [UIChatRoomCell height:chat width:[self.view frame].size.width];
}
@end

View file

@ -37,6 +37,7 @@
UIImageView *avatarImage;
UIView *headerView;
UIView *footerView;
UIImageView *fieldBackgroundImage;
}
@ -48,6 +49,7 @@
@property (nonatomic, retain) IBOutlet UIImageView *avatarImage;
@property (nonatomic, retain) IBOutlet UIView *headerView;
@property (nonatomic, retain) IBOutlet UIView *footerView;
@property (nonatomic, retain) IBOutlet UIImageView *fieldBackgroundImage;
@property (nonatomic, copy) NSString *remoteAddress;
- (IBAction)onBackClick:(id)event;

View file

@ -33,6 +33,8 @@
@synthesize avatarImage;
@synthesize headerView;
@synthesize footerView;
@synthesize fieldBackgroundImage;
#pragma mark - Lifecycle Functions
@ -55,6 +57,7 @@
[avatarImage release];
[headerView release];
[footerView release];
[fieldBackgroundImage release];
[super dealloc];
}
@ -72,7 +75,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;
@ -109,6 +112,9 @@ static UICompositeViewDescription *compositeDescription = nil;
[tableController setEditing:FALSE animated:FALSE];
[editButton setOff];
[[tableController tableView] reloadData];
[fieldBackgroundImage setImage:[TUNinePatchCache imageOfSize:[fieldBackgroundImage bounds].size
forNinePatchNamed:@"chat_field"]];
}
- (void)viewWillDisappear:(BOOL)animated {
@ -140,6 +146,7 @@ static UICompositeViewDescription *compositeDescription = nil;
[remoteAddress release];
}
remoteAddress = [aRemoteAddress copy];
[messageField setText:@""];
[tableController setRemoteAddress: remoteAddress];
[self update];
}
@ -259,6 +266,7 @@ static UICompositeViewDescription *compositeDescription = nil;
}
}
#pragma mark - Keyboard Event Functions
- (void)keyboardWillHide:(NSNotification *)notif {
@ -294,19 +302,33 @@ static UICompositeViewDescription *compositeDescription = nil;
[UIView setAnimationDuration:duration];
[UIView setAnimationCurve:curve];
[UIView setAnimationBeginsFromCurrentState:TRUE];
if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
int width = endFrame.size.height;
endFrame.size.height = endFrame.size.width;
endFrame.size.width = width;
}
// Move view
CGRect frame = [[self view] frame];
frame.origin.y = [self.view convertPoint:endFrame.origin fromView:nil].y - frame.size.height;
[[self view] setFrame:frame];
{
CGRect frame = [[self view] frame];
CGRect rect = [PhoneMainView instance].view.bounds;
CGPoint pos = {frame.size.width, frame.size.height};
CGPoint gPos = [self.view convertPoint:pos toView:[UIApplication sharedApplication].keyWindow.rootViewController.view]; // Bypass IOS bug on landscape mode
frame.origin.y = (rect.size.height - gPos.y - endFrame.size.height);
if(frame.origin.y > 0) frame.origin.y = 0;
[[self view] setFrame:frame];
}
// Resize table view
CGPoint pos = {0, 0};
CGPoint gPos = [[self.view superview] convertPoint:pos toView:self.view];
CGRect tableFrame = [tableController.view frame];
tableFrame.origin.y = gPos.y;
tableFrame.size.height = [footerView frame].origin.y - tableFrame.origin.y;
[tableController.view setFrame:tableFrame];
{
CGPoint pos = {0, 0};
CGPoint gPos = [[self.view superview] convertPoint:pos toView:self.view];
CGRect tableFrame = [tableController.view frame];
tableFrame.origin.y = gPos.y;
tableFrame.size.height = [footerView frame].origin.y - tableFrame.origin.y;
[tableController.view setFrame:tableFrame];
}
// Scroll
int lastSection = [tableController.tableView numberOfSections] -1;

View file

@ -3,22 +3,22 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIView</string>
<string>IBUIImageView</string>
<string>IBProxyObject</string>
<string>IBUILabel</string>
<string>IBUITextField</string>
<string>IBUITableViewController</string>
<string>IBUITableView</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUILabel</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUITextField</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -44,6 +44,21 @@
<reference key="NSNextResponder" ref="589117993"/>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="393955689">
<reference key="NSNextResponder" ref="333187864"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="333187864"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="544154475"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="544154475">
<reference key="NSNextResponder" ref="333187864"/>
<int key="NSvFlags">292</int>
@ -84,7 +99,7 @@
</object>
<object class="IBUIButton" id="602867427">
<reference key="NSNextResponder" ref="333187864"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{160, 0}, {160, 58}}</string>
<reference key="NSSuperview" ref="333187864"/>
<reference key="NSWindow"/>
@ -118,7 +133,7 @@
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="589117993"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="544154475"/>
<reference key="NSNextKeyView" ref="393955689"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
@ -150,7 +165,7 @@
</object>
<object class="IBUIImageView" id="495119736">
<reference key="NSNextResponder" ref="414508017"/>
<int key="NSvFlags">274</int>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 6}, {65, 65}}</string>
<reference key="NSSuperview" ref="414508017"/>
<reference key="NSWindow"/>
@ -165,7 +180,7 @@
</object>
<object class="IBUILabel" id="578164845">
<reference key="NSNextResponder" ref="414508017"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{101, 37}, {199, 43}}</string>
<reference key="NSSuperview" ref="414508017"/>
<reference key="NSWindow"/>
@ -238,6 +253,7 @@
<string key="NSFrame">{{250, 0}, {70, 59}}</string>
<reference key="NSSuperview" ref="833509359"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
@ -267,7 +283,7 @@
</object>
<object class="IBUIImageView" id="946416684">
<reference key="NSNextResponder" ref="833509359"/>
<int key="NSvFlags">260</int>
<int key="NSvFlags">258</int>
<string key="NSFrameSize">{250, 59}</string>
<reference key="NSSuperview" ref="833509359"/>
<reference key="NSWindow"/>
@ -282,7 +298,7 @@
</object>
<object class="IBUITextField" id="87421816">
<reference key="NSNextResponder" ref="833509359"/>
<int key="NSvFlags">260</int>
<int key="NSvFlags">258</int>
<string key="NSFrame">{{10, 10}, {230, 39}}</string>
<reference key="NSSuperview" ref="833509359"/>
<reference key="NSWindow"/>
@ -422,6 +438,14 @@
</object>
<int key="connectionID">46</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">fieldBackgroundImage</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="946416684"/>
</object>
<int key="connectionID">48</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dataSource</string>
@ -527,6 +551,7 @@
<array class="NSMutableArray" key="children">
<reference ref="544154475"/>
<reference ref="602867427"/>
<reference ref="393955689"/>
</array>
<reference key="parent" ref="589117993"/>
<string key="objectName">toolsView</string>
@ -577,7 +602,7 @@
<int key="objectID">21</int>
<reference key="object" ref="946416684"/>
<reference key="parent" ref="833509359"/>
<string key="objectName">fieldBackground</string>
<string key="objectName">fieldBackgroundImage</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">29</int>
@ -614,6 +639,12 @@
<reference key="parent" ref="414508017"/>
<string key="objectName">addressLabel</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">47</int>
<reference key="object" ref="393955689"/>
<reference key="parent" ref="333187864"/>
<string key="objectName">background</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -635,6 +666,7 @@
<string key="40.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="41.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="42.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="47.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -645,7 +677,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">46</int>
<int key="maxID">48</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -688,6 +720,7 @@
<string key="addressLabel">UILabel</string>
<string key="avatarImage">UIImageView</string>
<string key="editButton">UIToggleButton</string>
<string key="fieldBackgroundImage">UIImageView</string>
<string key="footerView">UIView</string>
<string key="headerView">UIView</string>
<string key="messageField">UITextField</string>
@ -707,6 +740,10 @@
<string key="name">editButton</string>
<string key="candidateClassName">UIToggleButton</string>
</object>
<object class="IBToOneOutletInfo" key="fieldBackgroundImage">
<string key="name">fieldBackgroundImage</string>
<string key="candidateClassName">UIImageView</string>
</object>
<object class="IBToOneOutletInfo" key="footerView">
<string key="name">footerView</string>
<string key="candidateClassName">UIView</string>
@ -763,7 +800,8 @@
<string key="chat_send_default.png">{140, 117}</string>
<string key="chat_send_disabled.png">{140, 117}</string>
<string key="chat_send_over.png">{140, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -93,7 +93,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar: @"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;

View file

@ -3,19 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUITableViewController</string>
<string>IBUITableView</string>
<string>IBUIView</string>
<string>IBUIButton</string>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -39,8 +40,23 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="852221244">
<reference key="NSNextResponder" ref="1010501960"/>
<int key="NSvFlags">288</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="428805768">
<reference key="NSNextResponder" ref="852221244"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="852221244"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="174033966"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="174033966">
<reference key="NSNextResponder" ref="852221244"/>
<int key="NSvFlags">292</int>
@ -81,7 +97,7 @@
</object>
<object class="IBUIButton" id="1001279594">
<reference key="NSNextResponder" ref="852221244"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{160, 0}, {160, 58}}</string>
<reference key="NSSuperview" ref="852221244"/>
<reference key="NSWindow"/>
@ -115,7 +131,7 @@
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="1010501960"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="174033966"/>
<reference key="NSNextKeyView" ref="428805768"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
@ -290,9 +306,10 @@
<array class="NSMutableArray" key="children">
<reference ref="1001279594"/>
<reference ref="174033966"/>
<reference ref="428805768"/>
</array>
<reference key="parent" ref="1010501960"/>
<string key="objectName">header</string>
<string key="objectName">toolsBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">9</int>
@ -306,6 +323,12 @@
<reference key="parent" ref="852221244"/>
<string key="objectName">addButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">23</int>
<reference key="object" ref="428805768"/>
<reference key="parent" ref="852221244"/>
<string key="objectName">background</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -315,6 +338,7 @@
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="2" key="10.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.CustomClassName">ChatTableViewController</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -328,7 +352,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">22</int>
<int key="maxID">23</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -400,7 +424,8 @@
<string key="chat_edit_default.png">{320, 117}</string>
<string key="chat_edit_over.png">{320, 117}</string>
<string key="chat_ok_default.png">{320, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -1,35 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.03">
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">9L31a</string>
<string key="IBDocument.InterfaceBuilderVersion">680</string>
<string key="IBDocument.AppKitVersion">949.54</string>
<string key="IBDocument.HIToolboxVersion">353.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="10"/>
<string>IBProxyObject</string>
<string>IBUITextView</string>
<string>IBUIView</string>
<string>IBUIViewController</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
<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="962557183">
<object class="IBUIView" key="IBUIView" id="679133499">
@ -42,12 +46,14 @@
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 450}</string>
<reference key="NSSuperview" ref="679133499"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIMultipleTouchEnabled">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
<bool key="IBUIDelaysContentTouches">NO</bool>
<bool key="IBUICanCancelContentTouches">NO</bool>
@ -56,11 +62,22 @@
<string key="IBUIText"/>
<object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocapitalizationType">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIFontDescription" key="IBUIFontDescription">
<int key="type">1</int>
<double key="pointSize">17</double>
</object>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
</object>
</object>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
@ -69,8 +86,14 @@
</object>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
@ -116,7 +139,7 @@
<int key="objectID">-1</int>
<reference key="object" ref="372490531"/>
<reference key="parent" ref="732835941"/>
<string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string>
<string key="objectName">File's Owner</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">-2</int>
@ -151,22 +174,24 @@
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-1.IBPluginDependency</string>
<string>-2.CustomClassName</string>
<string>-2.IBPluginDependency</string>
<string>10.CustomClassName</string>
<string>10.IBEditorWindowLastContentRect</string>
<string>10.IBPluginDependency</string>
<string>4.IBPluginDependency</string>
<string>7.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>ConsoleViewController</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>UIResponder</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>ConsoleViewController</string>
<string>{{807, 300}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -174,22 +199,14 @@
</object>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.sortedKeys" ref="732835941"/>
<reference key="dict.values" ref="732835941"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.sortedKeys" ref="732835941"/>
<reference key="dict.values" ref="732835941"/>
</object>
<nil key="sourceID"/>
<int key="maxID">14</int>
@ -202,27 +219,59 @@
<string key="superclassName">UIViewController</string>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMutableArray" key="dict.sortedKeys">
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>logs</string>
<string>logsView</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UITextView</string>
<string>UIView</string>
</object>
</object>
<object class="NSMutableDictionary" key="toOneOutletInfosByName">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>logs</string>
<string>logsView</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">logs</string>
<string key="candidateClassName">UITextView</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">logsView</string>
<string key="candidateClassName">UIView</string>
</object>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/ConsoleViewController.h</string>
<string key="minorKey">./Classes/ConsoleViewController.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.LastKnownRelativeProjectPath">../linphone.xcodeproj</string>
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="784" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<real value="1296" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">3.1</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -18,18 +18,25 @@
*/
#import <UIKit/UIKit.h>
#import "UICompositeViewController.h"
#import "UIModalViewController.h"
@protocol ContactDetailsLabelViewDelegate <NSObject>
@interface ContactDetailsLabelViewController : UIModalViewController<UITableViewDelegate, UITableViewDataSource> {
- (void)changeContactDetailsLabel:(NSString*)label;
@end
@interface ContactDetailsLabelViewController : UIViewController<UITableViewDelegate, UITableViewDataSource, UICompositeViewDelegate> {
NSDictionary *dataList;
UITableView *tableView;
NSString *selectedData;
id<ContactDetailsLabelViewDelegate> delegate;
}
@property (nonatomic, copy) NSString *selectedData;
@property (nonatomic, retain) NSDictionary *dataList;
@property (nonatomic, retain) IBOutlet UITableView *tableView;
@property (nonatomic, retain) id<ContactDetailsLabelViewDelegate> delegate;
- (IBAction)onBackClick:(id)event;

View file

@ -21,12 +21,26 @@
#import "UACellBackgroundView.h"
#import "UILinphone.h"
#import "PhoneMainView.h"
@implementation ContactDetailsLabelViewController
@synthesize dataList;
@synthesize tableView;
@synthesize selectedData;
@synthesize delegate;
#pragma mark - Lifecycle Functions
- (void)dealloc {
[selectedData release];
[dataList release];
[tableView release];
[delegate release];
[super dealloc];
}
#pragma mark - ViewController Functions
@ -37,6 +51,34 @@
}
#pragma mark - UICompositeViewDelegate Functions
static UICompositeViewDescription *compositeDescription = nil;
+ (UICompositeViewDescription *)compositeViewDescription {
if(compositeDescription == nil) {
compositeDescription = [[UICompositeViewDescription alloc] init:@"ContactDetailsLabel"
content:@"ContactDetailsLabelViewController"
stateBar:nil
stateBarEnabled:false
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:true
portraitMode:true];
}
return compositeDescription;
}
#pragma mark -
- (void)dismiss {
if([[[PhoneMainView instance] currentView] equal:[ContactDetailsLabelViewController compositeViewDescription]]) {
[[PhoneMainView instance] popCurrentView];
}
}
#pragma mark - Property Functions
- (void)setDataList:(NSDictionary *)adatalist {
@ -56,6 +98,7 @@
[tableView reloadData];
}
#pragma mark - UITableViewDataSource Functions
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
@ -90,7 +133,8 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSString* key = [[dataList allKeys] objectAtIndex:[indexPath row]];
[self setSelectedData:key];
[self dismiss:key];
[delegate changeContactDetailsLabel:key];
[self dismiss];
}

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUITableView</string>
<string>IBUIButton</string>
<string>IBUIView</string>
<string>IBUIImageView</string>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUITableView</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -61,17 +61,17 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="868223268">
<reference key="NSNextResponder" ref="786589861"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="786589861"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1001416449"/>
<reference key="NSNextKeyView" ref="1031075615"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">contact_bar_background.png</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="1031075615">
@ -80,7 +80,7 @@
<string key="NSFrameSize">{160, 58}</string>
<reference key="NSSuperview" ref="786589861"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="868223268"/>
<reference key="NSNextKeyView" ref="1001416449"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
@ -116,7 +116,7 @@
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="1031663480"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1031075615"/>
<reference key="NSNextKeyView" ref="868223268"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
@ -210,12 +210,11 @@ AAgACAAIAAEAAQABAAE</bytes>
<float key="IBUISectionFooterHeight">10</float>
</object>
</array>
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="143170749"/>
<reference key="IBUIBackgroundColor" ref="693262304"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
@ -306,7 +305,7 @@ AAgACAAIAAEAAQABAAE</bytes>
<reference ref="868223268"/>
</array>
<reference key="parent" ref="1031663480"/>
<string key="objectName">header</string>
<string key="objectName">toolsBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
@ -401,8 +400,8 @@ AAgACAAIAAEAAQABAAE</bytes>
<string key="background.png">{640, 523}</string>
<string key="contact_back_default.png">{320, 117}</string>
<string key="contact_back_over.png">{320, 117}</string>
<string key="contact_bar_background.png">{5, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -24,11 +24,10 @@
#import "UIContactDetailsHeader.h"
#import "UIContactDetailsFooter.h"
@interface ContactDetailsTableViewController : UITableViewController<UIModalViewDelegate, UITextFieldDelegate> {
@interface ContactDetailsTableViewController : UITableViewController<ContactDetailsLabelViewDelegate, UITextFieldDelegate> {
@private
ABRecordRef contact;
NSMutableArray *dataCache;
ContactDetailsLabelViewController *contactDetailsLabelViewController;
NSMutableArray *labelArray;
NSIndexPath *editingIndexPath;
@public

View file

@ -20,7 +20,6 @@
#import "ContactDetailsTableViewController.h"
#import "PhoneMainView.h"
#import "UIEditableTableViewCell.h"
#import "UIView+ModalStack.h"
#import "UACellBackgroundView.h"
#import "UILinphone.h"
#import "OrderedDictionary.h"
@ -61,7 +60,6 @@
#pragma mark - Lifecycle Functions
- (void)initContactDetailsTableViewController {
dataCache = [[NSMutableArray alloc] init];
labelArray = [[NSMutableArray alloc] initWithObjects:
@"Linphone",
@ -70,6 +68,7 @@
[NSString stringWithString:(NSString*)kABPersonPhoneMainLabel], nil];
headerController = [[UIContactDetailsHeader alloc] init];
footerController = [[UIContactDetailsFooter alloc] init];
editingIndexPath = nil;
}
- (id)init {
@ -88,7 +87,13 @@
return self;
}
- (void)dealloc {
- (void)dealloc {
if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) {
CFRelease(contact);
}
if(editingIndexPath != nil) {
[editingIndexPath release];
}
[labelArray release];
[dataCache release];
[headerController release];
@ -105,27 +110,8 @@
[self.tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if(contactDetailsLabelViewController != nil) {
[[[self view] superview] removeModalView:[contactDetailsLabelViewController view]];
[editingIndexPath release];
editingIndexPath = nil;
[contactDetailsLabelViewController release];
contactDetailsLabelViewController = nil;
}
}
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) {
CFRelease(contact);
}
contact = nil;
}
@ -344,6 +330,9 @@
#pragma mark - Property Functions
- (void)setContact:(ABRecordRef)acontact {
if(contact != nil && ABRecordGetRecordID(contact) == kABRecordInvalidID) {
CFRelease(contact);
}
self->contact = acontact;
[self loadData];
}
@ -494,13 +483,16 @@
CFRelease(lMap);
}
if(key != nil) {
contactDetailsLabelViewController = [[ContactDetailsLabelViewController alloc] initWithNibName:@"ContactDetailsLabelViewController"
bundle:[NSBundle mainBundle]];
[contactDetailsLabelViewController setSelectedData:key];
[contactDetailsLabelViewController setDataList:[self getLocalizedLabels]];
[contactDetailsLabelViewController setModalDelegate:self];
if(editingIndexPath != nil) {
[editingIndexPath release];
}
editingIndexPath = [indexPath copy];
[[[self view] superview] addModalView:[contactDetailsLabelViewController view]];
ContactDetailsLabelViewController *controller = DYNAMIC_CAST([[PhoneMainView instance] changeCurrentView:[ContactDetailsLabelViewController compositeViewDescription] push:TRUE], ContactDetailsLabelViewController);
if(controller != nil) {
[controller setDataList:[self getLocalizedLabels]];
[controller setSelectedData:key];
[controller setDelegate:self];
}
}
}
}
@ -546,6 +538,7 @@
}
[headerController setEditing:editing animated:animated];
[footerController setEditing:editing animated:animated];
}
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
@ -608,11 +601,9 @@
}
#pragma mark - UIModalViewDeletage Functions
#pragma mark - ContactDetailsLabelDelegate Functions
- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value {
[[[self view]superview] removeModalView:[contactDetailsLabelViewController view]];
contactDetailsLabelViewController = nil;
- (void)changeContactDetailsLabel:(NSString *)value {
if(value != nil) {
NSMutableArray *sectionDict = [dataCache objectAtIndex:[editingIndexPath section]];
Entry *entry = [sectionDict objectAtIndex:[editingIndexPath row]];
@ -621,7 +612,7 @@
ABMutableMultiValueRef lMap = ABMultiValueCreateMutableCopy(lcMap);
CFRelease(lcMap);
int index = ABMultiValueGetIndexForIdentifier(lMap, [entry identifier]);
ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)((NSString*)value), index);
ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)(value), index);
ABRecordSetValue(contact, kABPersonPhoneProperty, lMap, nil);
CFRelease(lMap);
} else if([editingIndexPath section] == 1) {
@ -629,7 +620,7 @@
ABMutableMultiValueRef lMap = ABMultiValueCreateMutableCopy(lcMap);
CFRelease(lcMap);
int index = ABMultiValueGetIndexForIdentifier(lMap, [entry identifier]);
ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)((NSString*)value), index);
ABMultiValueReplaceLabelAtIndex(lMap, (CFStringRef)(value), index);
ABRecordSetValue(contact, kABPersonInstantMessageProperty, lMap, nil);
CFRelease(lMap);
}

View file

@ -57,6 +57,7 @@
#pragma mark -
- (void)resetData {
[self disableEdit:FALSE];
if(contact == NULL) {
ABAddressBookRevert(addressBook);
return;
@ -141,6 +142,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
- (void)newContact {
[LinphoneLogger logc:LinphoneLoggerLog format:"New contact"];
self->contact = NULL;
[self resetData];
self->contact = ABPersonCreate();
[tableController setContact:self->contact];
[self enableEdit:FALSE];
@ -149,6 +152,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
- (void)newContact:(NSString*)address {
[LinphoneLogger logc:LinphoneLoggerLog format:"New contact"];
self->contact = NULL;
[self resetData];
self->contact = ABPersonCreate();
[tableController setContact:self->contact];
[tableController addSipField:address];
@ -158,6 +163,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
- (void)editContact:(ABRecordRef)acontact {
[LinphoneLogger logc:LinphoneLoggerLog format:"Edit contact %p", acontact];
self->contact = NULL;
[self resetData];
self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact));
[tableController setContact:self->contact];
[self enableEdit:FALSE];
@ -166,6 +173,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
- (void)editContact:(ABRecordRef)acontact address:(NSString*)address {
[LinphoneLogger logc:LinphoneLoggerLog format:"Edit contact %p", acontact];
self->contact = NULL;
[self resetData];
self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact));
[tableController setContact:self->contact];
[tableController addSipField:address];
@ -178,9 +187,10 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
- (void)setContact:(ABRecordRef)acontact {
[LinphoneLogger logc:LinphoneLoggerLog format:"Set contact %p", acontact];
self->contact = NULL;
[self resetData];
self->contact = ABAddressBookGetPersonWithRecordID(addressBook, ABRecordGetRecordID(acontact));
[tableController setContact:self->contact];
[self disableEdit:FALSE];
}
@ -211,9 +221,6 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[tableController viewWillDisappear:animated];
}
[self disableEdit:FALSE];
self->contact = NULL;
[self resetData];
}
- (void)viewWillAppear:(BOOL)animated {
@ -257,7 +264,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;

View file

@ -3,20 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIImageView</string>
<string>IBUIButton</string>
<string>IBUITableView</string>
<string>IBUIView</string>
<string>IBUITableViewController</string>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -44,16 +44,17 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="463087888">
<reference key="NSNextResponder" ref="624008635"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="624008635"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="40094652"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">contact_bar_background.png</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="40094652">
@ -124,7 +125,7 @@
</object>
<object class="IBUIButton" id="100677920">
<reference key="NSNextResponder" ref="624008635"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{160, 0}, {160, 58}}</string>
<reference key="NSSuperview" ref="624008635"/>
<reference key="NSWindow"/>
@ -158,7 +159,7 @@
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="40094652"/>
<reference key="NSNextKeyView" ref="463087888"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
@ -175,6 +176,7 @@
<string key="NSFrame">{{0, 59}, {320, 401}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">10</int>
@ -252,12 +254,11 @@ AAgACAAIAAEAAQABAAE</bytes>
<float key="IBUISectionFooterHeight">10</float>
</object>
</array>
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="624008635"/>
<reference key="IBUIBackgroundColor" ref="845399741"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUITableViewController" id="537601624">
@ -449,7 +450,6 @@ AAgACAAIAAEAAQABAAE</bytes>
<string key="-2.CustomClassName">UIResponder</string>
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="19.CustomClassName">TPKeyboardAvoidingTableView</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="20.CustomClassName">ContactDetailsTableViewController</string>
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -530,14 +530,6 @@ AAgACAAIAAEAAQABAAE</bytes>
<string key="minorKey">./Classes/ContactDetailsViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">TPKeyboardAvoidingTableView</string>
<string key="superclassName">UITableView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/TPKeyboardAvoidingTableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIToggleButton</string>
<string key="superclassName">UIButton</string>
@ -559,13 +551,13 @@ AAgACAAIAAEAAQABAAE</bytes>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="contact_back_default.png">{320, 117}</string>
<string key="contact_back_over.png">{320, 117}</string>
<string key="contact_bar_background.png">{5, 117}</string>
<string key="contact_cancel_default.png">{320, 117}</string>
<string key="contact_cancel_over.png">{320, 117}</string>
<string key="contact_edit_default.png">{320, 117}</string>
<string key="contact_edit_over.png">{320, 117}</string>
<string key="contact_ok_default.png">{320, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -82,12 +82,16 @@
ABMultiValueRef lMap = ABRecordCopyValue((ABRecordRef)lPerson, kABPersonInstantMessageProperty);
for(int i = 0; i < ABMultiValueGetCount(lMap); ++i) {
CFDictionaryRef lDict = ABMultiValueCopyValueAtIndex(lMap, i);
if(CFDictionaryContainsKey(lDict, @"service")) {
if(CFStringCompare((CFStringRef)@"SIP", CFDictionaryGetValue(lDict, @"service"), kCFCompareCaseInsensitive) == 0) {
if(CFDictionaryContainsKey(lDict, kABPersonInstantMessageServiceKey)) {
CFStringRef serviceKey = CFDictionaryGetValue(lDict, kABPersonInstantMessageServiceKey);
if(CFStringCompare((CFStringRef)@"SIP", serviceKey, kCFCompareCaseInsensitive) == 0) {
add = true;
}
} else {
add = true;
NSString* usernameKey = CFDictionaryGetValue(lDict, kABPersonInstantMessageUsernameKey);
if([usernameKey hasPrefix:@"sip:"]) {
add = true;
}
}
CFRelease(lDict);
}

View file

@ -109,7 +109,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;

View file

@ -3,19 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIButton</string>
<string>IBUITableView</string>
<string>IBUIView</string>
<string>IBUITableViewController</string>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -39,11 +40,25 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="95706395">
<reference key="NSNextResponder" ref="812520855"/>
<int key="NSvFlags">288</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="958933557">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="95706395"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="257572356">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{108, 0}, {106, 58}}</string>
<reference key="NSSuperview" ref="95706395"/>
<reference key="NSWindow"/>
@ -82,7 +97,7 @@
</object>
<object class="IBUIButton" id="596330568">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{214, 0}, {106, 58}}</string>
<reference key="NSSuperview" ref="95706395"/>
<reference key="NSWindow"/>
@ -191,9 +206,7 @@
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC45NDExNzY0NzA2IDAuOTY0NzA1ODgyNCAwLjk2NDcwNTg4MjQAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<double key="IBUIContentInset.top">0.0</double>
<double key="IBUIContentInset.bottom">10</double>
@ -387,6 +400,7 @@
<reference ref="1037245389"/>
<reference ref="257572356"/>
<reference ref="596330568"/>
<reference ref="958933557"/>
</array>
<reference key="parent" ref="812520855"/>
<string key="objectName">toolBar</string>
@ -428,6 +442,12 @@
<reference key="parent" ref="95706395"/>
<string key="objectName">backButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">92</int>
<reference key="object" ref="958933557"/>
<reference key="parent" ref="95706395"/>
<string key="objectName">background</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -448,12 +468,13 @@
<string key="76.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="87.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="87.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="92.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">91</int>
<int key="maxID">92</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -550,7 +571,8 @@
<string key="contacts_back_over.png">{213, 117}</string>
<string key="contacts_linphone_default.png">{213, 117}</string>
<string key="contacts_linphone_selected.png">{213, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -31,7 +31,7 @@
//Buttons
UITextField* addressField;
UIButton* addContactButton;
UIButton* cancelButton;
UIButton* backButton;
UIEraseButton* eraseButton;
UICallButton* callButton;
UICallButton* addCallButton;
@ -65,7 +65,7 @@
@property (nonatomic, retain) IBOutlet UICallButton* callButton;
@property (nonatomic, retain) IBOutlet UICallButton* addCallButton;
@property (nonatomic, retain) IBOutlet UITransferButton* transferButton;
@property (nonatomic, retain) IBOutlet UIButton* cancelButton;
@property (nonatomic, retain) IBOutlet UIButton* backButton;
@property (nonatomic, retain) IBOutlet UIEraseButton* eraseButton;
@property (nonatomic, retain) IBOutlet UIButton* oneButton;

View file

@ -35,7 +35,7 @@
@synthesize addressField;
@synthesize addContactButton;
@synthesize cancelButton;
@synthesize backButton;
@synthesize addCallButton;
@synthesize transferButton;
@synthesize callButton;
@ -67,7 +67,7 @@
- (void)dealloc {
[addressField release];
[addContactButton release];
[cancelButton release];
[backButton release];
[eraseButton release];
[callButton release];
[addCallButton release];
@ -107,7 +107,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;
@ -181,12 +181,12 @@ static UICompositeViewDescription *compositeDescription = nil;
[transferButton setHidden:true];
}
[callButton setHidden:true];
[cancelButton setHidden:false];
[backButton setHidden:false];
[addContactButton setHidden:true];
} else {
[addCallButton setHidden:true];
[callButton setHidden:false];
[cancelButton setHidden:true];
[backButton setHidden:true];
[addContactButton setHidden:false];
[transferButton setHidden:true];
}

View file

@ -3,20 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUITextField</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -41,6 +41,82 @@
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIView" id="312750714">
<reference key="NSNextResponder" ref="542426306"/>
<int key="NSvFlags">288</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIImageView" id="874403835">
<reference key="NSNextResponder" ref="312750714"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{320, 80}</string>
<reference key="NSSuperview" ref="312750714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="751637181"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_address_background.png</string>
</object>
</object>
<object class="IBUITextField" id="751637181">
<reference key="NSNextResponder" ref="312750714"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{320, 60}</string>
<reference key="NSSuperview" ref="312750714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="242430033"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MSAwAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUIText"/>
<string key="IBUIPlaceholder">sip:</string>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">15</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIFontDescription" key="IBUIFontDescription">
<string key="name">Helvetica</string>
<string key="family">Helvetica</string>
<int key="traits">0</int>
<double key="pointSize">36</double>
</object>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica</string>
<double key="NSSize">36</double>
<int key="NSfFlags">16</int>
</object>
</object>
</object>
<string key="NSFrameSize">{320, 80}</string>
<reference key="NSSuperview" ref="542426306"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="874403835"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MSAwAA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace" id="415406112">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="242430033">
<reference key="NSNextResponder" ref="542426306"/>
<int key="NSvFlags">288</int>
@ -362,82 +438,6 @@
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="312750714">
<reference key="NSNextResponder" ref="542426306"/>
<int key="NSvFlags">288</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIImageView" id="874403835">
<reference key="NSNextResponder" ref="312750714"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{320, 80}</string>
<reference key="NSSuperview" ref="312750714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="751637181"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_address_background.png</string>
</object>
</object>
<object class="IBUITextField" id="751637181">
<reference key="NSNextResponder" ref="312750714"/>
<int key="NSvFlags">292</int>
<string key="NSFrameSize">{320, 60}</string>
<reference key="NSSuperview" ref="312750714"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="242430033"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MSAwAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUIText"/>
<string key="IBUIPlaceholder">sip:</string>
<object class="NSColor" key="IBUITextColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<bool key="IBUIAdjustsFontSizeToFit">YES</bool>
<float key="IBUIMinimumFontSize">15</float>
<object class="IBUITextInputTraits" key="IBUITextInputTraits">
<int key="IBUIAutocorrectionType">1</int>
<int key="IBUIKeyboardType">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIFontDescription" key="IBUIFontDescription">
<string key="name">Helvetica</string>
<string key="family">Helvetica</string>
<int key="traits">0</int>
<double key="pointSize">36</double>
</object>
<object class="NSFont" key="IBUIFont">
<string key="NSName">Helvetica</string>
<double key="NSSize">36</double>
<int key="NSfFlags">16</int>
</object>
</object>
</object>
<string key="NSFrameSize">{320, 80}</string>
<reference key="NSSuperview" ref="542426306"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="874403835"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MSAwAA</bytes>
<object class="NSColorSpace" key="NSCustomColorSpace" id="415406112">
<int key="NSID">2</int>
</object>
</object>
<bool key="IBUIClipsSubviews">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="32193173">
<reference key="NSNextResponder" ref="542426306"/>
<int key="NSvFlags">288</int>
@ -496,14 +496,14 @@
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">back_over.png</string>
</object>
<object class="NSCustomResource" key="IBUIDisabledImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">back_disabled.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">back_default.png</string>
</object>
<object class="NSCustomResource" key="IBUIDisabledBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">back_disabled.png</string>
</object>
<reference key="IBUIFontDescription" ref="769584456"/>
<reference key="IBUIFont" ref="177658264"/>
</object>
@ -776,14 +776,6 @@
</object>
<int key="connectionID">225</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">cancelButton</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="617539638"/>
</object>
<int key="connectionID">226</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">addCallButton</string>
@ -816,6 +808,14 @@
</object>
<int key="connectionID">253</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">backButton</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="617539638"/>
</object>
<int key="connectionID">254</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">delegate</string>
@ -1012,7 +1012,6 @@
<reference ref="32193173"/>
</object>
<reference key="parent" ref="0"/>
<string key="objectName">view</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">178</int>
@ -1029,7 +1028,7 @@
<int key="objectID">4</int>
<reference key="object" ref="751637181"/>
<reference key="parent" ref="312750714"/>
<string key="objectName">address</string>
<string key="objectName">addressField</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">179</int>
@ -1330,7 +1329,7 @@
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">253</int>
<int key="maxID">254</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -1384,6 +1383,7 @@
<string>addCallButton</string>
<string>addContactButton</string>
<string>addressField</string>
<string>backButton</string>
<string>callButton</string>
<string>cancelButton</string>
<string>eightButton</string>
@ -1406,6 +1406,7 @@
<string>UICallButton</string>
<string>UIButton</string>
<string>UITextField</string>
<string>UIButton</string>
<string>UICallButton</string>
<string>UIButton</string>
<string>UIButton</string>
@ -1431,6 +1432,7 @@
<string>addCallButton</string>
<string>addContactButton</string>
<string>addressField</string>
<string>backButton</string>
<string>callButton</string>
<string>cancelButton</string>
<string>eightButton</string>
@ -1462,6 +1464,10 @@
<string key="name">addressField</string>
<string key="candidateClassName">UITextField</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">backButton</string>
<string key="candidateClassName">UIButton</string>
</object>
<object class="IBToOneOutletInfo">
<string key="name">callButton</string>
<string key="candidateClassName">UICallButton</string>
@ -1738,6 +1744,6 @@
<string>{214, 138}</string>
</object>
</object>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

File diff suppressed because it is too large Load diff

View file

@ -122,22 +122,19 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)registrationUpdate:(LinphoneRegistrationState)state {
switch (state) {
case LinphoneRegistrationOk:
{
case LinphoneRegistrationOk: {
[[LinphoneManager instance].settingsStore setBool:false forKey:@"enable_first_login_view_preference"];
[self.waitView setHidden:true];
[waitView setHidden:true];
[[PhoneMainView instance] changeCurrentView:[DialerViewController compositeViewDescription]];
break;
}
case LinphoneRegistrationNone:
case LinphoneRegistrationCleared:
{
[self.waitView setHidden:true];
case LinphoneRegistrationCleared: {
[waitView setHidden:true];
break;
}
case LinphoneRegistrationFailed:
{
[self.waitView setHidden:true];
case LinphoneRegistrationFailed: {
[waitView setHidden:true];
//default behavior if no registration delegates
/*UIAlertView* error = [[UIAlertView alloc] initWithTitle:[NSString stringWithFormat:@"Registration failure for user %@", usernameField.text]
@ -153,7 +150,7 @@ static UICompositeViewDescription *compositeDescription = nil;
break;
}
case LinphoneRegistrationProgress: {
[self.waitView setHidden:false];
[waitView setHidden:false];
break;
}
default: break;

View file

@ -3,20 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>IBUIButton</string>
<string>IBUIActivityIndicatorView</string>
<string>IBUIView</string>
<string>IBUITextField</string>
<string>IBProxyObject</string>
<string>IBUIActivityIndicatorView</string>
<string>IBUIButton</string>
<string>IBUITextField</string>
<string>IBUIView</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -87,6 +87,7 @@
<string key="NSFrame">{{60, 420}, {200, 37}}</string>
<reference key="NSSuperview" ref="988679043"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -139,9 +140,9 @@
<int key="IBUIAutocorrectionType">1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="NSCustomResource" key="IBUIBackground" id="239774967">
<object class="NSCustomResource" key="IBUIBackground" id="974713049">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">setup_label.png</string>
<string key="NSResourceName">field_background.png</string>
</object>
<object class="IBUIFontDescription" key="IBUIFontDescription" id="936896947">
<int key="type">1</int>
@ -180,7 +181,7 @@
<bool key="IBUISecureTextEntry">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<reference key="IBUIBackground" ref="239774967"/>
<reference key="IBUIBackground" ref="974713049"/>
<reference key="IBUIFontDescription" ref="936896947"/>
<reference key="IBUIFont" ref="948350256"/>
</object>
@ -195,6 +196,7 @@
<string key="NSFrame">{{142, 211}, {37, 37}}</string>
<reference key="NSSuperview" ref="210410556"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="300056741"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
@ -220,7 +222,7 @@
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<reference key="NSNextKeyView" ref="210410556"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
@ -559,7 +561,7 @@
<bool key="EncodedWithXMLCoder">YES</bool>
<string>button_background_default.png</string>
<string>button_background_over.png</string>
<string>setup_label.png</string>
<string>field_background.png</string>
</object>
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -568,6 +570,6 @@
<string>{542, 88}</string>
</object>
</object>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -69,7 +69,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;

View file

@ -43,7 +43,7 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="778261436">
<reference key="NSNextResponder" ref="136975389"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="136975389"/>
<reference key="NSWindow"/>
@ -53,7 +53,7 @@
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">history_details_bar_background.png</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="455083905">
@ -96,7 +96,7 @@
</object>
<object class="IBUIButton" id="121359009">
<reference key="NSNextResponder" ref="136975389"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{160, 0}, {160, 58}}</string>
<reference key="NSSuperview" ref="136975389"/>
<reference key="NSWindow"/>
@ -139,7 +139,7 @@
</object>
<object class="IBUIView" id="768037913">
<reference key="NSNextResponder" ref="581237105"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">295</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIButton" id="801771731">
<reference key="NSNextResponder" ref="768037913"/>
@ -197,7 +197,7 @@
</object>
<object class="IBUILabel" id="383035685">
<reference key="NSNextResponder" ref="768037913"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{101, 37}, {199, 43}}</string>
<reference key="NSSuperview" ref="768037913"/>
<reference key="NSWindow"/>
@ -240,7 +240,7 @@
</object>
<object class="IBUIView" id="943502497">
<reference key="NSNextResponder" ref="581237105"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">295</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUILabel" id="355377987">
<reference key="NSNextResponder" ref="943502497"/>
@ -271,7 +271,7 @@
</object>
<object class="IBUILabel" id="702111471">
<reference key="NSNextResponder" ref="943502497"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{57, 0}, {223, 21}}</string>
<reference key="NSSuperview" ref="943502497"/>
<reference key="NSWindow"/>
@ -307,7 +307,7 @@
</object>
<object class="IBUIView" id="244755503">
<reference key="NSNextResponder" ref="581237105"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">295</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUILabel" id="360513702">
<reference key="NSNextResponder" ref="244755503"/>
@ -331,7 +331,7 @@
</object>
<object class="IBUILabel" id="96927361">
<reference key="NSNextResponder" ref="244755503"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{88, 0}, {192, 21}}</string>
<reference key="NSSuperview" ref="244755503"/>
<reference key="NSWindow"/>
@ -360,7 +360,7 @@
</object>
<object class="IBUIView" id="310438316">
<reference key="NSNextResponder" ref="581237105"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">295</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUILabel" id="343964638">
<reference key="NSNextResponder" ref="310438316"/>
@ -384,7 +384,7 @@
</object>
<object class="IBUILabel" id="593607241">
<reference key="NSNextResponder" ref="310438316"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{65, 0}, {215, 21}}</string>
<reference key="NSSuperview" ref="310438316"/>
<reference key="NSWindow"/>
@ -413,11 +413,10 @@
</object>
<object class="IBUIButton" id="614750242">
<reference key="NSNextResponder" ref="581237105"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{33, 273}, {255, 50}}</string>
<int key="NSvFlags">293</int>
<string key="NSFrame">{{33, 323}, {255, 50}}</string>
<reference key="NSSuperview" ref="581237105"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -451,12 +450,11 @@
</object>
</object>
</array>
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="136975389"/>
<reference key="IBUIBackgroundColor" ref="576459619"/>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
@ -612,10 +610,10 @@
<array class="NSMutableArray" key="children">
<reference ref="136975389"/>
<reference ref="768037913"/>
<reference ref="614750242"/>
<reference ref="943502497"/>
<reference ref="244755503"/>
<reference ref="310438316"/>
<reference ref="614750242"/>
</array>
<reference key="parent" ref="0"/>
</object>
@ -900,7 +898,7 @@
<string key="history_details_add_over.png">{320, 117}</string>
<string key="history_details_back_default.png">{320, 117}</string>
<string key="history_details_back_over.png">{320, 117}</string>
<string key="history_details_bar_background.png">{5, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>

View file

@ -65,7 +65,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar:@"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;
@ -81,6 +81,11 @@ static UICompositeViewDescription *compositeDescription = nil;
[editButton setOff];
[self changeView: History_All];
[self.tableView reloadData];
// Reset missed call
linphone_core_reset_missed_calls_count([LinphoneManager getLc]);
// Fake event
[[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
}
- (void)viewDidLoad {

View file

@ -3,19 +3,20 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIButton</string>
<string>IBUITableView</string>
<string>IBUIView</string>
<string>IBUITableViewController</string>
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -39,8 +40,22 @@
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="95706395">
<reference key="NSNextResponder" ref="812520855"/>
<int key="NSvFlags">288</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="929072924">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 58}</string>
<reference key="NSSuperview" ref="95706395"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">toolsbar_background.png</string>
</object>
</object>
<object class="IBUIButton" id="257572356">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">292</int>
@ -111,7 +126,7 @@
</object>
<object class="IBUIButton" id="600417980">
<reference key="NSNextResponder" ref="95706395"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{212, 0}, {108, 58}}</string>
<reference key="NSSuperview" ref="95706395"/>
<reference key="NSWindow"/>
@ -162,7 +177,6 @@
<string key="NSFrame">{{0, 58}, {320, 402}}</string>
<reference key="NSSuperview" ref="812520855"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
@ -343,9 +357,10 @@
<reference ref="257572356"/>
<reference ref="596330568"/>
<reference ref="600417980"/>
<reference ref="929072924"/>
</array>
<reference key="parent" ref="812520855"/>
<string key="objectName">header</string>
<string key="objectName">toolsBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
@ -378,6 +393,12 @@
<reference key="parent" ref="0"/>
<string key="objectName">tableController</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">34</int>
<reference key="object" ref="929072924"/>
<reference key="parent" ref="95706395"/>
<string key="objectName">background</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -390,6 +411,7 @@
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="34.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="2" key="4.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -402,7 +424,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">33</int>
<int key="maxID">34</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -496,7 +518,8 @@
<string key="history_missed_default.png">{213, 117}</string>
<string key="history_missed_selected.png">{213, 117}</string>
<string key="history_ok_default.png">{214, 117}</string>
<string key="toolsbar_background.png">{5, 117}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -273,11 +273,11 @@ enum TableSection {
return [[UIView alloc] initWithFrame:CGRectZero];
}
}
return [[UIView alloc] initWithFrame:CGRectZero];
return [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
}
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
return [[UIView alloc] initWithFrame:CGRectZero];
return [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {

File diff suppressed because it is too large Load diff

View file

@ -28,6 +28,7 @@
#import "UICallCell.h"
#import "LinphoneManager.h"
#import "PhoneMainView.h"
#import "UILinphone.h"
#include "linphonecore.h"
#include "private.h"
@ -191,24 +192,53 @@ static UICompositeViewDescription *compositeDescription = nil;
videoGroup.alpha = 0;
[videoCameraSwitch setPreview:videoPreview];
removeTableBackground([callTableController view]);
}
#pragma mark -
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
CGRect frame = [videoPreview frame];
switch (toInterfaceOrientation) {
case UIInterfaceOrientationPortrait:
[videoPreview setTransform: CGAffineTransformMakeRotation(0)];
break;
case UIInterfaceOrientationPortraitUpsideDown:
[videoPreview setTransform: CGAffineTransformMakeRotation(M_PI)];
break;
case UIInterfaceOrientationLandscapeLeft:
[videoPreview setTransform: CGAffineTransformMakeRotation(M_PI / 2)];
break;
case UIInterfaceOrientationLandscapeRight:
[videoPreview setTransform: CGAffineTransformMakeRotation(-M_PI / 2)];
break;
default:
break;
}
[videoPreview setFrame:frame];
}
#pragma mark -
- (void)orientationUpdate {
int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]);
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;
int newRotation = 0;
switch (orientation) {
case UIInterfaceOrientationLandscapeRight:
newRotation = 270;
case UIDeviceOrientationPortrait:
newRotation = 0;
break;
case UIInterfaceOrientationLandscapeLeft:
case UIDeviceOrientationPortraitUpsideDown:
newRotation = 180;
break;
case UIDeviceOrientationLandscapeRight:
newRotation = 90;
break;
case UIDeviceOrientationLandscapeLeft:
newRotation = 270;
break;
default:
newRotation = 0;
newRotation = oldLinphoneOrientation;
}
if (oldLinphoneOrientation != newRotation) {
linphone_core_set_device_rotation([LinphoneManager getLc], newRotation);
@ -299,40 +329,46 @@ static UICompositeViewDescription *compositeDescription = nil;
hideControlsTimer = nil;
}
// show controls
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[[PhoneMainView instance] showTabBar: true];
/* MODIFICATION show video in background */
[callTableView setAlpha:1.0];
/* */
[videoCameraSwitch setAlpha:1.0];
[UIView commitAnimations];
// hide controls in 5 sec
hideControlsTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(hideControls:)
userInfo:nil
repeats:NO];
if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) {
// show controls
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[[PhoneMainView instance] showTabBar: true];
[[PhoneMainView instance] showStateBar: true];
/* MODIFICATION show video in background */
[callTableView setAlpha:1.0];
/* */
[videoCameraSwitch setAlpha:1.0];
[UIView commitAnimations];
// hide controls in 5 sec
hideControlsTimer = [NSTimer scheduledTimerWithTimeInterval:5.0
target:self
selector:@selector(hideControls:)
userInfo:nil
repeats:NO];
}
}
- (void)hideControls:(id)sender {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[videoCameraSwitch setAlpha:0.0];
[UIView commitAnimations];
if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) {
[[PhoneMainView instance] showTabBar: false];
/* MODIFICATION show video in background */
[callTableView setAlpha:0.0];
/* */
}
if (hideControlsTimer) {
[hideControlsTimer invalidate];
hideControlsTimer = nil;
}
if([[[PhoneMainView instance] currentView] equal:[InCallViewController compositeViewDescription]] && videoShown) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
[videoCameraSwitch setAlpha:0.0];
/* MODIFICATION show video in background */
[callTableView setAlpha:0.0];
/* */
[UIView commitAnimations];
[[PhoneMainView instance] showTabBar: false];
[[PhoneMainView instance] showStateBar: false];
}
}
#ifdef TEST_VIDEO_VIEW_CHANGE
@ -365,6 +401,8 @@ static UICompositeViewDescription *compositeDescription = nil;
[callTableView setAlpha:0.0];
/* MODIFICATION show video in background */
UIEdgeInsets insets = {23, 0, 0, 0};
[callTableView setContentInset:insets];
[callTableController minimizeAll];
/* */
@ -386,6 +424,7 @@ static UICompositeViewDescription *compositeDescription = nil;
[[PhoneMainView instance] fullScreen: true];
[[PhoneMainView instance] showTabBar: false];
[[PhoneMainView instance] showStateBar: false];
#ifdef TEST_VIDEO_VIEW_CHANGE
[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(_debugChangeVideoView) userInfo:nil repeats:YES];
@ -414,7 +453,10 @@ static UICompositeViewDescription *compositeDescription = nil;
[videoGroup setAlpha:0.0];
[[PhoneMainView instance] showTabBar: true];
UIEdgeInsets insets = {0, 0, 0, 0};
[callTableView setContentInset:insets];
[callTableView setAlpha:1.0];
[videoCameraSwitch setHidden:TRUE];
if(animation) {

View file

@ -3,21 +3,21 @@
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>IBUITableView</string>
<string>IBUIButton</string>
<string>IBUIActivityIndicatorView</string>
<string>IBUIView</string>
<string>IBUITableViewController</string>
<string>IBProxyObject</string>
<string>IBUIActivityIndicatorView</string>
<string>IBUIButton</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIView</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -67,7 +67,7 @@
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview" ref="1009068048"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="673568144"/>
<reference key="NSNextKeyView" ref="69034748"/>
<string key="NSReuseIdentifierKey">_NS:196</string>
<object class="NSColor" key="IBUIBackgroundColor" id="95762599">
<int key="NSColorSpace">3</int>
@ -77,12 +77,13 @@
</object>
<object class="IBUIView" id="673568144">
<reference key="NSNextResponder" ref="1009068048"/>
<int key="NSvFlags">265</int>
<string key="NSFrame">{{214, 354}, {106, 106}}</string>
<int key="NSvFlags">283</int>
<string key="NSFrame">{{220, 360}, {100, 100}}</string>
<reference key="NSSuperview" ref="1009068048"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="69034748"/>
<reference key="NSNextKeyView" ref="972197710"/>
<reference key="IBUIBackgroundColor" ref="95762599"/>
<int key="IBUIContentMode">1</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIActivityIndicatorView" id="69034748">
@ -91,7 +92,7 @@
<string key="NSFrame">{{141, 212}, {37, 37}}</string>
<reference key="NSSuperview" ref="1009068048"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="972197710"/>
<reference key="NSNextKeyView" ref="673568144"/>
<string key="NSReuseIdentifierKey">_NS:1030</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -142,9 +143,10 @@
<object class="IBUIButton" id="972197710">
<reference key="NSNextResponder" ref="858247959"/>
<int key="NSvFlags">-2147483356</int>
<string key="NSFrameSize">{85, 33}</string>
<string key="NSFrame">{{0, 23}, {85, 33}}</string>
<reference key="NSSuperview" ref="858247959"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -587,6 +589,6 @@
<string>{170, 65}</string>
</object>
</object>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -19,26 +19,29 @@
#import <UIKit/UIKit.h>
#import "UIModalViewController.h"
#import "UICompositeViewController.h"
#include "linphonecore.h"
typedef enum _IncomingCallStates {
IncomingCall_Accepted,
IncomingCall_Decline,
IncomingCall_Aborted
} IncomingCallStats;
@protocol IncomingCallViewDelegate <NSObject>
@interface IncomingCallViewController : UIModalViewController {
- (void)incomingCallAccepted:(LinphoneCall*)call;
- (void)incomingCallDeclined:(LinphoneCall*)call;
- (void)incomingCallAborted:(LinphoneCall*)call;
@end
@interface IncomingCallViewController : UIViewController <UICompositeViewDelegate> {
@private
UILabel* addressLabel;
UIImageView* avatarImage;
LinphoneCall *call;
id<IncomingCallViewDelegate> delegate;
}
@property (nonatomic, retain) IBOutlet UILabel* addressLabel;
@property (nonatomic, retain) IBOutlet UIImageView* avatarImage;
@property (nonatomic, assign) LinphoneCall* call;
@property (nonatomic, retain) id<IncomingCallViewDelegate> delegate;
- (IBAction)onAcceptClick:(id) event;
- (IBAction)onDeclineClick:(id) event;

View file

@ -20,13 +20,14 @@
#import "IncomingCallViewController.h"
#import "LinphoneManager.h"
#import "FastAddressBook.h"
#import "PhoneMainView.h"
@implementation IncomingCallViewController
@synthesize addressLabel;
@synthesize avatarImage;
@synthesize call;
@synthesize delegate;
#pragma mark - Lifecycle Functions
@ -37,6 +38,9 @@
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
[avatarImage release];
[addressLabel release];
[delegate release];
[super dealloc];
}
@ -50,7 +54,6 @@
selector:@selector(callUpdateEvent:)
name:@"LinphoneCallUpdate"
object:nil];
[self callUpdate:call state:linphone_call_get_state(call)];
}
- (void)viewWillDisappear:(BOOL)animated {
@ -62,6 +65,25 @@
}
#pragma mark - UICompositeViewDelegate Functions
static UICompositeViewDescription *compositeDescription = nil;
+ (UICompositeViewDescription *)compositeViewDescription {
if(compositeDescription == nil) {
compositeDescription = [[UICompositeViewDescription alloc] init:@"IncomingCall"
content:@"IncomingCallViewController"
stateBar:nil
stateBarEnabled:false
tabBar:nil
tabBarEnabled:false
fullscreen:false
landscapeMode:true
portraitMode:true];
}
return compositeDescription;
}
#pragma mark - Event Functions
@ -76,16 +98,16 @@
- (void)callUpdate:(LinphoneCall *)acall state:(LinphoneCallState)astate {
if(call == acall && (astate == LinphoneCallEnd || astate == LinphoneCallError)) {
[self dismiss: [NSNumber numberWithInt: IncomingCall_Aborted]];
[delegate incomingCallAborted:call];
[self dismiss];
}
}
#pragma mark - Property Functions
- (void)setCall:(LinphoneCall*)acall {
call = acall;
[self update];
- (void)dismiss {
if([[[PhoneMainView instance] currentView] equal:[IncomingCallViewController compositeViewDescription]]) {
[[PhoneMainView instance] popCurrentView];
}
}
- (void)update {
@ -131,21 +153,26 @@
[addressLabel setText:address];
}
- (LinphoneCall*) getCall {
return call;
#pragma mark - Property Functions
- (void)setCall:(LinphoneCall*)acall {
call = acall;
[self update];
[self callUpdate:call state:linphone_call_get_state(call)];
}
#pragma mark - Action Functions
- (IBAction)onAcceptClick:(id)event {
linphone_core_accept_call([LinphoneManager getLc], call);
[self dismiss: [NSNumber numberWithInt:IncomingCall_Accepted]];
[self dismiss];
[delegate incomingCallAccepted:call];
}
- (IBAction)onDeclineClick:(id)event {
linphone_core_terminate_call([LinphoneManager getLc], call);
[self dismiss: [NSNumber numberWithInt:IncomingCall_Decline]];
[self dismiss];
[delegate incomingCallDeclined:call];
}
@end

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -33,15 +33,15 @@
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="191373211">
<object class="IBUIView" id="311908381">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="915319957">
<reference key="NSNextResponder" ref="191373211"/>
<reference key="NSNextResponder" ref="311908381"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
<reference key="NSSuperview" ref="191373211"/>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview" ref="311908381"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="735497316"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
@ -56,12 +56,12 @@
</object>
</object>
<object class="IBUIView" id="735497316">
<reference key="NSNextResponder" ref="191373211"/>
<reference key="NSNextResponder" ref="311908381"/>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="131610915">
<reference key="NSNextResponder" ref="735497316"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 49}, {320, 63}}</string>
<reference key="NSSuperview" ref="735497316"/>
<reference key="NSWindow"/>
@ -76,7 +76,7 @@
</object>
<object class="IBUIImageView" id="1023112121">
<reference key="NSNextResponder" ref="735497316"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrameSize">{320, 68}</string>
<reference key="NSSuperview" ref="735497316"/>
<reference key="NSWindow"/>
@ -4512,7 +4512,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
</object>
<object class="IBUIImageView" id="651495339">
<reference key="NSNextResponder" ref="735497316"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">293</int>
<string key="NSFrame">{{0, 96}, {320, 262}}</string>
<reference key="NSSuperview" ref="735497316"/>
<reference key="NSWindow"/>
@ -4527,7 +4527,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
</object>
<object class="IBUIImageView" id="632401698">
<reference key="NSNextResponder" ref="735497316"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">293</int>
<string key="NSFrame">{{80, 113}, {160, 170}}</string>
<reference key="NSSuperview" ref="735497316"/>
<reference key="NSWindow"/>
@ -4541,8 +4541,8 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
</object>
</object>
</array>
<string key="NSFrame">{{0, 20}, {320, 395}}</string>
<reference key="NSSuperview" ref="191373211"/>
<string key="NSFrameSize">{320, 395}</string>
<reference key="NSSuperview" ref="311908381"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1023112121"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
@ -4550,7 +4550,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="442322210">
<reference key="NSNextResponder" ref="191373211"/>
<reference key="NSNextResponder" ref="311908381"/>
<int key="NSvFlags">266</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="299451957">
@ -4587,21 +4587,15 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<bool key="IBUIAdjustsImageWhenDisabled">NO</bool>
<object class="NSColor" key="IBUINormalTitleShadowColor" id="365714543">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC41AA</bytes>
</object>
<object class="NSCustomResource" key="IBUIHighlightedImage">
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">accept_over.png</string>
</object>
<object class="NSCustomResource" key="IBUIDisabledImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">accept_disabled.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">accept_default.png</string>
</object>
@ -4630,14 +4624,12 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<bool key="IBUIAdjustsImageWhenDisabled">NO</bool>
<reference key="IBUINormalTitleShadowColor" ref="365714543"/>
<object class="NSCustomResource" key="IBUIHighlightedImage">
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">decline_over.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">decline_default.png</string>
</object>
@ -4645,41 +4637,26 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<reference key="IBUIFont" ref="246253541"/>
</object>
</array>
<string key="NSFrame">{{0, 403}, {320, 77}}</string>
<reference key="NSSuperview" ref="191373211"/>
<string key="NSFrame">{{0, 383}, {320, 77}}</string>
<reference key="NSSuperview" ref="311908381"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="908036430"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAxIDAuMTkxOTQ1NDc1NSAwAA</bytes>
</object>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<reference key="IBUIBackgroundColor" ref="84179139"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<string key="NSFrameSize">{320, 480}</string>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="915319957"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="84179139"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
</array>
<object class="IBObjectContainer" key="IBDocument.Objects">
<array class="NSMutableArray" 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">avatarImage</string>
@ -4696,6 +4673,14 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
</object>
<int key="connectionID">14</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">view</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="311908381"/>
</object>
<int key="connectionID">26</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onDeclineClick:</string>
@ -4735,55 +4720,32 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">1</int>
<reference key="object" ref="191373211"/>
<int key="objectID">25</int>
<reference key="object" ref="311908381"/>
<array class="NSMutableArray" key="children">
<reference ref="915319957"/>
<reference ref="735497316"/>
<reference ref="442322210"/>
<reference ref="735497316"/>
<reference ref="915319957"/>
</array>
<reference key="parent" ref="0"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
<reference key="object" ref="442322210"/>
<array class="NSMutableArray" key="children">
<reference ref="908036430"/>
<reference ref="348909292"/>
<reference ref="299451957"/>
</array>
<reference key="parent" ref="191373211"/>
<string key="objectName">tabBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="299451957"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">mask</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="348909292"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">declineButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="908036430"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">acceptButton</string>
<int key="objectID">22</int>
<reference key="object" ref="915319957"/>
<reference key="parent" ref="311908381"/>
<string key="objectName">background</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">8</int>
<reference key="object" ref="735497316"/>
<array class="NSMutableArray" key="children">
<reference ref="1023112121"/>
<reference ref="402572557"/>
<reference ref="651495339"/>
<reference ref="632401698"/>
<reference ref="131610915"/>
<reference ref="632401698"/>
<reference ref="651495339"/>
<reference ref="402572557"/>
<reference ref="1023112121"/>
</array>
<reference key="parent" ref="191373211"/>
<reference key="parent" ref="311908381"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">21</int>
@ -4816,10 +4778,33 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="objectName">headerBackground</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">22</int>
<reference key="object" ref="915319957"/>
<reference key="parent" ref="191373211"/>
<string key="objectName">background</string>
<int key="objectID">4</int>
<reference key="object" ref="442322210"/>
<array class="NSMutableArray" key="children">
<reference ref="299451957"/>
<reference ref="348909292"/>
<reference ref="908036430"/>
</array>
<reference key="parent" ref="311908381"/>
<string key="objectName">tabBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">5</int>
<reference key="object" ref="299451957"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">mask</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
<reference key="object" ref="348909292"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">declineButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">7</int>
<reference key="object" ref="908036430"/>
<reference key="parent" ref="442322210"/>
<string key="objectName">acceptButton</string>
</object>
</array>
</object>
@ -4828,18 +4813,18 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<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="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="12.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="18.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="22.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="1" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<real value="0.0" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="3" key="7.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<real value="0.0" key="7.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</dictionary>
@ -4847,13 +4832,13 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">24</int>
<int key="maxID">30</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">IncomingCallViewController</string>
<string key="superclassName">UIModalViewController</string>
<string key="superclassName">UIViewController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="onAcceptClick:">id</string>
<string key="onDeclineClick:">id</string>
@ -4887,14 +4872,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="minorKey">./Classes/IncomingCallViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIModalViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/UIModalViewController.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
@ -4907,7 +4884,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="accept_default.png">{320, 154}</string>
<string key="accept_disabled.png">{320, 154}</string>
<string key="accept_over.png">{320, 154}</string>
<string key="avatar_shadow.png">{640, 523}</string>
<string key="avatar_unknown.png">{320, 339}</string>
@ -4917,6 +4893,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="decline_over.png">{320, 154}</string>
<string key="header_incoming.png">{640, 135}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -2,19 +2,19 @@
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIWindow</string>
<string>IBProxyObject</string>
<string>IBUICustomObject</string>
<string>IBUIViewController</string>
<string>IBProxyObject</string>
<string>IBUIWindow</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -42,20 +42,20 @@
<string key="NSFrameSize">{320, 480}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAxIDAuMTkxOTQ1NDc1NQA</bytes>
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MAA</bytes>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIVisibleAtLaunch">YES</bool>
<bool key="IBUIResizesToFullScreen">YES</bool>
</object>
<object class="IBUIViewController" id="110348778">
<bool key="IBUIAutoresizesArchivedViewToFullSize">NO</bool>
<string key="IBUINibName">PhoneMainView</string>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
@ -135,6 +135,7 @@
<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="2.CustomClassName">UILinphoneWindow</string>
<dictionary class="NSMutableDictionary" key="2.IBAttributePlaceholdersKey"/>
<string key="2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.CustomClassName">LinphoneAppDelegate</string>
@ -189,8 +190,30 @@
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UICompositeViewController</string>
<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/TPMultiLayoutViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UICompositeViewController</string>
<string key="superclassName">TPMultiLayoutViewController</string>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="contentView">UIView</string>
<string key="stateBarView">UIView</string>
@ -215,6 +238,14 @@
<string key="minorKey">./Classes/UICompositeViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILinphoneWindow</string>
<string key="superclassName">UIWindow</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">./Classes/UILinphoneWindow.h</string>
</object>
</object>
</array>
</object>
<int key="IBDocument.localizationMode">0</int>
@ -225,6 +256,6 @@
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -23,6 +23,10 @@
#import "LinphoneCoreSettingsStore.h"
@interface UILinphoneWindow : UIWindow
@end
@interface LinphoneAppDelegate : NSObject <UIApplicationDelegate,UIAlertViewDelegate> {
UIWindow *window;
CTCallCenter* callCenter;

View file

@ -38,6 +38,10 @@ int __aeabi_idiv(int a, int b) {
}
#endif
@implementation UILinphoneWindow
@end
@implementation LinphoneAppDelegate
@synthesize window;
@ -161,6 +165,7 @@ int __aeabi_idiv(int a, int b) {
}
- (void)setupUI {
[[PhoneMainView instance] startUp];
if ([[LinphoneManager instance].settingsStore boolForKey:@"enable_first_login_view_preference"] == true) {
// Change to fist login view
[[PhoneMainView instance] changeCurrentView: [FirstLoginViewController compositeViewDescription]];
@ -174,7 +179,6 @@ int __aeabi_idiv(int a, int b) {
[[PhoneMainView instance] changeCurrentView: [WizardViewController compositeViewDescription]];
}*/
}
[UIDevice currentDevice].batteryMonitoringEnabled = YES;
}

View file

@ -119,11 +119,12 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
}
}
{
LinphoneAddress *parsed=linphone_core_get_primary_contact_parsed(lc);
LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(lc);
if(parsed != NULL) {
[self setString: linphone_address_get_display_name(parsed) forKey:@"primary_displayname_preference"];
[self setString: linphone_address_get_username(parsed) forKey:@"primary_username_preference"];
}
linphone_address_destroy(parsed);
}
{
LCSipTransports tp;
@ -176,7 +177,7 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
}
[self setString:val forKey:@"media_encryption_preference"];
}
[self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","landscape_preference", 1) forKey:@"landscape_preference"];
[self setString: lp_config_get_string(linphone_core_get_config(lc),"app","rotation_preference", "auto") forKey:@"rotation_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","enable_first_login_view_preference", 0) forKey:@"enable_first_login_view_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","debugenable_preference", 0) forKey:@"debugenable_preference"];
[self setBool: lp_config_get_int(linphone_core_get_config(lc),"app","check_config_disable_preference", 0) forKey:@"check_config_disable_preference"];
@ -320,11 +321,11 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
// add username password
LinphoneAddress *from = linphone_address_new(identity);
LinphoneAuthInfo *info;
if (from !=0){
if (from != 0){
info=linphone_auth_info_new(linphone_address_get_username(from),NULL,password,NULL,NULL);
linphone_core_add_auth_info(lc,info);
linphone_address_destroy(from);
}
linphone_address_destroy(from);
// configure proxy entries
linphone_proxy_config_set_identity(proxyCfg,identity);
@ -425,12 +426,14 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
// Primary contact
NSString* displayname = [self stringForKey:@"primary_displayname_preference"];
NSString* username = [self stringForKey:@"primary_username_preference"];
LinphoneAddress *parsed=linphone_core_get_primary_contact_parsed(lc);
LinphoneAddress *parsed = linphone_core_get_primary_contact_parsed(lc);
if(parsed != NULL) {
linphone_address_set_display_name(parsed,[displayname cStringUsingEncoding:[NSString defaultCStringEncoding]]);
linphone_address_set_username(parsed,[username cStringUsingEncoding:[NSString defaultCStringEncoding]]);
char *contact = linphone_address_as_string(parsed);
linphone_core_set_primary_contact(lc, contact);
ms_free(contact);
linphone_address_destroy(parsed);
}
@ -449,8 +452,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
BOOL firstloginview = [self boolForKey:@"enable_first_login_view_preference"];
lp_config_set_int(linphone_core_get_config(lc),"app","enable_first_login_view_preference", firstloginview);
BOOL landscape = [self boolForKey:@"landscape_preference"];
lp_config_set_int(linphone_core_get_config(lc),"app","landscape_preference", landscape);
NSString *landscape = [self stringForKey:@"rotation_preference"];
lp_config_set_string(linphone_core_get_config(lc),"app","rotation_preference", [landscape UTF8String]);
BOOL debugmode = [self boolForKey:@"debugenable_preference"];
lp_config_set_int(linphone_core_get_config(lc),"app","debugenable_preference", debugmode);

View file

@ -83,6 +83,7 @@ typedef struct _LinphoneCallAppData {
+ (BOOL)isNotIphone3G;
+ (NSString *)getPreferenceForCodec: (const char*) name withRate: (int) rate;
+ (NSSet *)unsupportedCodecs;
+ (NSString *)getUserAgent;
- (void)startLibLinphone;
- (void)destroyLibLinphone;

View file

@ -50,8 +50,8 @@ extern void libmsamr_init();
#ifdef HAVE_X264
extern void libmsx264_init();
#endif
#define FRONT_CAM_NAME "AV Capture: Front Camera"
#define BACK_CAM_NAME "AV Capture: Back Camera"
#define FRONT_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:1" /*"AV Capture: Front Camera"*/
#define BACK_CAM_NAME "AV Capture: com.apple.avfoundation.avcapturedevice.built-in_video:0" /*"AV Capture: Back Camera"*/
#if defined (HAVE_SILK)
extern void libmssilk_init();
@ -142,6 +142,14 @@ struct codec_name_pref_table codec_pref_table[]={
return result;
}
+ (NSString *)getUserAgent {
return [NSString stringWithFormat:@"LinphoneIphone/%@ (Linphone/%s; Apple %@/%@)",
[[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleVersionKey],
linphone_core_get_version(),
[UIDevice currentDevice].systemName,
[UIDevice currentDevice].systemVersion];
}
+ (LinphoneManager*)instance {
if(theLinphoneManager == nil) {
theLinphoneManager = [LinphoneManager alloc];
@ -874,8 +882,9 @@ static LinphoneCoreVTable linphonec_vtable = {
if(transfer) {
linphone_core_transfer_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), normalizedUserName);
} else {
linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress,lcallParams);
linphone_core_invite_address_with_params([LinphoneManager getLc], linphoneAddress, lcallParams);
}
linphone_address_destroy(linphoneAddress);
}
linphone_call_params_destroy(lcallParams);
}

View file

@ -109,8 +109,6 @@
#pragma mark - ViewController Functions
- (void)viewDidLoad {
[super viewDidLoad];
[pauseButton setType:UIPauseButtonType_CurrentCall call:nil];
[zeroButton setDigit:'0'];
@ -118,7 +116,7 @@
[oneButton setDigit:'1'];
[oneButton setDtmf:true];
[twoButton setDigit:'2'];
[twoButton setDtmf:true];
[twoButton setDtmf:true];
[threeButton setDigit:'3'];
[threeButton setDtmf:true];
[fourButton setDigit:'4'];
@ -192,11 +190,13 @@
// Set selected+over background: IB lack !
/* MODIFICATION no options
[optionsButton setImage:[UIImage imageNamed:@"options_over.png"]
forState:(UIControlStateHighlighted | UIControlStateSelected)];
[(UIButton*) [landscapeView viewWithTag:[optionsButton tag]]
setImage:[UIImage imageNamed:@"options_over_landscape.png"]
forState:(UIControlStateHighlighted | UIControlStateSelected)];
*/
// Set selected+over background: IB lack !
@ -206,17 +206,7 @@
setImage:[UIImage imageNamed:@"dialer_alt_back_over_landscape.png"]
forState:(UIControlStateHighlighted | UIControlStateSelected)];
// Set label multilines: IB lack !
[option1Button.titleLabel setLineBreakMode:UILineBreakModeWordWrap];
[option1Button.titleLabel setTextAlignment:UITextAlignmentCenter];
// Set label multilines: IB lack !
[option2Button.titleLabel setLineBreakMode:UILineBreakModeWordWrap];
[option2Button.titleLabel setTextAlignment:UITextAlignmentCenter];
// Set label multilines: IB lack !
[option3Button.titleLabel setLineBreakMode:UILineBreakModeWordWrap];
[option3Button.titleLabel setTextAlignment:UITextAlignmentCenter];
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
@ -317,18 +307,9 @@
[conferenceButton setHidden:true];
}
}
// Disable menu when no call & no conference
if(linphone_core_get_current_call(lc) == NULL && linphone_core_is_in_conference(lc) == FALSE) {
[self hidePad];
[self hideOptions];
[optionsButton setEnabled:FALSE];
} else {
[optionsButton setEnabled:TRUE];
}
// Disable transfert in conference
if(linphone_core_is_in_conference(lc)) {
if(linphone_core_get_current_call(lc) == NULL) {
[optionsTransferButton setEnabled:FALSE];
} else {
[optionsTransferButton setEnabled:TRUE];
@ -423,7 +404,7 @@
}
}
- (void)hideOptions {
- (void)hideOptions{
[optionsButton setOff];
if(![optionsView isHidden]) {
CGRect frame = [optionsView frame];
@ -458,6 +439,7 @@
}
}
#pragma mark - Action Functions
- (IBAction)onPadClick:(id)sender {

View file

@ -43,6 +43,7 @@
<string key="NSFrame">{{0, 335}, {320, 125}}</string>
<reference key="NSSuperview" ref="931774220"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
@ -62,7 +63,7 @@
<object class="IBUIImageView" id="1062143568">
<reference key="NSNextResponder" ref="556199520"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 460}</string>
<string key="NSFrameSize">{320, 473}</string>
<reference key="NSSuperview" ref="556199520"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="291142801"/>
@ -70,7 +71,7 @@
<int key="IBUITag">2</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<object class="NSCustomResource" key="IBUIImage" id="802363420">
<object class="NSCustomResource" key="IBUIImage" id="33802286">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">background.png</string>
</object>
@ -372,7 +373,7 @@
<string key="NSFrame">{{213, 206}, {107, 54}}</string>
<reference key="NSSuperview" ref="556199520"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="785108977"/>
<reference key="NSNextKeyView" ref="1023421548"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">14</int>
@ -391,13 +392,13 @@
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="785108977">
<object class="IBUIButton" id="1023421548">
<reference key="NSNextResponder" ref="556199520"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{19, 268}, {68, 48}}</string>
<string key="NSFrame">{{39, 268}, {68, 48}}</string>
<reference key="NSSuperview" ref="556199520"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="447196686"/>
<reference key="NSNextKeyView" ref="984854394"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">100</int>
@ -405,29 +406,29 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°1</string>
<object class="NSColor" key="IBUINormalTitleColor" id="318266498">
<object class="NSColor" key="IBUINormalTitleColor" id="241519984">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MQA</bytes>
</object>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="615539721">
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage" id="84268735">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_alt_button_options_over.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalBackgroundImage" id="771712694">
<object class="NSCustomResource" key="IBUINormalBackgroundImage" id="64140773">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">dialer_alt_button_options_default.png</string>
</object>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="447196686">
<object class="IBUIButton" id="984854394">
<reference key="NSNextResponder" ref="556199520"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{126, 268}, {68, 48}}</string>
<reference key="NSSuperview" ref="556199520"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="788831181"/>
<reference key="NSNextKeyView" ref="604924486"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">101</int>
@ -435,17 +436,17 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°2</string>
<reference key="IBUINormalTitleColor" ref="318266498"/>
<reference key="IBUINormalTitleColor" ref="241519984"/>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<reference key="IBUIHighlightedBackgroundImage" ref="615539721"/>
<reference key="IBUINormalBackgroundImage" ref="771712694"/>
<reference key="IBUIHighlightedBackgroundImage" ref="84268735"/>
<reference key="IBUINormalBackgroundImage" ref="64140773"/>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="788831181">
<object class="IBUIButton" id="604924486">
<reference key="NSNextResponder" ref="556199520"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{232, 268}, {68, 48}}</string>
<string key="NSFrame">{{213, 268}, {68, 48}}</string>
<reference key="NSSuperview" ref="556199520"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="143533231"/>
@ -456,15 +457,15 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°3</string>
<reference key="IBUINormalTitleColor" ref="318266498"/>
<reference key="IBUINormalTitleColor" ref="241519984"/>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<reference key="IBUIHighlightedBackgroundImage" ref="615539721"/>
<reference key="IBUINormalBackgroundImage" ref="771712694"/>
<reference key="IBUIHighlightedBackgroundImage" ref="84268735"/>
<reference key="IBUINormalBackgroundImage" ref="64140773"/>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
</array>
<string key="NSFrameSize">{320, 340}</string>
<string key="NSFrameSize">{321, 340}</string>
<reference key="NSSuperview" ref="931774220"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1062143568"/>
@ -480,6 +481,21 @@
<reference key="NSNextResponder" ref="931774220"/>
<int key="NSvFlags">292</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="259467918">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 135}, {320, 2000}}</string>
<reference key="NSSuperview" ref="143533231"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="464536687"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC42OTQxMTc2NDcxIDAuNzg0MzEzNzI1NSAwAA</bytes>
</object>
<int key="IBUITag">28</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIButton" id="262544423">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">292</int>
@ -610,40 +626,6 @@
<reference key="IBUIFontDescription" ref="794091713"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="471717543">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{240, 0}, {80, 67}}</string>
<reference key="NSSuperview" ref="143533231"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="542459126"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">17</int>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
<string key="IBUIAccessibilityLabel">Add call</string>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<bool key="IBUIAdjustsImageWhenDisabled">NO</bool>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<object class="NSCustomResource" key="IBUIHighlightedImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_over.png</string>
</object>
<object class="NSCustomResource" key="IBUIDisabledImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_disabled.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_default.png</string>
</object>
<reference key="IBUIFontDescription" ref="794091713"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="542459126">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">264</int>
@ -678,6 +660,40 @@
<reference key="IBUIFontDescription" ref="794091713"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="471717543">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{240, 0}, {80, 67}}</string>
<reference key="NSSuperview" ref="143533231"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="542459126"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">17</int>
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
<string key="IBUIAccessibilityLabel">Add call</string>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
<bool key="IBUIAdjustsImageWhenDisabled">NO</bool>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<object class="NSCustomResource" key="IBUIHighlightedImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_over.png</string>
</object>
<object class="NSCustomResource" key="IBUIDisabledImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_disabled.png</string>
</object>
<object class="NSCustomResource" key="IBUINormalImage">
<string key="NSClassName">NSImage</string>
<string key="NSResourceName">options_add_default.png</string>
</object>
<reference key="IBUIFontDescription" ref="794091713"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="351323248">
<reference key="NSNextResponder" ref="143533231"/>
<int key="NSvFlags">-2147483384</int>
@ -744,7 +760,7 @@
<string key="NSFrame">{{215, 67}, {105, 68}}</string>
<reference key="NSSuperview" ref="143533231"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="464536687"/>
<reference key="NSNextKeyView" ref="259467918"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">27</int>
@ -802,6 +818,7 @@
<string key="NSFrame">{{0, 248}, {480, 72}}</string>
<reference key="NSSuperview" ref="837874415"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
@ -821,15 +838,15 @@
<object class="IBUIImageView" id="526609754">
<reference key="NSNextResponder" ref="408941248"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{480, 320}</string>
<string key="NSFrame">{{-5, 0}, {485, 320}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="910644251"/>
<reference key="NSNextKeyView" ref="996491821"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<int key="IBUITag">2</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<reference key="IBUIImage" ref="802363420"/>
<reference key="IBUIImage" ref="33802286"/>
</object>
<object class="IBUIButton" id="996491821">
<reference key="NSNextResponder" ref="408941248"/>
@ -879,7 +896,7 @@
<string key="NSFrame">{{284, 10}, {107, 54}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="780746484"/>
<reference key="NSNextKeyView" ref="923486394"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">5</int>
@ -936,7 +953,7 @@
<string key="NSFrame">{{284, 72}, {107, 54}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="418560395"/>
<reference key="NSNextKeyView" ref="625010060"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">8</int>
@ -1050,7 +1067,7 @@
<string key="NSFrame">{{284, 196}, {107, 54}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="950460796"/>
<reference key="NSNextKeyView"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">14</int>
@ -1063,13 +1080,13 @@
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="910644251">
<object class="IBUIButton" id="9290103">
<reference key="NSNextResponder" ref="408941248"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 44}, {68, 48}}</string>
<string key="NSFrame">{{40, 50}, {68, 48}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="996491821"/>
<reference key="NSNextKeyView" ref="345299878"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">100</int>
@ -1077,20 +1094,20 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°1</string>
<reference key="IBUINormalTitleColor" ref="318266498"/>
<reference key="IBUINormalTitleColor" ref="241519984"/>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<reference key="IBUIHighlightedBackgroundImage" ref="615539721"/>
<reference key="IBUINormalBackgroundImage" ref="771712694"/>
<reference key="IBUIHighlightedBackgroundImage" ref="84268735"/>
<reference key="IBUINormalBackgroundImage" ref="64140773"/>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="780746484">
<object class="IBUIButton" id="345299878">
<reference key="NSNextResponder" ref="408941248"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 106}, {68, 48}}</string>
<string key="NSFrame">{{40, 106}, {68, 48}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="923486394"/>
<reference key="NSNextKeyView" ref="464953771"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">101</int>
@ -1098,20 +1115,19 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°2</string>
<reference key="IBUINormalTitleColor" ref="318266498"/>
<reference key="IBUINormalTitleColor" ref="241519984"/>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<reference key="IBUIHighlightedBackgroundImage" ref="615539721"/>
<reference key="IBUINormalBackgroundImage" ref="771712694"/>
<reference key="IBUIHighlightedBackgroundImage" ref="84268735"/>
<reference key="IBUINormalBackgroundImage" ref="64140773"/>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
<object class="IBUIButton" id="418560395">
<object class="IBUIButton" id="464953771">
<reference key="NSNextResponder" ref="408941248"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 168}, {68, 48}}</string>
<string key="NSFrame">{{40, 162}, {68, 48}}</string>
<reference key="NSSuperview" ref="408941248"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="625010060"/>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<int key="IBUITag">102</int>
@ -1119,10 +1135,10 @@
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
<string key="IBUINormalTitle">Option n°3</string>
<reference key="IBUINormalTitleColor" ref="318266498"/>
<reference key="IBUINormalTitleColor" ref="241519984"/>
<reference key="IBUINormalTitleShadowColor" ref="838911807"/>
<reference key="IBUIHighlightedBackgroundImage" ref="615539721"/>
<reference key="IBUINormalBackgroundImage" ref="771712694"/>
<reference key="IBUIHighlightedBackgroundImage" ref="84268735"/>
<reference key="IBUINormalBackgroundImage" ref="64140773"/>
<reference key="IBUIFontDescription" ref="306326975"/>
<reference key="IBUIFont" ref="315645433"/>
</object>
@ -1140,6 +1156,21 @@
<reference key="NSNextResponder" ref="837874415"/>
<int key="NSvFlags">292</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="298889112">
<reference key="NSNextResponder" ref="950460796"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 82}, {480, 2000}}</string>
<reference key="NSSuperview" ref="950460796"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="974396983"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC42OTQxMTc2NDcxIDAuNzg0MzEzNzI1NSAwAA</bytes>
</object>
<int key="IBUITag">28</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIButton" id="102684796">
<reference key="NSNextResponder" ref="950460796"/>
<int key="NSvFlags">292</int>
@ -1235,6 +1266,7 @@
<string key="NSFrame">{{285, 0}, {65, 82}}</string>
<reference key="NSSuperview" ref="950460796"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="173491714"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">22</int>
@ -1400,6 +1432,7 @@
<string key="NSFrame">{{415, 0}, {65, 82}}</string>
<reference key="NSSuperview" ref="950460796"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="298889112"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<int key="IBUITag">27</int>
@ -1630,6 +1663,14 @@
</object>
<int key="connectionID">138</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dialerButton</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="976589610"/>
</object>
<int key="connectionID">140</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">optionsAddButton</string>
@ -1642,33 +1683,25 @@
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">option1Button</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="785108977"/>
<reference key="destination" ref="1023421548"/>
</object>
<int key="connectionID">149</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">option3Button</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="788831181"/>
</object>
<int key="connectionID">151</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">dialerButton</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="976589610"/>
</object>
<int key="connectionID">152</int>
<int key="connectionID">153</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">option2Button</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="447196686"/>
<reference key="destination" ref="984854394"/>
</object>
<int key="connectionID">157</int>
<int key="connectionID">164</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">option3Button</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="604924486"/>
</object>
<int key="connectionID">165</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
@ -1758,6 +1791,33 @@
</object>
<int key="connectionID">136</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onOption1Click:</string>
<reference key="source" ref="1023421548"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">169</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onOption2Click:</string>
<reference key="source" ref="984854394"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">170</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onOption3Click:</string>
<reference key="source" ref="604924486"/>
<reference key="destination" ref="372490531"/>
<int key="IBEventType">7</int>
</object>
<int key="connectionID">171</int>
</object>
</array>
<object class="IBMutableOrderedSet" key="objectRecords">
<array key="orderedObjects">
@ -1808,6 +1868,7 @@
<reference ref="99607181"/>
<reference ref="976589610"/>
<reference ref="1016105438"/>
<reference ref="259467918"/>
<reference ref="471717543"/>
</array>
<reference key="parent" ref="931774220"/>
@ -1855,114 +1916,12 @@
<reference key="parent" ref="143533231"/>
<string key="objectName">videoButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="556199520"/>
<array class="NSMutableArray" key="children">
<reference ref="1062143568"/>
<reference ref="291142801"/>
<reference ref="612787992"/>
<reference ref="843780954"/>
<reference ref="1070521404"/>
<reference ref="736263510"/>
<reference ref="977745568"/>
<reference ref="308872469"/>
<reference ref="809465959"/>
<reference ref="193555513"/>
<reference ref="357389737"/>
<reference ref="525082175"/>
<reference ref="951243834"/>
<reference ref="785108977"/>
<reference ref="447196686"/>
<reference ref="788831181"/>
</array>
<reference key="parent" ref="931774220"/>
<string key="objectName">pad</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">59</int>
<reference key="object" ref="1016105438"/>
<reference key="parent" ref="143533231"/>
<string key="objectName">videoWaitView</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">73</int>
<reference key="object" ref="291142801"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">72</int>
<reference key="object" ref="612787992"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">2</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">71</int>
<reference key="object" ref="843780954"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">3</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">69</int>
<reference key="object" ref="1070521404"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">4</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">70</int>
<reference key="object" ref="736263510"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">5</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">63</int>
<reference key="object" ref="977745568"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">6</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">68</int>
<reference key="object" ref="308872469"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">7</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">67</int>
<reference key="object" ref="809465959"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">8</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">66</int>
<reference key="object" ref="193555513"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">9</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">62</int>
<reference key="object" ref="357389737"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">*</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">64</int>
<reference key="object" ref="525082175"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">0</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">65</int>
<reference key="object" ref="951243834"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">#</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">99</int>
<reference key="object" ref="1062143568"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">background</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">100</int>
<reference key="object" ref="837874415"/>
@ -1991,12 +1950,12 @@
<reference ref="629341434"/>
<reference ref="809495409"/>
<reference ref="94322278"/>
<reference ref="910644251"/>
<reference ref="780746484"/>
<reference ref="418560395"/>
<reference ref="345299878"/>
<reference ref="9290103"/>
<reference ref="464953771"/>
</array>
<reference key="parent" ref="837874415"/>
<string key="objectName">pad</string>
<string key="objectName">padView</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">114</int>
@ -2088,6 +2047,7 @@
<reference ref="528058217"/>
<reference ref="102684796"/>
<reference ref="889778982"/>
<reference ref="298889112"/>
<reference ref="173491714"/>
</array>
<reference key="parent" ref="837874415"/>
@ -2147,47 +2107,17 @@
<reference key="parent" ref="837874415"/>
<string key="objectName">mask</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">88</int>
<reference key="object" ref="471717543"/>
<reference key="parent" ref="143533231"/>
<string key="objectName">optionsAddButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">140</int>
<reference key="object" ref="785108977"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">141</int>
<reference key="object" ref="447196686"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option2</string>
<reference key="object" ref="298889112"/>
<reference key="parent" ref="950460796"/>
<string key="objectName">background</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">142</int>
<reference key="object" ref="788831181"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option3</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">146</int>
<reference key="object" ref="910644251"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">147</int>
<reference key="object" ref="780746484"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option2</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">148</int>
<reference key="object" ref="418560395"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option3</string>
<reference key="object" ref="259467918"/>
<reference key="parent" ref="143533231"/>
<string key="objectName">background</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">127</int>
@ -2195,6 +2125,150 @@
<reference key="parent" ref="950460796"/>
<string key="objectName">optionsAddButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">88</int>
<reference key="object" ref="471717543"/>
<reference key="parent" ref="143533231"/>
<string key="objectName">optionsAddButton</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">31</int>
<reference key="object" ref="556199520"/>
<array class="NSMutableArray" key="children">
<reference ref="1062143568"/>
<reference ref="291142801"/>
<reference ref="612787992"/>
<reference ref="843780954"/>
<reference ref="1070521404"/>
<reference ref="736263510"/>
<reference ref="977745568"/>
<reference ref="809465959"/>
<reference ref="193555513"/>
<reference ref="357389737"/>
<reference ref="525082175"/>
<reference ref="951243834"/>
<reference ref="308872469"/>
<reference ref="1023421548"/>
<reference ref="984854394"/>
<reference ref="604924486"/>
</array>
<reference key="parent" ref="931774220"/>
<string key="objectName">padView</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">99</int>
<reference key="object" ref="1062143568"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">background</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">73</int>
<reference key="object" ref="291142801"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">72</int>
<reference key="object" ref="612787992"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">2</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">71</int>
<reference key="object" ref="843780954"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">3</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">69</int>
<reference key="object" ref="1070521404"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">4</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">70</int>
<reference key="object" ref="736263510"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">5</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">63</int>
<reference key="object" ref="977745568"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">6</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">68</int>
<reference key="object" ref="308872469"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">7</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">67</int>
<reference key="object" ref="809465959"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">8</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">66</int>
<reference key="object" ref="193555513"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">9</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">62</int>
<reference key="object" ref="357389737"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">*</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">64</int>
<reference key="object" ref="525082175"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">0</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">65</int>
<reference key="object" ref="951243834"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">#</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">152</int>
<reference key="object" ref="1023421548"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">159</int>
<reference key="object" ref="984854394"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option2</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">160</int>
<reference key="object" ref="604924486"/>
<reference key="parent" ref="556199520"/>
<string key="objectName">option3</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">166</int>
<reference key="object" ref="9290103"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option1</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">167</int>
<reference key="object" ref="345299878"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option2</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">168</int>
<reference key="object" ref="464953771"/>
<reference key="parent" ref="408941248"/>
<string key="objectName">option3</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -2273,24 +2347,20 @@
<real value="0.0" key="126.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="127.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="127.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="140.CustomClassName">UIDigitButton</string>
<string key="140.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="140.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="141.CustomClassName">UIDigitButton</string>
<string key="141.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="141.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="142.CustomClassName">UIDigitButton</string>
<string key="142.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="1" key="142.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="146.CustomClassName">UIDigitButton</string>
<string key="146.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="146.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="147.CustomClassName">UIDigitButton</string>
<string key="147.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="147.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="148.CustomClassName">UIDigitButton</string>
<string key="148.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="148.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="152.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="1" key="152.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="159.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="159.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="160.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="160.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="166.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="1" key="166.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="167.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="167.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="168.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="168.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="21.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -2301,7 +2371,7 @@
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="6.CustomClassName">UIToggleButton</string>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<real value="2" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="62.CustomClassName">UIDigitButton</string>
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="62.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
@ -2319,7 +2389,7 @@
<real value="0.0" key="66.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="67.CustomClassName">UIDigitButton</string>
<string key="67.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="1" key="67.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<real value="0.0" key="67.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="68.CustomClassName">UIDigitButton</string>
<string key="68.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="68.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
@ -2355,7 +2425,7 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">157</int>
<int key="maxID">171</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -2727,11 +2797,11 @@
<string key="numpad_zero_default.png">{220, 113}</string>
<string key="numpad_zero_over.png">{220, 113}</string>
<string key="options_add_default.png">{160, 134}</string>
<string key="options_add_default_landscape.png">{129, 109}</string>
<string key="options_add_default_landscape.png">{130, 163}</string>
<string key="options_add_disabled.png">{160, 134}</string>
<string key="options_add_disabled_landscape.png">{129, 109}</string>
<string key="options_add_disabled_landscape.png">{130, 163}</string>
<string key="options_add_over.png">{160, 134}</string>
<string key="options_add_over_landscape.png">{129, 109}</string>
<string key="options_add_over_landscape.png">{130, 163}</string>
<string key="pause_off_default.png">{209, 136}</string>
<string key="pause_off_default_landscape.png">{130, 163}</string>
<string key="pause_off_over.png">{209, 136}</string>

File diff suppressed because it is too large Load diff

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -154,7 +154,7 @@
</object>
<object class="IBUILabel" id="1040042446">
<reference key="NSNextResponder" ref="227927177"/>
<int key="NSvFlags">294</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{10, 0}, {206, 51}}</string>
<reference key="NSSuperview" ref="227927177"/>
<reference key="NSWindow"/>
@ -4651,7 +4651,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="NSFrame">{{262, 12}, {50, 29}}</string>
<reference key="NSSuperview" ref="227927177"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
@ -4676,7 +4675,7 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
</object>
<object class="IBUIButton" id="544229628">
<reference key="NSNextResponder" ref="227927177"/>
<int key="NSvFlags">294</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 5}, {200, 40}}</string>
<reference key="NSSuperview" ref="227927177"/>
<reference key="NSWindow"/>
@ -4716,7 +4715,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="293312528"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
@ -5114,6 +5112,6 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE</bytes>
<string key="call_state_play_over.png">{43, 46}</string>
<string key="cell_call_first.png">{640, 125}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -35,7 +35,7 @@
</object>
<object class="IBUIView" id="316763236">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="567463562">
<reference key="NSNextResponder" ref="316763236"/>
@ -123,7 +123,7 @@
</object>
<object class="IBUIButton" id="162769001">
<reference key="NSNextResponder" ref="316763236"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
<reference key="NSSuperview" ref="316763236"/>
<reference key="NSWindow"/>
@ -162,7 +162,7 @@
</object>
<object class="IBUIButton" id="753878244">
<reference key="NSNextResponder" ref="316763236"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
<reference key="NSSuperview" ref="316763236"/>
<reference key="NSWindow"/>
@ -417,6 +417,6 @@
<string key="list_details_default.png">{45, 45}</string>
<string key="list_details_over.png">{45, 45}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -41,7 +41,7 @@
@property (nonatomic, retain) IBOutlet UILabel *dateLabel;
- (id)initWithIdentifier:(NSString*)identifier;
+ (CGFloat)height:(ChatModel*)chat;
+ (CGFloat)height:(ChatModel*)chat width:(int)width;
- (IBAction)onDeleteClick:(id)event;

View file

@ -117,41 +117,12 @@ static UIFont *CELL_FONT = nil;
}
}
- (void)resizeContent {
if(chat != nil) {
// Resize Content
CGRect contentFrame = [contentView frame];
contentFrame.size = [UIChatRoomCell viewSize:[chat message]];
if([[chat direction] intValue]) { // Inverted
contentFrame.origin.x = 0.0f;
contentFrame.origin.y = 0.0f;
} else {
contentFrame.origin.x = CELL_MAX_WIDTH - contentFrame.size.width;
contentFrame.origin.y = 0.0f;
}
[contentView setFrame:contentFrame];
CGRect messageFrame = [messageView frame];
messageFrame.origin.y = ([contentView frame].size.height - messageFrame.size.height)/2;
if([[chat direction] intValue]) { // Inverted
[backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size
forNinePatchNamed:@"chat_bubble_incoming"]];
messageFrame.origin.y += 5;
} else {
[backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size
forNinePatchNamed:@"chat_bubble_outgoing"]];
messageFrame.origin.y -= 5;
}
[messageView setFrame:messageFrame];
}
}
+ (CGSize)viewSize:(NSString*)message {
+ (CGSize)viewSize:(NSString*)message width:(int)width {
if(CELL_FONT == nil) {
CELL_FONT = [UIFont systemFontOfSize:CELL_FONT_SIZE];
}
CGSize messageSize = [message sizeWithFont: CELL_FONT
constrainedToSize: CGSizeMake(CELL_MAX_WIDTH - CELL_MESSAGE_X_MARGIN, 10000.0f)
constrainedToSize: CGSizeMake(width - CELL_MESSAGE_X_MARGIN, 10000.0f)
lineBreakMode: UILineBreakModeTailTruncation];
messageSize.height += CELL_MESSAGE_Y_MARGIN;
if(messageSize.height < CELL_MIN_HEIGHT)
@ -162,8 +133,8 @@ static UIFont *CELL_FONT = nil;
return messageSize;
}
+ (CGFloat)height:(ChatModel*)chat {
return [UIChatRoomCell viewSize:[chat message]].height;
+ (CGFloat)height:(ChatModel*)chat width:(int)width {
return [UIChatRoomCell viewSize:[chat message] width:width].height;
}
@ -171,7 +142,32 @@ static UIFont *CELL_FONT = nil;
- (void)layoutSubviews {
[super layoutSubviews];
[self resizeContent];
if(chat != nil) {
// Resize Content
CGRect contentFrame = [contentView frame];
contentFrame.size = [UIChatRoomCell viewSize:[chat message] width:[self frame].size.width];
if([[chat direction] intValue]) { // Inverted
contentFrame.origin.x = 0.0f;
contentFrame.origin.y = 0.0f;
} else {
contentFrame.origin.x = [self frame].size.width - contentFrame.size.width;
contentFrame.origin.y = 0.0f;
}
[contentView setFrame:contentFrame];
CGRect messageFrame = [messageView frame];
messageFrame.origin.y = ([contentView frame].size.height - messageFrame.size.height)/2;
if([[chat direction] intValue]) { // Inverted
[backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size
forNinePatchNamed:@"chat_bubble_incoming"]];
messageFrame.origin.y += 5;
} else {
[backgroundImage setImage:[TUNinePatchCache imageOfSize:[backgroundImage bounds].size
forNinePatchNamed:@"chat_bubble_outgoing"]];
messageFrame.origin.y -= 5;
}
[messageView setFrame:messageFrame];
}
}

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -35,7 +35,7 @@
</object>
<object class="IBUIView" id="579600281">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<int key="NSvFlags">301</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="340144998">
<reference key="NSNextResponder" ref="579600281"/>
@ -181,17 +181,21 @@
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="369753676">
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{100, 100}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="765717609"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="111268450">
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{100, 100}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="765717609"/>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
@ -443,6 +447,6 @@
<string key="list_delete_default.png">{45, 45}</string>
<string key="list_delete_over.png">{45, 45}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -87,6 +87,7 @@
- (void)changeView:(UICompositeViewDescription *)description;
- (void)setFullScreen:(BOOL) enabled;
- (void)setStateBarHidden:(BOOL) hidden;
- (void)setToolBarHidden:(BOOL) hidden;
- (UIViewController *)getCurrentViewController;

View file

@ -19,6 +19,8 @@
#import "UICompositeViewController.h"
#import "PhoneMainView.h"
@implementation UICompositeViewDescription
@synthesize name;
@ -90,7 +92,7 @@
#pragma mark - Lifecycle Functions
- (void)initUICompositeViewController {
self->viewControllerCache = [[NSMutableDictionary alloc] init];
self->viewControllerCache = [[NSMutableDictionary alloc] init];
self->currentOrientation = UIDeviceOrientationUnknown;
}
@ -133,17 +135,23 @@
#pragma mark - ViewController Functions
- (void)viewDidLoad {
/* Force landscape view to match portrait view */
CGRect frame = [portraitView frame];
int height = frame.size.width;
frame.size.width = frame.size.height;
frame.size.height = height;
[landscapeView setFrame:frame];
[super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
[contentViewController viewWillAppear:animated];
[tabBarViewController viewWillAppear:animated];
[stateBarViewController viewWillAppear:animated];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
currentOrientation = [[UIDevice currentDevice] orientation];
}
- (void)viewDidAppear:(BOOL)animated {
@ -158,11 +166,8 @@
[contentViewController viewWillDisappear:animated];
[tabBarViewController viewWillDisappear:animated];
[stateBarViewController viewWillDisappear:animated];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIDeviceOrientationDidChangeNotification
object:nil];
[[UIDevice currentDevice] endGeneratingDeviceOrientationNotifications];
}
- (void)viewDidDisappear:(BOOL)animated {
@ -172,25 +177,20 @@
[stateBarViewController viewDidDisappear:animated];
}
- (void)orientationChanged:(NSNotification *)notification {
currentOrientation = [[UIDevice currentDevice] orientation];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation];
[super willRotateToInterfaceOrientation:correctOrientation duration:duration];
[contentViewController willRotateToInterfaceOrientation:correctOrientation duration:duration];
[tabBarViewController willRotateToInterfaceOrientation:correctOrientation duration:duration];
[stateBarViewController willRotateToInterfaceOrientation:correctOrientation duration:duration];
currentOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation];
[super willRotateToInterfaceOrientation:currentOrientation duration:duration];
[contentViewController willRotateToInterfaceOrientation:currentOrientation duration:duration];
[tabBarViewController willRotateToInterfaceOrientation:currentOrientation duration:duration];
[stateBarViewController willRotateToInterfaceOrientation:currentOrientation duration:duration];
}
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:toInterfaceOrientation];
[super willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration];
[contentViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration];
[tabBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration];
[stateBarViewController willAnimateRotationToInterfaceOrientation:correctOrientation duration:duration];
[self update:nil tabBar:nil fullscreen:nil];
[super willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration];
[contentViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration];
[tabBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration];
[stateBarViewController willAnimateRotationToInterfaceOrientation:currentOrientation duration:duration];
[self update:nil tabBar:nil stateBar:nil fullscreen:nil];
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
@ -201,15 +201,19 @@
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if(currentViewDescription != nil && [[LinphoneManager instance].settingsStore boolForKey:@"landscape_preference"]) {
if (UIInterfaceOrientationIsPortrait(interfaceOrientation) && [currentViewDescription portraitMode]) {
if(currentViewDescription != nil) {
NSString* rotationPreference = [[LinphoneManager instance].settingsStore objectForKey:@"rotation_preference"];
if (UIInterfaceOrientationIsPortrait(interfaceOrientation) && [currentViewDescription portraitMode] &&
([rotationPreference isEqualToString:@"auto"] || [rotationPreference isEqualToString:@"portrait"])) {
return YES;
}
if (UIInterfaceOrientationIsLandscape(interfaceOrientation) && [currentViewDescription landscapeMode]) {
if (UIInterfaceOrientationIsLandscape(interfaceOrientation) && [currentViewDescription landscapeMode] &&
([rotationPreference isEqualToString:@"auto"] || [rotationPreference isEqualToString:@"landscape"])) {
return YES;
}
return NO;
}
return NO;
return YES;
}
@ -217,7 +221,6 @@
+ (void)addSubView:(UIViewController*)controller view:(UIView*)view {
if(controller != nil) {
[controller view]; // Load the view
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[controller viewWillAppear:NO];
}
@ -247,23 +250,64 @@
if(controller == nil) {
controller = [[NSClassFromString(name) alloc] init];
[viewControllerCache setValue:controller forKey:name];
[controller view]; // Load the view
}
}
return controller;
}
- (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
if(currentViewDescription != nil && [[LinphoneManager instance].settingsStore boolForKey:@"landscape_preference"]) {
if (UIInterfaceOrientationIsPortrait(interfaceOrientation)) {
if ([currentViewDescription portraitMode]) {
return interfaceOrientation;
- (UIInterfaceOrientation)getCorrectInterfaceOrientation:(UIDeviceOrientation)deviceOrientation {
if(currentViewDescription != nil) {
NSString* rotationPreference = [[LinphoneManager instance].settingsStore objectForKey:@"rotation_preference"];
if([rotationPreference isEqualToString:@"auto"]) {
if(deviceOrientation == UIDeviceOrientationUnknown) {
return [UIApplication sharedApplication].statusBarOrientation;
}
if (UIDeviceOrientationIsPortrait(deviceOrientation)) {
if ([currentViewDescription portraitMode]) {
return deviceOrientation;
} else {
return UIInterfaceOrientationLandscapeLeft;
}
}
if (UIDeviceOrientationIsLandscape(deviceOrientation)) {
if ([currentViewDescription landscapeMode]) {
return deviceOrientation;
} else {
return UIInterfaceOrientationPortrait;
}
}
} else if([rotationPreference isEqualToString:@"portrait"]) {
if ([currentViewDescription landscapeMode]) {
if (UIDeviceOrientationIsPortrait(deviceOrientation)) {
if(deviceOrientation == UIDeviceOrientationUnknown) {
return [UIApplication sharedApplication].statusBarOrientation;
}
return deviceOrientation;
} else {
if(UIInterfaceOrientationIsPortrait([UIApplication sharedApplication].statusBarOrientation)) {
return [UIApplication sharedApplication].statusBarOrientation;
} else {
return UIInterfaceOrientationPortrait;
}
}
} else {
return UIInterfaceOrientationLandscapeLeft;
}
}
if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) {
} else if([rotationPreference isEqualToString:@"landscape"]) {
if ([currentViewDescription landscapeMode]) {
return interfaceOrientation;
if (UIDeviceOrientationIsLandscape(deviceOrientation)) {
if(deviceOrientation == UIDeviceOrientationUnknown) {
return [UIApplication sharedApplication].statusBarOrientation;
}
return deviceOrientation;
} else {
if(UIInterfaceOrientationIsLandscape([UIApplication sharedApplication].statusBarOrientation)) {
return [UIApplication sharedApplication].statusBarOrientation;
} else {
return UIInterfaceOrientationLandscapeLeft;
}
}
} else {
return UIInterfaceOrientationPortrait;
}
@ -298,7 +342,7 @@
#define IPHONE_STATUSBAR_HEIGHT 20
- (void)update: (UICompositeViewDescription*) description tabBar:(NSNumber*)tabBar fullscreen:(NSNumber*)fullscreen {
- (void)update: (UICompositeViewDescription*) description tabBar:(NSNumber*)tabBar stateBar:(NSNumber*)stateBar fullscreen:(NSNumber*)fullscreen {
// Copy view description
UICompositeViewDescription *oldViewDescription = nil;
@ -332,17 +376,11 @@
tabBarViewController = [self getCachedController:description.tabBar];
// Update rotation
UIDeviceOrientation correctOrientation = [self getCorrectInterfaceOrientation:currentOrientation];
if([UIApplication sharedApplication].statusBarOrientation != correctOrientation) {
[[NSNotificationCenter defaultCenter] removeObserver:self
name:UIDeviceOrientationDidChangeNotification
object:nil];
[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)correctOrientation];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(orientationChanged:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
UIInterfaceOrientation correctOrientation = [self getCorrectInterfaceOrientation:[[UIDevice currentDevice] orientation]];
if(currentOrientation != correctOrientation) {
[PhoneMainView forceOrientation:correctOrientation animated:currentOrientation!=UIDeviceOrientationUnknown];
}
currentOrientation = correctOrientation;
[self updateInterfaceOrientation:correctOrientation];
} else {
oldViewDescription = (currentViewDescription != nil)? [currentViewDescription copy]: nil;
@ -360,6 +398,14 @@
}
}
if(stateBar != nil) {
if(currentViewDescription.stateBarEnabled != [stateBar boolValue]) {
currentViewDescription.stateBarEnabled = [stateBar boolValue];
} else {
stateBar = nil; // No change = No Update
}
}
if(fullscreen != nil) {
if(currentViewDescription.fullscreen != [fullscreen boolValue]) {
currentViewDescription.fullscreen = [fullscreen boolValue];
@ -372,14 +418,12 @@
}
// Start animation
if(tabBar != nil || fullscreen != nil) {
if(tabBar != nil || stateBar != nil || fullscreen != nil) {
[UIView beginAnimations:@"resize" context:nil];
[UIView setAnimationDuration:0.35];
[UIView setAnimationBeginsFromCurrentState:TRUE];
}
UIView *innerView = contentViewController.view;
CGRect contentFrame = contentView.frame;
CGRect viewFrame = [self.view frame];
@ -418,24 +462,25 @@
tabFrame.origin.y = viewFrame.size.height;
}
if(currentViewDescription.fullscreen)
if(currentViewDescription.fullscreen) {
contentFrame.origin.y = origin;
contentFrame.size.height = viewFrame.size.height - contentFrame.origin.y;
// Resize innerView
CGRect innerContentFrame = innerView.frame;
innerContentFrame.origin.x = 0;
innerContentFrame.origin.y = 0;
innerContentFrame.size.width = contentFrame.size.width;
innerContentFrame.size.height = contentFrame.size.height;
}
// Set frames
[contentView setFrame: contentFrame];
[innerView setFrame: innerContentFrame];
[contentViewController.view setFrame: [contentView bounds]];
[tabBarView setFrame: tabFrame];
CGRect frame = [tabBarViewController.view frame];
frame.size.width = [tabBarView bounds].size.width;
[tabBarViewController.view setFrame:frame];
[stateBarView setFrame: stateBarFrame];
frame = [stateBarViewController.view frame];
frame.size.width = [stateBarView bounds].size.width;
[stateBarViewController.view setFrame:frame];
// Commit animation
if(tabBar != nil || fullscreen != nil) {
if(tabBar != nil || stateBar != nil || fullscreen != nil) {
[UIView commitAnimations];
}
@ -458,15 +503,19 @@
- (void) changeView:(UICompositeViewDescription *)description {
[self view]; // Force view load
[self update:description tabBar:nil fullscreen:nil];
[self update:description tabBar:nil stateBar:nil fullscreen:nil];
}
- (void) setFullScreen:(BOOL) enabled {
[self update:nil tabBar:nil fullscreen:[NSNumber numberWithBool:enabled]];
[self update:nil tabBar:nil stateBar:nil fullscreen:[NSNumber numberWithBool:enabled]];
}
- (void) setToolBarHidden:(BOOL) hidden {
[self update:nil tabBar:[NSNumber numberWithBool:!hidden] fullscreen:nil];
[self update:nil tabBar:[NSNumber numberWithBool:!hidden] stateBar:nil fullscreen:nil];
}
- (void) setStateBarHidden:(BOOL) hidden {
[self update:nil tabBar: nil stateBar:[NSNumber numberWithBool:!hidden] fullscreen:nil];
}
- (UIViewController *) getCurrentViewController {

View file

@ -3,12 +3,12 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
@ -37,7 +37,7 @@
<object class="IBUIView" id="481442126">
<reference key="NSNextResponder" ref="191373211"/>
<int key="NSvFlags">314</int>
<string key="NSFrame">{{0, 23}, {320, 389}}</string>
<string key="NSFrame">{{0, 23}, {320, 397}}</string>
<reference key="NSSuperview" ref="191373211"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="548578981"/>
@ -60,7 +60,6 @@
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
@ -73,7 +72,6 @@
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
@ -83,7 +81,6 @@
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="256276698"/>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="915565391">
@ -93,7 +90,7 @@
<object class="IBUIView" id="575003184">
<reference key="NSNextResponder" ref="915565391"/>
<int key="NSvFlags">314</int>
<string key="NSFrame">{{0, 24}, {480, 231}}</string>
<string key="NSFrame">{{0, 23}, {480, 237}}</string>
<reference key="NSSuperview" ref="915565391"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="872119935"/>
@ -113,7 +110,6 @@
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
@ -126,7 +122,6 @@
<string key="NSReuseIdentifierKey">_NS:9</string>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUITag">3</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
@ -136,7 +131,6 @@
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="1051455928"/>
<reference key="IBUIBackgroundColor" ref="572758541"/>
<bool key="IBUIAutoresizesSubviews">NO</bool>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">3</int>
<int key="interfaceOrientation">3</int>
@ -368,6 +362,6 @@
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -21,6 +21,7 @@
#import "Utils.h"
#import "UIEditableTableViewCell.h"
#import "FastAddressBook.h"
#import "UILinphone.h"
@implementation UIContactDetailsHeader
@ -60,7 +61,7 @@
- (void)viewDidLoad {
[super viewDidLoad];
[tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4
removeTableBackground(tableView); // Can't do it in Xib: issue with ios4
}

View file

@ -2,20 +2,20 @@
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11D50</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.AppKitVersion">1138.32</string>
<string key="IBDocument.HIToolboxVersion">568.00</string>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUITableView</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIImageView</string>
<string>IBUILabel</string>
<string>IBUITableView</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -35,7 +35,7 @@
</object>
<object class="IBUIView" id="1033790597">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="452773126">
<reference key="NSNextResponder" ref="1033790597"/>
@ -69,11 +69,11 @@
</object>
<object class="IBUIView" id="959860357">
<reference key="NSNextResponder" ref="1033790597"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUILabel" id="683404399">
<reference key="NSNextResponder" ref="959860357"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 37}, {199, 43}}</string>
<reference key="NSSuperview" ref="959860357"/>
<reference key="NSWindow"/>
@ -116,7 +116,7 @@
</object>
<object class="IBUIView" id="451441616">
<reference key="NSNextResponder" ref="1033790597"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUITableView" id="579848711">
<reference key="NSNextResponder" ref="451441616"/>
@ -378,7 +378,6 @@ AAgACAAIAAEAAQABAAE</bytes>
<dictionary class="NSMutableDictionary" key="outlets">
<string key="addressLabel">UILabel</string>
<string key="avatarImage">UIImageView</string>
<string key="contactLabel">UILabel</string>
<string key="editView">UIView</string>
<string key="normalView">UIView</string>
<string key="tableView">UITableView</string>
@ -392,10 +391,6 @@ AAgACAAIAAEAAQABAAE</bytes>
<string key="name">avatarImage</string>
<string key="candidateClassName">UIImageView</string>
</object>
<object class="IBToOneOutletInfo" key="contactLabel">
<string key="name">contactLabel</string>
<string key="candidateClassName">UILabel</string>
</object>
<object class="IBToOneOutletInfo" key="editView">
<string key="name">editView</string>
<string key="candidateClassName">UIView</string>
@ -428,6 +423,6 @@ AAgACAAIAAEAAQABAAE</bytes>
<string key="avatar_shadow_small.png">{262, 214}</string>
<string key="avatar_unknown_small.png">{131, 131}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -35,7 +35,7 @@
</object>
<object class="IBUIView" id="702431052">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="811339934">
<reference key="NSNextResponder" ref="702431052"/>
@ -86,7 +86,7 @@
</object>
<object class="IBUIButton" id="364135044">
<reference key="NSNextResponder" ref="702431052"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
<reference key="NSSuperview" ref="702431052"/>
<reference key="NSWindow"/>
@ -125,7 +125,7 @@
</object>
<object class="IBUIButton" id="192050775">
<reference key="NSNextResponder" ref="702431052"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">257</int>
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
<reference key="NSSuperview" ref="702431052"/>
<reference key="NSWindow"/>
@ -358,6 +358,6 @@
<string key="list_details_default.png">{45, 45}</string>
<string key="list_details_over.png">{45, 45}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -32,4 +32,6 @@
- (UIColor *)darkerColor;
@end
@end
void removeTableBackground(UIView* view);

View file

@ -21,6 +21,8 @@
#import "ColorSpaceUtilities.h"
#import "Utils.h"
#import <UIKit/UIView.h>
@implementation UIColor (LightAndDark)
- (UIColor *)lumColor:(float)mult {
@ -89,4 +91,16 @@
return [self lumColor:0.75];
}
@end
@end
void removeTableBackground(UIView*view) {
if([view isKindOfClass:[UITableView class]]) {
[view setBackgroundColor:[UIColor clearColor]];
}
if([view isKindOfClass:[UIImageView class]] && [[view superview] isKindOfClass:[UITableView class]]) {
[(UIImageView*)view setImage:nil];
}
for(UIView *subview in [view subviews]) {
removeTableBackground(subview);
}
}

View file

@ -18,8 +18,9 @@
*/
#import <UIKit/UIKit.h>
#import "TPMultiLayoutViewController.h"
@interface UIMainBar : UIViewController {
@interface UIMainBar : TPMultiLayoutViewController {
UIButton *historyButton;
UIButton *contactsButton;
UIButton *dialerButton;

View file

@ -82,7 +82,7 @@
name:@"LinphoneTextReceived"
object:nil];
*/
[self update];
[self update:FALSE];
}
- (void)viewWillDisappear:(BOOL)animated {
@ -118,21 +118,36 @@
object:nil];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
// Force the animations
[[self.view layer] removeAllAnimations];
[historyNotificationView.layer setTransform:CATransform3DIdentity];
[chatNotificationView.layer setTransform:CATransform3DIdentity];
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
[chatNotificationView setHidden:TRUE];
[historyNotificationView setHidden:TRUE];
[self update:FALSE];
}
#pragma mark - Event Functions
- (void)applicationWillEnterForeground:(NSNotification*)notif {
// Force the animations
[[self.view layer] removeAllAnimations];
[historyNotificationView.layer setTransform:CATransform3DIdentity];
[chatNotificationView.layer setTransform:CATransform3DIdentity];
[chatNotificationView setHidden:TRUE];
[historyNotificationView setHidden:TRUE];
[self update];
[self update:FALSE];
}
- (void)callUpdate:(NSNotification*)notif {
- (void)callUpdate:(NSNotification*)notif {
//LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue];
//LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
[self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc])];
[self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc]) appear:TRUE];
}
- (void)changeViewEvent:(NSNotification*)notif {
@ -143,97 +158,112 @@
/* MODIFICATION Remove chat
- (void)textReceived:(NSNotification*)notif {
[self updateUnreadMessage:[ChatModel unreadMessages]];
[self updateUnreadMessage:[ChatModel unreadMessages] appear:TRUE];
}
*/
#pragma mark -
- (void)update {
- (void)update:(BOOL)appear{
[self updateView:[[PhoneMainView instance] firstView]];
if([LinphoneManager isLcReady]) {
[self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc])];
[self updateMissedCall:linphone_core_get_missed_calls_count([LinphoneManager getLc]) appear:appear];
} else {
[self updateMissedCall:0];
[self updateMissedCall:0 appear:TRUE];
}
/* MODIFICATION Remove chat
[self updateUnreadMessage:[ChatModel unreadMessages]];
[self updateUnreadMessage:[ChatModel unreadMessages] appear:appear];
*/
}
- (void)updateUnreadMessage:(int)unreadMessage{
/* MODIFICATION Remove chat
- (void)updateUnreadMessage:(int)unreadMessage appear:(BOOL)appear{
/*
if (unreadMessage > 0) {
if([chatNotificationView isHidden]) {
[chatNotificationView setHidden:FALSE];
[self appearAnimation:@"Appear" target:chatNotificationView completion:^(BOOL finished){
if(appear) {
[self appearAnimation:@"Appear" target:chatNotificationView completion:^(BOOL finished){
[self startBounceAnimation:@"Bounce" target:chatNotificationView];
}];
} else {
[self startBounceAnimation:@"Bounce" target:chatNotificationView];
}];
}
}
[chatNotificationLabel setText:[NSString stringWithFormat:@"%i", unreadMessage]];
} else {
if(![chatNotificationView isHidden]) {
[self stopBounceAnimation:@"Bounce" target:chatNotificationView];
[self disappearAnimation:@"Disappear" target:chatNotificationView completion:^(BOOL finished){
if(appear) {
[self disappearAnimation:@"Disappear" target:chatNotificationView completion:^(BOOL finished){
[chatNotificationView setHidden:TRUE];
}];
} else {
[chatNotificationView setHidden:TRUE];
}];
}
}
}
*/
}
- (void)updateMissedCall:(int)missedCall{
- (void)updateMissedCall:(int)missedCall appear:(BOOL)appear{
if (missedCall > 0) {
if([historyNotificationView isHidden]) {
[historyNotificationView setHidden:FALSE];
[self appearAnimation:@"Appear" target:historyNotificationView completion:^(BOOL finished){
if(appear) {
[self appearAnimation:@"Appear" target:historyNotificationView completion:^(BOOL finished){
[self startBounceAnimation:@"Bounce" target:historyNotificationView];
}];
} else {
[self startBounceAnimation:@"Bounce" target:historyNotificationView];
}];
}
}
[historyNotificationLabel setText:[NSString stringWithFormat:@"%i", missedCall]];
} else {
if(![historyNotificationView isHidden]) {
[self stopBounceAnimation:@"Bounce" target:historyNotificationView];
[self disappearAnimation:@"Disappear" target:historyNotificationView completion:^(BOOL finished){
[historyNotificationView setHidden:TRUE];
}
];
if(appear) {
[self disappearAnimation:@"Disappear" target:historyNotificationView completion:^(BOOL finished){
}];
} else {
[historyNotificationView setHidden:TRUE];
}
}
}
}
- (void)appearAnimation:(NSString*)animationID target:(UIView*)target completion:(void (^)(BOOL finished))completion {
target.transform = CGAffineTransformMakeScale(0.01f, 0.01f);
target.layer.transform = CATransform3DMakeScale(0.01f, 0.01f, 1.0f);
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction
animations:^{
target.transform = CGAffineTransformIdentity;
target.layer.transform = CATransform3DIdentity;
}
completion:completion];
}
- (void)disappearAnimation:(NSString*)animationID target:(UIView*)target completion:(void (^)(BOOL finished))completion {
CGAffineTransform startCGA = [target transform];
CATransform3D startCGA = target.layer.transform;
[UIView animateWithDuration:0.4
delay:0
options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction
animations:^{
target.transform = CGAffineTransformConcat(startCGA, CGAffineTransformMakeScale(0.01f, 0.01f));
target.layer.transform = CATransform3DConcat(startCGA, CATransform3DMakeScale(0.01f, 0.01f, 1.0f));
}
completion:completion];
}
- (void)startBounceAnimation:(NSString *)animationID target:(UIView *)target {
CGAffineTransform startCGA = [target transform];
CATransform3D startCGA = target.layer.transform;
[UIView animateWithDuration: 0.3
delay: 0
options: UIViewAnimationOptionRepeat |
UIViewAnimationOptionAutoreverse |
UIViewAnimationOptionAutoreverse |
UIViewAnimationOptionAllowUserInteraction |
UIViewAnimationOptionCurveEaseIn
animations:^{
[target setTransform: CGAffineTransformConcat(startCGA, CGAffineTransformMakeTranslation(0, 8))];
target.layer.transform = CATransform3DConcat(startCGA, CATransform3DMakeTranslation(0, 8, 0));
}
completion:^(BOOL finished){
}];
@ -244,13 +274,7 @@
[target.layer removeAnimationForKey:animationID];
}
- (void)updateView:(UICompositeViewDescription*) view {
// Reset missed call
if([view equal:[HistoryViewController compositeViewDescription]]) {
linphone_core_reset_missed_calls_count([LinphoneManager getLc]);
[self updateMissedCall:0];
}
- (void)updateView:(UICompositeViewDescription*) view {
// Update buttons
if([view equal:[HistoryViewController compositeViewDescription]]) {
historyButton.selected = TRUE;
@ -276,9 +300,18 @@
/* MODIFICATION Remove chat
if([view equal:[ChatViewController compositeViewDescription]]) {
chatButton.selected = TRUE;
} else {
chatButton.selected = FALSE;
}
*/
/*
if([view equal:[ChatViewController compositeViewDescription]]) {
moreButton.selected = TRUE;
} else {
moreButton.selected = FALSE;
}*/
}
*/
}
@ -313,4 +346,72 @@
//[[PhoneMainView instance] changeView:PhoneView_Chat];
}
#pragma mark - TPMultiLayoutViewController Functions
- (NSDictionary*)attributesForView:(UIView*)view {
NSMutableDictionary *attributes = [NSMutableDictionary dictionary];
[attributes setObject:[NSValue valueWithCGRect:view.frame] forKey:@"frame"];
[attributes setObject:[NSValue valueWithCGRect:view.bounds] forKey:@"bounds"];
if([view isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)view;
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateNormal] key:@"image-normal"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateHighlighted] key:@"image-highlighted"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateDisabled] key:@"image-disabled"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected] key:@"image-selected"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateDisabled | UIControlStateHighlighted] key:@"image-disabled-highlighted"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected | UIControlStateHighlighted] key:@"image-selected-highlighted"];
[UIMainBar addDictEntry:attributes item:[button imageForState:UIControlStateSelected | UIControlStateDisabled] key:@"image-selected-disabled"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateNormal] key:@"background-normal"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateHighlighted] key:@"background-highlighted"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateDisabled] key:@"background-disabled"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected] key:@"background-selected"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateDisabled | UIControlStateHighlighted] key:@"background-disabled-highlighted"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected | UIControlStateHighlighted] key:@"background-selected-highlighted"];
[UIMainBar addDictEntry:attributes item:[button backgroundImageForState:UIControlStateSelected | UIControlStateDisabled] key:@"background-selected-disabled"];
}
[attributes setObject:[NSNumber numberWithInteger:view.autoresizingMask] forKey:@"autoresizingMask"];
return attributes;
}
- (void)applyAttributes:(NSDictionary*)attributes toView:(UIView*)view {
view.frame = [[attributes objectForKey:@"frame"] CGRectValue];
view.bounds = [[attributes objectForKey:@"bounds"] CGRectValue];
if([view isKindOfClass:[UIButton class]]) {
UIButton *button = (UIButton *)view;
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-normal"] forState:UIControlStateNormal];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-highlighted"] forState:UIControlStateHighlighted];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-disabled"] forState:UIControlStateDisabled];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected"] forState:UIControlStateSelected];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-disabled-highlighted"] forState:UIControlStateDisabled | UIControlStateHighlighted];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected-highlighted"] forState:UIControlStateSelected | UIControlStateHighlighted];
[button setImage:[UIMainBar getDictEntry:attributes key:@"image-selected-disabled"] forState:UIControlStateSelected | UIControlStateDisabled];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-normal"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-highlighted"] forState:UIControlStateHighlighted];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-disabled"] forState:UIControlStateDisabled];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected"] forState:UIControlStateSelected];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-disabled-highlighted"] forState:UIControlStateDisabled | UIControlStateHighlighted];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected-highlighted"] forState:UIControlStateSelected | UIControlStateHighlighted];
[button setBackgroundImage:[UIMainBar getDictEntry:attributes key:@"background-selected-disabled"] forState:UIControlStateSelected | UIControlStateDisabled];
}
view.autoresizingMask = [[attributes objectForKey:@"autoresizingMask"] integerValue];
}
+ (void)addDictEntry:(NSMutableDictionary*)dict item:(id)item key:(id)key {
if(item != nil && key != nil) {
[dict setObject:item forKey:key];
}
}
+ (id)getDictEntry:(NSDictionary*)dict key:(id)key {
if(key != nil) {
return [dict objectForKey:key];
}
return nil;
}
@end

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIButton</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -37,6 +37,21 @@
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIView" id="760939856">
<reference key="NSNextResponder" ref="1018893129"/>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{0, 77}, {320, 2000}}</string>
<reference key="NSSuperview" ref="1018893129"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="318948703"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MC4xNDkwMTk2MDc4IDAuMTY0NzA1ODgyNCAwLjE4MDM5MjE1NjkAA</bytes>
</object>
<int key="IBUITag">28</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIView" id="83510153">
<reference key="NSNextResponder" ref="1018893129"/>
<int key="NSvFlags">-2147483356</int>
@ -344,7 +359,7 @@
<string key="NSFrameSize">{320, 77}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="318948703"/>
<reference key="NSNextKeyView" ref="760939856"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
@ -436,6 +451,14 @@
</object>
<int key="connectionID">41</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchOutletConnection" key="connection">
<string key="label">portraitView</string>
<reference key="source" ref="372490531"/>
<reference key="destination" ref="1018893129"/>
</object>
<int key="connectionID">43</int>
</object>
<object class="IBConnectionRecord">
<object class="IBCocoaTouchEventConnection" key="connection">
<string key="label">onMoreClick:</string>
@ -513,9 +536,9 @@
<reference ref="562688945"/>
<reference ref="698962606"/>
<reference ref="154031566"/>
<reference ref="760939856"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">mainTabBar</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">4</int>
@ -598,6 +621,12 @@
<reference key="parent" ref="154031566"/>
<string key="objectName">chatNotificationImage</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">45</int>
<reference key="object" ref="760939856"/>
<reference key="parent" ref="1018893129"/>
<string key="objectName">background</string>
</object>
</array>
</object>
<dictionary class="NSMutableDictionary" key="flattenedProperties">
@ -614,6 +643,7 @@
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="39.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="45.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<real value="0.0" key="5.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -629,13 +659,35 @@
<nil key="activeLocalization"/>
<dictionary class="NSMutableDictionary" key="localizations"/>
<nil key="sourceID"/>
<int key="maxID">41</int>
<int key="maxID">45</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
<object class="IBPartialClassDescription">
<string key="className">UIMainBar</string>
<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/TPMultiLayoutViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIMainBar</string>
<string key="superclassName">TPMultiLayoutViewController</string>
<dictionary class="NSMutableDictionary" key="actions">
<string key="onContactsClick:">id</string>
<string key="onDialerClick:">id</string>
@ -737,6 +789,6 @@
<string key="settings_over.png">{128, 154}</string>
<string key="settings_selected.png">{128, 154}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

File diff suppressed because it is too large Load diff

View file

@ -1,39 +0,0 @@
/* UIModalViewController.h
*
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import <UIKit/UIKit.h>
@class UIModalViewController;
@protocol UIModalViewDelegate <NSObject>
- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value;
@end
@interface UIModalViewController : UIViewController {
BOOL dismissed;
id<UIModalViewDelegate> modalDelegate;
}
- (void)setModalDelegate:(id<UIModalViewDelegate>)delegate;
- (void)dismiss:(id)value;
- (void)dismiss;
@end

View file

@ -1,90 +0,0 @@
/* UIModalViewController.h
*
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import "UIModalViewController.h"
@implementation UIModalViewController
- (void)initUIModalViewController {
dismissed = FALSE;
}
- (id)init {
self = [super init];
if (self) {
[self initUIModalViewController];
}
return self;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
[self initUIModalViewController];
}
return self;
}
- (id)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (self) {
[self initUIModalViewController];
}
return self;
}
- (void)hideView {
if([self.view superview] !=nil) {
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[self viewWillDisappear:NO];
}
[self.view removeFromSuperview];
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[self viewDidDisappear:NO];
}
}
}
- (void)dismiss:(id)value {
if(modalDelegate != nil)
[modalDelegate modalViewDismiss:self value:value];
if(!dismissed) {
[self hideView];
dismissed = true;
[self autorelease];
}
}
- (void)dismiss{
if(modalDelegate != nil)
[modalDelegate modalViewDismiss:self value:nil];
if(!dismissed) {
[self hideView];
dismissed = true;
[self autorelease];
}
}
- (void)setModalDelegate:(id<UIModalViewDelegate>)delegate {
modalDelegate = delegate;
}
@end

View file

@ -3,18 +3,18 @@
<data>
<int key="IBDocument.SystemTarget">1296</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<array key="IBDocument.IntegratedClassDependencies">
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBUILabel</string>
<string>IBProxyObject</string>
<string>IBUIImageView</string>
<string>IBUILabel</string>
<string>IBUIView</string>
</array>
<array key="IBDocument.PluginDependencies">
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -34,11 +34,11 @@
</object>
<object class="IBUIView" id="848661322">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="393098359">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{320, 23}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
@ -70,8 +70,8 @@
</object>
<object class="IBUILabel" id="200467549">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{22, 0}, {189, 20}}</string>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{22, 0}, {222, 20}}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="327031870"/>
@ -102,7 +102,7 @@
</object>
<object class="IBUIImageView" id="327031870">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{252, 3}, {27, 17}}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
@ -114,11 +114,10 @@
</object>
<object class="IBUIImageView" id="522045680">
<reference key="NSNextResponder" ref="848661322"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{287, 3}, {27, 17}}</string>
<reference key="NSSuperview" ref="848661322"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:567</string>
<int key="IBUIContentMode">1</int>
<int key="IBUITag">5</int>
@ -139,11 +138,11 @@
</object>
<object class="IBUIView" id="572911811">
<reference key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">290</int>
<array class="NSMutableArray" key="NSSubviews">
<object class="IBUIImageView" id="274257756">
<reference key="NSNextResponder" ref="572911811"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">274</int>
<string key="NSFrameSize">{480, 23}</string>
<reference key="NSSuperview" ref="572911811"/>
<reference key="NSWindow"/>
@ -169,8 +168,8 @@
</object>
<object class="IBUILabel" id="314750323">
<reference key="NSNextResponder" ref="572911811"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{22, 0}, {189, 20}}</string>
<int key="NSvFlags">290</int>
<string key="NSFrame">{{22, 0}, {382, 20}}</string>
<reference key="NSSuperview" ref="572911811"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="408451884"/>
@ -191,7 +190,7 @@
</object>
<object class="IBUIImageView" id="408451884">
<reference key="NSNextResponder" ref="572911811"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{412, 3}, {27, 17}}</string>
<reference key="NSSuperview" ref="572911811"/>
<reference key="NSWindow"/>
@ -203,11 +202,10 @@
</object>
<object class="IBUIImageView" id="695121572">
<reference key="NSNextResponder" ref="572911811"/>
<int key="NSvFlags">292</int>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{447, 3}, {27, 17}}</string>
<reference key="NSSuperview" ref="572911811"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:567</string>
<int key="IBUIContentMode">1</int>
<int key="IBUITag">5</int>
@ -313,6 +311,7 @@
<reference ref="522045680"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Portrait View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">6</int>
@ -355,6 +354,7 @@
<reference ref="695121572"/>
</array>
<reference key="parent" ref="0"/>
<string key="objectName">Landscape View</string>
</object>
<object class="IBObjectRecord">
<int key="objectID">20</int>
@ -482,6 +482,6 @@
<string key="led_disconnected.png">{18, 17}</string>
<string key="statebar_background.png">{640, 46}</string>
</dictionary>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -1,29 +0,0 @@
/* UIView+ModalStack.h
*
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import <UIKit/UIKit.h>
#import "UIModalViewController.h"
@interface UIView (ModalStack)
- (void)addModalView:(UIView*)view;
- (void)removeModalView:(UIView*)view;
@end

View file

@ -1,49 +0,0 @@
/* UIView+ModalStack.m
*
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Library General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#import <QuartzCore/QuartzCore.h>
#import "UIView+ModalStack.h"
@implementation UIView (ModalStack)
- (void)addModalView:(UIView*)view {
CATransition* trans = [CATransition animation];
[trans setType:kCATransitionFade];
[trans setDuration:0.35];
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[trans setSubtype:kCATransitionFromRight];
[self.layer addAnimation:trans forKey:@"Appear"];
[self addSubview:view];
[self bringSubviewToFront:view];
}
- (void)removeModalView:(UIView*)view {
CATransition* trans = [CATransition animation];
[trans setType:kCATransitionFade];
[trans setDuration:0.35];
[trans setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[trans setSubtype:kCATransitionFromRight];
[self.layer addAnimation:trans forKey:@"Disappear"];
[view removeFromSuperview];
}
@end

View file

@ -2,33 +2,31 @@
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">10J567</string>
<string key="IBDocument.InterfaceBuilderVersion">823</string>
<string key="IBDocument.AppKitVersion">1038.35</string>
<string key="IBDocument.HIToolboxVersion">462.00</string>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">132</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="25"/>
<integer value="38"/>
<integer value="42"/>
<integer value="4"/>
<string>IBProxyObject</string>
<string>IBUIImageView</string>
<string>IBUILabel</string>
<string>IBUITableView</string>
<string>IBUITableViewCell</string>
<string>IBUITextView</string>
<string>IBUIViewController</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
</object>
<object class="NSMutableDictionary" key="IBDocument.Metadata">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
<integer value="1" key="NS.object.0"/>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -44,13 +42,14 @@
<object class="IBUITableView" key="IBUIView" id="1023241257">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<string key="NSFrame">{{0, 106}, {320, 247}}</string>
<string key="NSFrameSize">{320, 247}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">10</int>
<object class="NSImage" key="NSImage">
<int key="NSImageFlags">549453824</int>
<string key="NSSize">{84, 1}</string>
<string key="NSSize">{512, 1}</string>
<object class="NSMutableArray" key="NSReps">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray">
@ -58,15 +57,44 @@
<integer value="0"/>
<object class="NSBitmapImageRep">
<object class="NSData" key="NSTIFFRepresentation">
<bytes key="NS.bytes">TU0AKgAAAVjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
<bytes key="NS.bytes">TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P8ADQEAAAMAAAABAFQAAAEB
AAMAAAABAAEAAAECAAMAAAAEAAAB+gEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES
AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABAAEAAAEXAAQAAAABAAABUAEcAAMAAAABAAEAAAFS
AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA
AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA
AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI
AAgACAAIAAEAAQABAAE</bytes>
</object>
</object>
</object>
@ -91,15 +119,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<float key="IBUISectionHeaderHeight">10</float>
<float key="IBUISectionFooterHeight">10</float>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
</object>
<object class="IBUITableViewCell" id="616126654">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -125,6 +153,15 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<object class="IBUIFontDescription" key="IBUIFontDescription" id="151194520">
<int key="type">1</int>
<double key="pointSize">17</double>
</object>
<object class="NSFont" key="IBUIFont" id="937737048">
<string key="NSName">Helvetica</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
</object>
</object>
<string key="NSFrameSize">{300, 44}</string>
@ -138,19 +175,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrameSize">{320, 44}</string>
<reference key="NSSuperview"/>
<object class="NSColor" key="IBUIBackgroundColor" id="505875399">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MSAxIDEAA</bytes>
</object>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUIAccessoryType">1</int>
<reference key="IBUIContentView" ref="958135278"/>
</object>
<object class="IBUITableViewCell" id="135715970">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -176,6 +211,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<reference key="IBUIFontDescription" ref="151194520"/>
<reference key="IBUIFont" ref="937737048"/>
</object>
</object>
<string key="NSFrameSize">{300, 44}</string>
@ -189,16 +226,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrameSize">{320, 44}</string>
<reference key="NSSuperview"/>
<reference key="IBUIBackgroundColor" ref="505875399"/>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUISeparatorStyle">1</int>
<int key="IBUIAccessoryType">1</int>
<reference key="IBUIContentView" ref="804504498"/>
</object>
<object class="IBUITableViewCell" id="345316828">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">292</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -241,6 +276,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="IBUIAutocapitalizationType">2</int>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<reference key="IBUIFontDescription" ref="151194520"/>
<reference key="IBUIFont" ref="937737048"/>
</object>
<object class="IBUILabel" id="389892446">
<reference key="NSNextResponder" ref="869038871"/>
@ -258,6 +295,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<int key="IBUIBaselineAdjustment">1</int>
<float key="IBUIMinimumFontSize">10</float>
<int key="IBUITextAlignment">1</int>
<reference key="IBUIFontDescription" ref="151194520"/>
<reference key="IBUIFont" ref="937737048"/>
</object>
</object>
<string key="NSFrameSize">{322, 230}</string>
@ -271,12 +310,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
</object>
<string key="NSFrameSize">{322, 230}</string>
<reference key="NSSuperview"/>
<reference key="IBUIBackgroundColor" ref="505875399"/>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUISeparatorStyle">1</int>
<reference key="IBUIContentView" ref="869038871"/>
</object>
</object>
@ -337,7 +374,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBObjectRecord">
<int key="objectID">0</int>
<reference key="object" ref="0"/>
<object class="NSArray" key="object" id="0">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="children" ref="1000"/>
<nil key="parent"/>
</object>
@ -430,38 +469,32 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>-1.CustomClassName</string>
<string>-1.IBPluginDependency</string>
<string>-2.CustomClassName</string>
<string>18.IBEditorWindowLastContentRect</string>
<string>-2.IBPluginDependency</string>
<string>18.IBPluginDependency</string>
<string>25.IBEditorWindowLastContentRect</string>
<string>25.IBPluginDependency</string>
<string>34.IBPluginDependency</string>
<string>38.IBEditorWindowLastContentRect</string>
<string>38.IBPluginDependency</string>
<string>39.IBPluginDependency</string>
<string>4.IBEditorWindowLastContentRect</string>
<string>4.IBPluginDependency</string>
<string>42.IBEditorWindowLastContentRect</string>
<string>42.IBPluginDependency</string>
<string>43.IBPluginDependency</string>
<string>45.IBPluginDependency</string>
<string>49.IBPluginDependency</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>MoreViewController</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>UIResponder</string>
<string>{{138, 864}, {320, 247}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{251, 502}, {320, 44}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{252, 1012}, {320, 44}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{79, 106}, {320, 480}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>{{100, 713}, {322, 230}}</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
@ -471,17 +504,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<object class="NSMutableDictionary" key="unlocalizedProperties">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="activeLocalization"/>
<object class="NSMutableDictionary" key="localizations">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference key="dict.sortedKeys" ref="0"/>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">50</int>
@ -502,7 +531,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>web</string>
<string>weburi</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>UITableViewCell</string>
<string>UITableViewCell</string>
@ -521,7 +550,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
<string>web</string>
<string>weburi</string>
</object>
<object class="NSMutableArray" key="dict.values">
<object class="NSArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBToOneOutletInfo">
<string key="name">console</string>
@ -547,236 +576,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Classes/MoreViewController.h</string>
</object>
</object>
</object>
<object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSError.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSObject.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSThread.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURL.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIAccessibility.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINibLoading.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">NSObject</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier" id="166778321">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIResponder.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIImageView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIImageView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UILabel</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UILabel.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIResponder</string>
<string key="superclassName">NSObject</string>
<reference key="sourceIdentifier" ref="166778321"/>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIScrollView</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIScrollView.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">UITableView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableViewCell</string>
<string key="superclassName">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableViewCell.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITableViewController</string>
<string key="superclassName">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITableViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UITextView</string>
<string key="superclassName">UIScrollView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextView.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIPrintFormatter.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIView</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITextField.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>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UINavigationController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UIPopoverController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UISplitViewController.h</string>
</object>
</object>
<object class="IBPartialClassDescription">
<string key="className">UIViewController</string>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBFrameworkSource</string>
<string key="minorKey">UIKit.framework/Headers/UITabBarController.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>
<string key="minorKey">./Classes/MoreViewController.h</string>
</object>
</object>
</object>
@ -789,19 +589,18 @@ AAMAAAABAAEAAAFTAAMAAAAEAAACAgAAAAAACAAIAAgACAABAAEAAQABA</bytes>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
<integer value="1056" key="NS.object.0"/>
<real value="1296" key="NS.object.0"/>
</object>
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
<integer value="3000" key="NS.object.0"/>
</object>
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
<string key="IBDocument.LastKnownRelativeProjectPath">../linphone.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
<string key="NS.key.0">linphone-banner.png</string>
<string key="NS.object.0">{300, 100}</string>
</object>
<string key="IBCocoaTouchPluginVersion">132</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -21,7 +21,6 @@
#import "LinphoneManager.h"
#import "UICompositeViewController.h"
#import "UIModalViewController.h"
#import "FirstLoginViewController.h"
#import "IncomingCallViewController.h"
@ -38,8 +37,9 @@
#import "SettingsViewController.h"
#import "FirstLoginViewController.h"
#import "WizardViewController.h"
#import "IncomingCallViewController.h"
@interface PhoneMainView : UIViewController<CallActionSheetDelegate,UIModalViewDelegate> {
@interface PhoneMainView : UIViewController<CallActionSheetDelegate, IncomingCallViewDelegate> {
@private
UICompositeViewController *mainViewController;
@ -59,8 +59,12 @@
- (UIViewController*)popCurrentView;
- (void)popToView:(UICompositeViewDescription *)currentView;
- (UICompositeViewDescription *)firstView;
- (void)showStateBar:(BOOL)show;
- (void)showTabBar:(BOOL)show;
- (void)fullScreen:(BOOL)enabled;
- (void)startUp;
+ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated;
+ (PhoneMainView*) instance;

View file

@ -20,9 +20,9 @@
#import <QuartzCore/QuartzCore.h>
#import <AudioToolbox/AudioServices.h>
#import "LinphoneAppDelegate.h"
#import "PhoneMainView.h"
#import "Utils.h"
#import "UIView+ModalStack.h"
static PhoneMainView* phoneMainViewInstance=nil;
@ -31,6 +31,10 @@ static PhoneMainView* phoneMainViewInstance=nil;
@synthesize mainViewController;
@synthesize currentView;
// TO READ
// If a Controller set wantFullScreenLayout then DON'T set the autoresize!
// So DON'T set autoresize for PhoneMainView
#pragma mark - Lifecycle Functions
- (void)initPhoneMainView {
@ -86,11 +90,6 @@ static PhoneMainView* phoneMainViewInstance=nil;
[super viewDidLoad];
[self.view addSubview: mainViewController.view];
if ([[UIDevice currentDevice].systemVersion doubleValue] >= 5.0) {
UIInterfaceOrientation interfaceOrientation = [[UIApplication sharedApplication] statusBarOrientation];
[self willRotateToInterfaceOrientation:interfaceOrientation duration:0.2f];
}
}
- (void)viewWillAppear:(BOOL)animated {
@ -117,7 +116,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
*/
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(batteryLevelChanged:)
name:UIDeviceBatteryLevelDidChangeNotification
name:UIDeviceBatteryLevelDidChangeNotification
object:nil];
}
@ -167,7 +166,62 @@ static PhoneMainView* phoneMainViewInstance=nil;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return [mainViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
if(mainViewController != nil) {
return [mainViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation];
} else {
return YES;
}
}
/*
Will simulate a device rotation
*/
+ (void)forceOrientation:(UIInterfaceOrientation)orientation animated:(BOOL)animated {
for(UIWindow *window in [[UIApplication sharedApplication] windows]) {
UIView *view = window;
UIViewController *controller = nil;
CGRect frame = [view frame];
if([window isKindOfClass:[UILinphoneWindow class]]) {
controller = window.rootViewController;
view = controller.view;
}
UIInterfaceOrientation oldOrientation = controller.interfaceOrientation;
NSTimeInterval animationDuration = 0.0;
if(animated) {
animationDuration = 0.3f;
}
[controller willRotateToInterfaceOrientation:orientation duration:animationDuration];
if(animated) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:animationDuration];
}
switch (orientation) {
case UIInterfaceOrientationPortrait:
[view setTransform: CGAffineTransformMakeRotation(0)];
break;
case UIInterfaceOrientationPortraitUpsideDown:
[view setTransform: CGAffineTransformMakeRotation(M_PI)];
break;
case UIInterfaceOrientationLandscapeLeft:
[view setTransform: CGAffineTransformMakeRotation(-M_PI / 2)];
break;
case UIInterfaceOrientationLandscapeRight:
[view setTransform: CGAffineTransformMakeRotation(M_PI / 2)];
break;
default:
break;
}
if([window isKindOfClass:[UILinphoneWindow class]]) {
[view setFrame:frame];
}
[controller willAnimateRotationToInterfaceOrientation:orientation duration:animationDuration];
if(animated) {
[UIView commitAnimations];
}
[controller didRotateFromInterfaceOrientation:oldOrientation];
}
[[UIApplication sharedApplication] setStatusBarOrientation:orientation animated:TRUE];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
@ -193,6 +247,7 @@ static PhoneMainView* phoneMainViewInstance=nil;
ChatModel *chat = [[notif userInfo] objectForKey:@"chat"];
if(chat != nil) {
[self displayMessage:chat];
[self updateApplicationBadgeNumber];
}
}
*/
@ -236,6 +291,11 @@ static PhoneMainView* phoneMainViewInstance=nil;
bool canHideInCallView = (linphone_core_get_calls([LinphoneManager getLc]) == NULL);
// Don't handle call state during incoming call view
if([[self currentView] equal:[IncomingCallViewController compositeViewDescription]] && state != LinphoneCallError && state != LinphoneCallEnd) {
return;
}
switch (state) {
case LinphoneCallIncomingReceived:
{
@ -287,11 +347,25 @@ static PhoneMainView* phoneMainViewInstance=nil;
default:
break;
}
[self updateApplicationBadgeNumber];
}
#pragma mark -
- (void)startUp {
[self updateApplicationBadgeNumber]; // Update Badge at startup
}
- (void)updateApplicationBadgeNumber {
int count = 0;
count += linphone_core_get_missed_calls_count([LinphoneManager getLc]);
/* MODIFICATION: Disable Chat
count += [ChatModel unreadMessages];
*/
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:count];
}
+ (CATransition*)getBackwardTransition {
CATransition* trans = [CATransition animation];
[trans setType:kCATransitionPush];
@ -355,6 +429,10 @@ static PhoneMainView* phoneMainViewInstance=nil;
[mainViewController setToolBarHidden:!show];
}
- (void) showStateBar:(BOOL) show {
[mainViewController setStateBarHidden:!show];
}
- (void)fullScreen:(BOOL) enabled {
[mainViewController setFullScreen:enabled];
}
@ -536,18 +614,12 @@ static PhoneMainView* phoneMainViewInstance=nil;
[[UIApplication sharedApplication] presentLocalNotificationNow:appData->notification];
}
} else {
IncomingCallViewController *controller = [[IncomingCallViewController alloc] init];
[controller setWantsFullScreenLayout:TRUE];
[controller setCall:call];
[controller setModalDelegate:self];
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[controller viewWillAppear:NO];
}
[[self view] addModalView:[controller view]];
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
[controller viewDidAppear:NO];
}
} else {
IncomingCallViewController *controller = DYNAMIC_CAST([self changeCurrentView:[IncomingCallViewController compositeViewDescription] push:TRUE],IncomingCallViewController);
if(controller != nil) {
[controller setCall:call];
[controller setDelegate:self];
}
}
}
@ -606,11 +678,17 @@ static PhoneMainView* phoneMainViewInstance=nil;
}
#pragma mark - Modal Functions
#pragma mark - IncomingCallDelegate Functions
- (void)modalViewDismiss:(UIModalViewController*)controller value:(id)value {
[controller setModalDelegate:nil];
[[self view] removeModalView:[controller view]];
- (void)incomingCallAborted:(LinphoneCall*)call {
}
- (void)incomingCallAccepted:(LinphoneCall*)call {
linphone_core_accept_call([LinphoneManager getLc], call);
}
- (void)incomingCallDeclined:(LinphoneCall*)call {
linphone_core_terminate_call([LinphoneManager getLc], call);
}
@end

View file

@ -3,19 +3,19 @@
<data>
<int key="IBDocument.SystemTarget">784</int>
<string key="IBDocument.SystemVersion">11E53</string>
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
<string key="IBDocument.InterfaceBuilderVersion">2549</string>
<string key="IBDocument.AppKitVersion">1138.47</string>
<string key="IBDocument.HIToolboxVersion">569.00</string>
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
<string key="NS.object.0">1181</string>
<string key="NS.object.0">1498</string>
</object>
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>IBUIViewController</string>
<string>IBProxyObject</string>
<string>IBUIImageView</string>
<string>IBUIView</string>
<string>IBProxyObject</string>
<string>IBUIViewController</string>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -37,7 +37,7 @@
</object>
<object class="IBUIView" id="891400674">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<int key="NSvFlags">301</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBUIImageView" id="130212555">
@ -68,13 +68,12 @@
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUIViewController" id="839760968">
<bool key="IBUIAutoresizesArchivedViewToFullSize">NO</bool>
<string key="IBUINibName">UICompositeViewController</string>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
</object>
<bool key="IBUIWantsFullScreenLayout">YES</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
</object>
@ -181,7 +180,7 @@
<reference key="dict.values" ref="0"/>
</object>
<nil key="sourceID"/>
<int key="maxID">216</int>
<int key="maxID">217</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
@ -314,6 +313,6 @@
<string key="NS.key.0">background.png</string>
<string key="NS.object.0">{640, 523}</string>
</object>
<string key="IBCocoaTouchPluginVersion">1181</string>
<string key="IBCocoaTouchPluginVersion">1498</string>
</data>
</archive>

View file

@ -62,6 +62,34 @@
@implementation IASKSpecifierValuesViewControllerEx
- (void)initIASKSpecifierValuesViewControllerEx {
[self.view setBackgroundColor:[UIColor clearColor]];
}
- (id)init {
self = [super init];
if(self != nil) {
[self initIASKSpecifierValuesViewControllerEx];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if(self != nil) {
[self initIASKSpecifierValuesViewControllerEx];
}
return self;
}
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if(self != nil) {
[self initIASKSpecifierValuesViewControllerEx];
}
return self;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell * cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
@ -133,6 +161,8 @@
}
- (void)initIASKAppSettingsViewControllerEx {
[self.view setBackgroundColor:[UIColor clearColor]];
// Force kIASKSpecifierValuesViewControllerIndex
static int kIASKSpecifierValuesViewControllerIndex = 0;
_viewList = [[NSMutableArray alloc] init];
@ -223,7 +253,7 @@
}
- (void)drawRect:(CGRect)rect {
UIImage *img = [UIImage imageNamed:@"settings_bar_background.png"];
UIImage *img = [UIImage imageNamed:@"toolsbar_background.png"];
[img drawInRect:rect];
}
@ -238,22 +268,18 @@
@implementation UINavigationControllerEx
+ (void)removeTableBackground:(UIView*)view {
if([view isKindOfClass:[UITableView class]]) {
[view setBackgroundColor:[UIColor clearColor]];
}
for(UIView *subview in [view subviews]) {
[UINavigationControllerEx removeTableBackground:subview];
}
- (id)initWithRootViewController:(UIViewController *)rootViewController {
[UINavigationControllerEx removeBackground:rootViewController.view];
return [self initWithRootViewController:rootViewController];
}
- (id)initWithRootViewController:(UIViewController *)rootViewController {
[UINavigationControllerEx removeTableBackground:rootViewController.view];
return [super initWithRootViewController:rootViewController];
+ (void)removeBackground:(UIView*)view {
[view setBackgroundColor:[UIColor clearColor]];
removeTableBackground(view);
}
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {
[UINavigationControllerEx removeTableBackground:viewController.view];
[UINavigationControllerEx removeBackground:viewController.view];
[viewController viewWillAppear:FALSE]; // Force load: Load Title
UILabel *labelTitleView = [[UILabel alloc] init];
@ -272,14 +298,14 @@
- (void)setViewControllers:(NSArray *)viewControllers {
for(UIViewController *controller in viewControllers) {
[UINavigationControllerEx removeTableBackground:controller.view];
[UINavigationControllerEx removeBackground:controller.view];
}
[super setViewControllers:viewControllers];
}
- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated {
for(UIViewController *controller in viewControllers) {
[UINavigationControllerEx removeTableBackground:controller.view];
[UINavigationControllerEx removeBackground:controller.view];
}
[super setViewControllers:viewControllers animated:animated];
}
@ -319,7 +345,7 @@ static UICompositeViewDescription *compositeDescription = nil;
tabBar: @"UIMainBar"
tabBarEnabled:true
fullscreen:false
landscapeMode:false
landscapeMode:[LinphoneManager runningOnIpad]
portraitMode:true];
}
return compositeDescription;
@ -337,6 +363,8 @@ static UICompositeViewDescription *compositeDescription = nil;
settingsController.hiddenKeys = [self findHiddenKeys];
settingsController.settingsStore = [[LinphoneManager instance] settingsStore];
[navigationController.view setBackgroundColor:[UIColor clearColor]];
navigationController.view.frame = self.view.frame;
[navigationController pushViewController:settingsController animated:FALSE];
[self.view addSubview: navigationController.view];

View file

@ -40,7 +40,6 @@
<string key="NSFrameSize">{320, 460}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">3</int>

View file

@ -269,12 +269,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = (
armv6,
"$(ARCHS_STANDARD_32_BIT)",
);
COPY_PHASE_STRIP = NO;
DSTROOT = /tmp/NinePatch.dst;
GCC_DYNAMIC_NO_PIC = NO;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = 0;
@ -282,11 +277,8 @@
GCC_PREFIX_HEADER = NinePatch_Prefix.pch;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INSTALL_PATH = /usr/local/lib;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = NinePatch;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
@ -296,23 +288,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = (
armv6,
"$(ARCHS_STANDARD_32_BIT)",
);
COPY_PHASE_STRIP = NO;
DSTROOT = /tmp/NinePatch.dst;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = NinePatch_Prefix.pch;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INSTALL_PATH = /usr/local/lib;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = NinePatch;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
@ -321,12 +305,16 @@
1DEB922308733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "Don't Code Sign";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
@ -336,12 +324,15 @@
1DEB922408733DC00010E9CD /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "Don't Code Sign";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
@ -351,12 +342,15 @@
D3D14E7E15A72BD10074A527 /* Distribution */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "Don't Code Sign";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
@ -367,23 +361,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = (
armv6,
"$(ARCHS_STANDARD_32_BIT)",
);
COPY_PHASE_STRIP = NO;
DSTROOT = /tmp/NinePatch.dst;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = NinePatch_Prefix.pch;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INSTALL_PATH = /usr/local/lib;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = NinePatch;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};
@ -392,12 +378,15 @@
D3D14E8015A72BD70074A527 /* DistributionAdhoc */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = "$(ARCHS_STANDARD_32_BIT)";
ARCHS = (
"$(ARCHS_STANDARD_32_BIT)",
armv6,
);
CODE_SIGN_IDENTITY = "Don't Code Sign";
GCC_C_LANGUAGE_STANDARD = c99;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
ONLY_ACTIVE_ARCH = YES;
ONLY_ACTIVE_ARCH = NO;
OTHER_LDFLAGS = "-ObjC";
PROVISIONING_PROFILE = "";
SDKROOT = iphoneos;
@ -408,23 +397,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ARCHS = (
armv6,
"$(ARCHS_STANDARD_32_BIT)",
);
COPY_PHASE_STRIP = NO;
DSTROOT = /tmp/NinePatch.dst;
GCC_MODEL_TUNING = G5;
GCC_OPTIMIZATION_LEVEL = s;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = NinePatch_Prefix.pch;
GCC_THUMB_SUPPORT = NO;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
INSTALL_PATH = /usr/local/lib;
IPHONEOS_DEPLOYMENT_TARGET = 4.0;
ONLY_ACTIVE_ARCH = NO;
PRODUCT_NAME = NinePatch;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
TARGETED_DEVICE_FAMILY = "1,2";
};

View file

@ -1,17 +0,0 @@
//
// TPKeyboardAvoidingScrollView.h
//
// Created by Michael Tyson on 11/04/2011.
// Copyright 2011 A Tasty Pixel. All rights reserved.
//
@interface TPKeyboardAvoidingScrollView : UIScrollView {
UIEdgeInsets _priorInset;
BOOL _priorInsetSaved;
BOOL _keyboardVisible;
CGRect _keyboardRect;
CGSize _originalContentSize;
}
- (void)adjustOffsetToIdealIfNeeded;
@end

View file

@ -1,186 +0,0 @@
//
// TPKeyboardAvoidingScrollView.m
//
// Created by Michael Tyson on 11/04/2011.
// Copyright 2011 A Tasty Pixel. All rights reserved.
//
#import "TPKeyboardAvoidingScrollView.h"
#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey")
@interface TPKeyboardAvoidingScrollView ()
- (UIView*)findFirstResponderBeneathView:(UIView*)view;
- (UIEdgeInsets)contentInsetForKeyboard;
- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space;
- (CGRect)keyboardRect;
@end
@implementation TPKeyboardAvoidingScrollView
- (void)setup {
_priorInsetSaved = NO;
if ( CGSizeEqualToSize(self.contentSize, CGSizeZero) ) {
self.contentSize = self.bounds.size;
}
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
-(id)initWithFrame:(CGRect)frame {
if ( !(self = [super initWithFrame:frame]) ) return nil;
[self setup];
return self;
}
-(void)awakeFromNib {
[self setup];
}
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
#if !__has_feature(objc_arc)
[super dealloc];
#endif
}
-(void)setFrame:(CGRect)frame {
[super setFrame:frame];
CGSize contentSize = _originalContentSize;
contentSize.width = MAX(contentSize.width, self.frame.size.width);
contentSize.height = MAX(contentSize.height, self.frame.size.height);
[super setContentSize:contentSize];
if ( _keyboardVisible ) {
self.contentInset = [self contentInsetForKeyboard];
}
}
-(void)setContentSize:(CGSize)contentSize {
_originalContentSize = contentSize;
contentSize.width = MAX(contentSize.width, self.frame.size.width);
contentSize.height = MAX(contentSize.height, self.frame.size.height);
[super setContentSize:contentSize];
if ( _keyboardVisible ) {
self.contentInset = [self contentInsetForKeyboard];
}
}
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[[self findFirstResponderBeneathView:self] resignFirstResponder];
[super touchesEnded:touches withEvent:event];
}
- (void)keyboardWillShow:(NSNotification*)notification {
_keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue];
_keyboardVisible = YES;
UIView *firstResponder = [self findFirstResponderBeneathView:self];
if ( !firstResponder ) {
// No child view is the first responder - nothing to do here
return;
}
if (!_priorInsetSaved) {
_priorInset = self.contentInset;
_priorInsetSaved = YES;
}
// Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = [self contentInsetForKeyboard];
[self setContentOffset:CGPointMake(self.contentOffset.x,
[self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y])
animated:YES];
[self setScrollIndicatorInsets:self.contentInset];
[UIView commitAnimations];
}
- (void)keyboardWillHide:(NSNotification*)notification {
_keyboardRect = CGRectZero;
_keyboardVisible = NO;
// Restore dimensions to prior size
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = _priorInset;
[self setScrollIndicatorInsets:self.contentInset];
_priorInsetSaved = NO;
[UIView commitAnimations];
}
- (UIView*)findFirstResponderBeneathView:(UIView*)view {
// Search recursively for first responder
for ( UIView *childView in view.subviews ) {
if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView;
UIView *result = [self findFirstResponderBeneathView:childView];
if ( result ) return result;
}
return nil;
}
- (UIEdgeInsets)contentInsetForKeyboard {
UIEdgeInsets newInset = self.contentInset;
CGRect keyboardRect = [self keyboardRect];
newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height));
return newInset;
}
-(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space {
// Convert the rect to get the view's distance from the top of the scrollView.
CGRect rect = [view convertRect:view.bounds toView:self];
// Set starting offset to that point
CGFloat offset = rect.origin.y;
if ( self.contentSize.height - offset < space ) {
// Scroll to the bottom
offset = self.contentSize.height - space;
} else {
if ( view.bounds.size.height < space ) {
// Center vertically if there's room
offset -= floor((space-view.bounds.size.height)/2.0);
}
if ( offset + space > self.contentSize.height ) {
// Clamp to content size
offset = self.contentSize.height - space;
}
}
if (offset < 0) offset = 0;
return offset;
}
-(void)adjustOffsetToIdealIfNeeded {
// Only do this if the keyboard is already visible
if ( !_keyboardVisible ) return;
CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom;
CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]);
[self setContentOffset:idealOffset animated:YES];
}
- (CGRect)keyboardRect {
CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil];
if ( keyboardRect.origin.y == 0 ) {
CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil];
keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height);
}
return keyboardRect;
}
@end

View file

@ -1,16 +0,0 @@
//
// TPKeyboardAvoidingTableView.h
//
// Created by Michael Tyson on 11/04/2011.
// Copyright 2011 A Tasty Pixel. All rights reserved.
//
@interface TPKeyboardAvoidingTableView : UITableView {
UIEdgeInsets _priorInset;
BOOL _priorInsetSaved;
BOOL _keyboardVisible;
CGRect _keyboardRect;
}
- (void)adjustOffsetToIdealIfNeeded;
@end

View file

@ -1,173 +0,0 @@
//
// TPKeyboardAvoidingTableView.m
//
// Created by Michael Tyson on 11/04/2011.
// Copyright 2011 A Tasty Pixel. All rights reserved.
//
#import "TPKeyboardAvoidingTableView.h"
#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey")
@interface TPKeyboardAvoidingTableView ()
- (UIView*)findFirstResponderBeneathView:(UIView*)view;
- (UIEdgeInsets)contentInsetForKeyboard;
- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space;
- (CGRect)keyboardRect;
@end
@implementation TPKeyboardAvoidingTableView
- (void)setup {
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
}
-(id)initWithFrame:(CGRect)frame {
if ( !(self = [super initWithFrame:frame]) ) return nil;
[self setup];
return self;
}
-(id)initWithCoder:(NSCoder *)aDecoder {
if ( !(self = [super initWithCoder:aDecoder]) ) return nil;
[self setup];
return self;
}
-(void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
#if !__has_feature(objc_arc)
[super dealloc];
#endif
}
-(void)setFrame:(CGRect)frame {
[super setFrame:frame];
if ( _keyboardVisible ) {
self.contentInset = [self contentInsetForKeyboard];
}
}
-(void)setContentSize:(CGSize)contentSize {
[super setContentSize:contentSize];
if ( _keyboardVisible ) {
self.contentInset = [self contentInsetForKeyboard];
}
}
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
[[self findFirstResponderBeneathView:self] resignFirstResponder];
[super touchesEnded:touches withEvent:event];
}
- (void)keyboardWillShow:(NSNotification*)notification {
_keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue];
_keyboardVisible = YES;
UIView *firstResponder = [self findFirstResponderBeneathView:self];
if ( !firstResponder ) {
// No child view is the first responder - nothing to do here
return;
}
if (!_priorInsetSaved) {
_priorInset = self.contentInset;
_priorInsetSaved = YES;
}
// Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = [self contentInsetForKeyboard];
[self setContentOffset:CGPointMake(self.contentOffset.x,
[self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y])
animated:YES];
[self setScrollIndicatorInsets:self.contentInset];
[UIView commitAnimations];
}
- (void)keyboardWillHide:(NSNotification*)notification {
_keyboardRect = CGRectZero;
_keyboardVisible = NO;
// Restore dimensions to prior size
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
self.contentInset = _priorInset;
[self setScrollIndicatorInsets:self.contentInset];
_priorInsetSaved = NO;
[UIView commitAnimations];
}
- (UIView*)findFirstResponderBeneathView:(UIView*)view {
// Search recursively for first responder
for ( UIView *childView in view.subviews ) {
if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView;
UIView *result = [self findFirstResponderBeneathView:childView];
if ( result ) return result;
}
return nil;
}
- (UIEdgeInsets)contentInsetForKeyboard {
UIEdgeInsets newInset = self.contentInset;
CGRect keyboardRect = [self keyboardRect];
newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height));
return newInset;
}
-(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space {
// Convert the rect to get the view's distance from the top of the scrollView.
CGRect rect = [view convertRect:view.bounds toView:self];
// Set starting offset to that point
CGFloat offset = rect.origin.y;
if ( self.contentSize.height - offset < space ) {
// Scroll to the bottom
offset = self.contentSize.height - space;
} else {
if ( view.bounds.size.height < space ) {
// Center vertically if there's room
offset -= floor((space-view.bounds.size.height)/2.0);
}
if ( offset + space > self.contentSize.height ) {
// Clamp to content size
offset = self.contentSize.height - space;
}
}
if (offset < 0) offset = 0;
return offset;
}
-(void)adjustOffsetToIdealIfNeeded {
// Only do this if the keyboard is already visible
if ( !_keyboardVisible ) return;
CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom;
CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]);
[self setContentOffset:idealOffset animated:YES];
}
- (CGRect)keyboardRect {
CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil];
if ( keyboardRect.origin.y == 0 ) {
CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil];
keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height);
}
return keyboardRect;
}
@end

View file

@ -0,0 +1,12 @@
RUN_CLANG_STATIC_ANALYZER = YES
GCC_C_LANGUAGE_STANDARD = gnu99
GCC_PRECOMPILE_PREFIX_HEADER = YES
GCC_MODEL_TUNING = G5
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_UNUSED_VARIABLE = YES
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = NO
GCC_TREAT_WARNINGS_AS_ERRORS = YES

View file

@ -0,0 +1,6 @@
#include "Common.xcconfig"
DEBUG_INFORMATION_FORMAT = dwarf
GCC_DYNAMIC_NO_PIC = NO
GCC_OPTIMIZATION_LEVEL = 0

View file

@ -0,0 +1,3 @@
#include "Common.xcconfig"
DEBUG_INFORMATION_FORMAT = dwarf-with-dsym

View file

@ -0,0 +1,12 @@
PRODUCT_NAME = XMLRPC
INFOPLIST_FILE = Resources/Property Lists/XMLRPC-Info.plist
FRAMEWORK_VERSION = A
DYLIB_CURRENT_VERSION = 1
DYLIB_COMPATIBILITY_VERSION = 1
GCC_PRECOMPILE_PREFIX_HEADER = YES
GCC_PREFIX_HEADER = XMLRPC.pch
GCC_ENABLE_OBJC_GC = supported
INSTALL_PATH = @loader_path/../Frameworks

View file

@ -0,0 +1,2 @@
#include "XMLRPC.xcconfig"
#include "CommonDevelopment.xcconfig"

View file

@ -0,0 +1,2 @@
#include "XMLRPC.xcconfig"
#include "CommonRelease.xcconfig"

View file

@ -0,0 +1,7 @@
PRODUCT_NAME = XMLRPCUnitTests
INFOPLIST_FILE = Resources/Property Lists/XMLRPCUnitTests-Info.plist
WRAPPER_EXTENSION=octest
GCC_PRECOMPILE_PREFIX_HEADER = YES
GCC_PREFIX_HEADER = XMLRPC.pch

View file

@ -0,0 +1,2 @@
#include "XMLRPCUnitTests.xcconfig"
#include "CommonDevelopment.xcconfig"

View file

@ -0,0 +1,2 @@
#include "XMLRPCUnitTests.xcconfig"
#include "CommonRelease.xcconfig"

23
Classes/Utils/XMLRPC/LICENSE.md Executable file
View file

@ -0,0 +1,23 @@
# License
## The Cocoa XML-RPC Framework is distributed under the MIT License:
Copyright (c) 2012 Eric Czarny <eczarny@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View file

@ -0,0 +1,42 @@
//
// NSData+Base64.h
// base64
//
// Created by Matt Gallagher on 2009/06/03.
// Copyright 2009 Matt Gallagher. All rights reserved.
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software. Permission is granted to anyone to
// use this software for any purpose, including commercial applications, and to
// alter it and redistribute it freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source
// distribution.
//
#import <Foundation/Foundation.h>
void *NewBase64Decode(
const char *inputBuffer,
size_t length,
size_t *outputLength);
char *NewBase64Encode(
const void *inputBuffer,
size_t length,
bool separateLines,
size_t *outputLength);
@interface NSData (Base64)
+ (NSData *)dataFromBase64String:(NSString *)aString;
- (NSString *)base64EncodedString;
@end

View file

@ -0,0 +1,313 @@
//
// NSData+Base64.m
// base64
//
// Created by Matt Gallagher on 2009/06/03.
// Copyright 2009 Matt Gallagher. All rights reserved.
//
// This software is provided 'as-is', without any express or implied
// warranty. In no event will the authors be held liable for any damages
// arising from the use of this software. Permission is granted to anyone to
// use this software for any purpose, including commercial applications, and to
// alter it and redistribute it freely, subject to the following restrictions:
//
// 1. The origin of this software must not be misrepresented; you must not
// claim that you wrote the original software. If you use this software
// in a product, an acknowledgment in the product documentation would be
// appreciated but is not required.
// 2. Altered source versions must be plainly marked as such, and must not be
// misrepresented as being the original software.
// 3. This notice may not be removed or altered from any source
// distribution.
//
#import "NSData+Base64.h"
//
// Mapping from 6 bit pattern to ASCII character.
//
static unsigned char base64EncodeLookup[65] =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
//
// Definition for "masked-out" areas of the base64DecodeLookup mapping
//
#define xx 65
//
// Mapping from ASCII character to 6 bit pattern.
//
static unsigned char base64DecodeLookup[256] =
{
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, 62, xx, xx, xx, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, xx, xx, xx, xx, xx, xx,
xx, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, xx, xx, xx, xx, xx,
xx, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx, xx,
};
//
// Fundamental sizes of the binary and base64 encode/decode units in bytes
//
#define BINARY_UNIT_SIZE 3
#define BASE64_UNIT_SIZE 4
//
// NewBase64Decode
//
// Decodes the base64 ASCII string in the inputBuffer to a newly malloced
// output buffer.
//
// inputBuffer - the source ASCII string for the decode
// length - the length of the string or -1 (to specify strlen should be used)
// outputLength - if not-NULL, on output will contain the decoded length
//
// returns the decoded buffer. Must be free'd by caller. Length is given by
// outputLength.
//
void *NewBase64Decode(
const char *inputBuffer,
size_t length,
size_t *outputLength)
{
if (length == -1)
{
length = strlen(inputBuffer);
}
size_t outputBufferSize =
((length+BASE64_UNIT_SIZE-1) / BASE64_UNIT_SIZE) * BINARY_UNIT_SIZE;
unsigned char *outputBuffer = (unsigned char *)malloc(outputBufferSize);
size_t i = 0;
size_t j = 0;
while (i < length)
{
//
// Accumulate 4 valid characters (ignore everything else)
//
unsigned char accumulated[BASE64_UNIT_SIZE];
size_t accumulateIndex = 0;
while (i < length)
{
unsigned char decode = base64DecodeLookup[inputBuffer[i++]];
if (decode != xx)
{
accumulated[accumulateIndex] = decode;
accumulateIndex++;
if (accumulateIndex == BASE64_UNIT_SIZE)
{
break;
}
}
}
//
// Store the 6 bits from each of the 4 characters as 3 bytes
//
// (Uses improved bounds checking suggested by Alexandre Colucci)
//
if(accumulateIndex >= 2)
outputBuffer[j] = (accumulated[0] << 2) | (accumulated[1] >> 4);
if(accumulateIndex >= 3)
outputBuffer[j + 1] = (accumulated[1] << 4) | (accumulated[2] >> 2);
if(accumulateIndex >= 4)
outputBuffer[j + 2] = (accumulated[2] << 6) | accumulated[3];
j += accumulateIndex - 1;
}
if (outputLength)
{
*outputLength = j;
}
return outputBuffer;
}
//
// NewBase64Encode
//
// Encodes the arbitrary data in the inputBuffer as base64 into a newly malloced
// output buffer.
//
// inputBuffer - the source data for the encode
// length - the length of the input in bytes
// separateLines - if zero, no CR/LF characters will be added. Otherwise
// a CR/LF pair will be added every 64 encoded chars.
// outputLength - if not-NULL, on output will contain the encoded length
// (not including terminating 0 char)
//
// returns the encoded buffer. Must be free'd by caller. Length is given by
// outputLength.
//
char *NewBase64Encode(
const void *buffer,
size_t length,
bool separateLines,
size_t *outputLength)
{
const unsigned char *inputBuffer = (const unsigned char *)buffer;
#define MAX_NUM_PADDING_CHARS 2
#define OUTPUT_LINE_LENGTH 64
#define INPUT_LINE_LENGTH ((OUTPUT_LINE_LENGTH / BASE64_UNIT_SIZE) * BINARY_UNIT_SIZE)
#define CR_LF_SIZE 2
//
// Byte accurate calculation of final buffer size
//
size_t outputBufferSize =
((length / BINARY_UNIT_SIZE)
+ ((length % BINARY_UNIT_SIZE) ? 1 : 0))
* BASE64_UNIT_SIZE;
if (separateLines)
{
outputBufferSize +=
(outputBufferSize / OUTPUT_LINE_LENGTH) * CR_LF_SIZE;
}
//
// Include space for a terminating zero
//
outputBufferSize += 1;
//
// Allocate the output buffer
//
char *outputBuffer = (char *)malloc(outputBufferSize);
if (!outputBuffer)
{
return NULL;
}
size_t i = 0;
size_t j = 0;
const size_t lineLength = separateLines ? INPUT_LINE_LENGTH : length;
size_t lineEnd = lineLength;
while (true)
{
if (lineEnd > length)
{
lineEnd = length;
}
for (; i + BINARY_UNIT_SIZE - 1 < lineEnd; i += BINARY_UNIT_SIZE)
{
//
// Inner loop: turn 48 bytes into 64 base64 characters
//
outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2];
outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i] & 0x03) << 4)
| ((inputBuffer[i + 1] & 0xF0) >> 4)];
outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i + 1] & 0x0F) << 2)
| ((inputBuffer[i + 2] & 0xC0) >> 6)];
outputBuffer[j++] = base64EncodeLookup[inputBuffer[i + 2] & 0x3F];
}
if (lineEnd == length)
{
break;
}
//
// Add the newline
//
outputBuffer[j++] = '\r';
outputBuffer[j++] = '\n';
lineEnd += lineLength;
}
if (i + 1 < length)
{
//
// Handle the single '=' case
//
outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2];
outputBuffer[j++] = base64EncodeLookup[((inputBuffer[i] & 0x03) << 4)
| ((inputBuffer[i + 1] & 0xF0) >> 4)];
outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i + 1] & 0x0F) << 2];
outputBuffer[j++] = '=';
}
else if (i < length)
{
//
// Handle the double '=' case
//
outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0xFC) >> 2];
outputBuffer[j++] = base64EncodeLookup[(inputBuffer[i] & 0x03) << 4];
outputBuffer[j++] = '=';
outputBuffer[j++] = '=';
}
outputBuffer[j] = 0;
//
// Set the output length and return the buffer
//
if (outputLength)
{
*outputLength = j;
}
return outputBuffer;
}
@implementation NSData (Base64)
//
// dataFromBase64String:
//
// Creates an NSData object containing the base64 decoded representation of
// the base64 string 'aString'
//
// Parameters:
// aString - the base64 string to decode
//
// returns the autoreleased NSData representation of the base64 string
//
+ (NSData *)dataFromBase64String:(NSString *)aString
{
NSData *data = [aString dataUsingEncoding:NSASCIIStringEncoding];
size_t outputLength;
void *outputBuffer = NewBase64Decode([data bytes], [data length], &outputLength);
NSData *result = [NSData dataWithBytes:outputBuffer length:outputLength];
free(outputBuffer);
return result;
}
//
// base64EncodedString
//
// Creates an NSString object that contains the base 64 encoding of the
// receiver's data. Lines are broken at 64 characters long.
//
// returns an autoreleased NSString being the base 64 representation of the
// receiver.
//
- (NSString *)base64EncodedString
{
size_t outputLength = 0;
char *outputBuffer =
NewBase64Encode([self bytes], [self length], true, &outputLength);
NSString *result =[[NSString alloc] initWithBytes:outputBuffer
length:outputLength
encoding:NSASCIIStringEncoding];
#if ! __has_feature(objc_arc)
[result autorelease];
#endif
free(outputBuffer);
return result;
}
@end

View file

@ -0,0 +1,13 @@
#import <Foundation/Foundation.h>
@interface NSString (NSStringAdditions)
+ (NSString *)stringByGeneratingUUID;
#pragma mark -
- (NSString *)unescapedString;
- (NSString *)escapedString;
@end

View file

@ -0,0 +1,46 @@
#import "NSStringAdditions.h"
@implementation NSString (NSStringAdditions)
+ (NSString *)stringByGeneratingUUID {
CFUUIDRef UUIDReference = CFUUIDCreate(nil);
CFStringRef temporaryUUIDString = CFUUIDCreateString(nil, UUIDReference);
CFRelease(UUIDReference);
#if ! __has_feature(objc_arc)
return [NSMakeCollectable(temporaryUUIDString) autorelease];
#else
return (__bridge_transfer NSString*)temporaryUUIDString;
#endif
}
#pragma mark -
- (NSString *)unescapedString {
NSMutableString *string = [NSMutableString stringWithString: self];
[string replaceOccurrencesOfString: @"&amp;" withString: @"&" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&quot;" withString: @"\"" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&#x27;" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&#x39;" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&#x92;" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&#x96;" withString: @"'" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&gt;" withString: @">" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"&lt;" withString: @"<" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
return [NSString stringWithString: string];
}
- (NSString *)escapedString {
NSMutableString *string = [NSMutableString stringWithString: self];
// NOTE: we use unicode entities instead of &amp; &gt; &lt; etc. since some hosts (powweb, fatcow, and similar)
// have a weird PHP/libxml2 combination that ignores regular entities
[string replaceOccurrencesOfString: @"&" withString: @"&#38;" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @">" withString: @"&#62;" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
[string replaceOccurrencesOfString: @"<" withString: @"&#60;" options: NSLiteralSearch range: NSMakeRange(0, [string length])];
return [NSString stringWithString: string];
}
@end

87
Classes/Utils/XMLRPC/README.md Executable file
View file

@ -0,0 +1,87 @@
# The Cocoa XML-RPC Framework
The Cocoa XML-RPC Framework is a simple, and lightweight, XML-RPC client framework written in Objective-C.
# Requirements
The Cocoa XML-RPC Framework has been built, and designed, for Mac OS X 10.5 or later. This release should provide basic iPhone and iPod touch support.
This version of the Cocoa XML-RPC Framework includes a new event-based XML parser. The previous tree-based XML parser still exists, but is no longer the default XML-RPC response parser nor included in the Xcode build. This should hopefully provide better compatibility with the iPhone SDK.
# Usage
The following example of the Cocoa XML-RPC Framework assumes that the included XML-RPC test server is available. More information on the test server can be found in the README under:
XMLRPC\Tools\Test Server
Please review this document before moving forward.
## Invoking XML-RPC requests through the XML-RPC connection manager
Invoking an XML-RPC request through the XML-RPC connection manager is easy:
NSURL *URL = [NSURL URLWithString: @"http://127.0.0.1:8080/"];
XMLRPCRequest *request = [[XMLRPCRequest alloc] initWithURL: URL];
XMLRPCConnectionManager *manager = [XMLRPCConnectionManager sharedManager];
[request setMethod: @"Echo.echo" withParameter: @"Hello World!"];
NSLog(@"Request body: %@", [request body]);
[manager spawnConnectionWithXMLRPCRequest: request delegate: self];
[request release];
This spawns a new XML-RPC connection, assigning that connection with a unique identifer and returning it to the sender. This unique identifier, a UUID expressed as an NSString, can then be used to obtain the XML-RPC connection from the XML-RPC connection manager, as long as it is still active.
The XML-RPC connection manager has been designed to ease the management of active XML-RPC connections. For example, the following method obtains an NSArray of active XML-RPC connection identifiers:
- (NSArray *)activeConnectionIdentifiers;
The NSArray returned by this method contains a list of each active connection identifier. Provided with a connection identifier, the following method will return an instance of the requested XML-RPC connection:
- (XMLRPCConnection *)connectionForIdentifier: (NSString *)connectionIdentifier;
Finally, for a delegate to receive XML-RPC responses, authentication challenges, or errors, the XMLRPCConnectionDelegate protocol must be implemented. For example, the following will handle successful XML-RPC responses:
- (void)request: (XMLRPCRequest *)request didReceiveResponse: (XMLRPCResponse *)response {
if ([response isFault]) {
NSLog(@"Fault code: %@", [response faultCode]);
NSLog(@"Fault string: %@", [response faultString]);
} else {
NSLog(@"Parsed response: %@", [response object]);
}
NSLog(@"Response body: %@", [response body]);
}
Refer to XMLRPCConnectionDelegate.h for a full list of methods a delegate must implement. Each of these delegate methods plays a role in the life of an active XML-RPC connection.
## Sending synchronous XML-RPC requests
There are situations where it may be desirable to invoke XML-RPC requests synchronously in another thread or background process. The following method declared in XMLRPCConnection.h will invoke an XML-RPC request synchronously:
+ (XMLRPCResponse *)sendSynchronousXMLRPCRequest: (XMLRPCRequest *)request error: (NSError **)error;
If there is a problem sending the XML-RPC request expect nil to be returned.
# What if I find a bug, or what if I want to help?
Please, contact me with any questions, comments, suggestions, or problems. I try to make the time to answer every request.
Those wishing to contribute to the project should begin by obtaining the latest source with Git. The project is hosted on GitHub, making it easy for anyone to make contributions. Simply create a fork and make your changes.
# Acknowledgments
The Base64 encoder/decoder found in NSData+Base64 is created by [Matt Gallagher](http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html).
The idea for this framework came from examples provided by Brent Simmons, the creator of NetNewsWire.
# License
Copyright (c) 2012 Eric Czarny.
The Cocoa XML-RPC Framework should be accompanied by a LICENSE file, this file contains the license relevant to this distribution.
If no LICENSE exists please contact Eric Czarny <eczarny@gmail.com>.

View file

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AlternativeDateFormatsTestCase</key>
<array>
<date>2009-12-02T01:49:00Z</date>
<date>2009-12-02T01:50:00Z</date>
</array>
<key>DefaultTypeTestCase</key>
<string>Hello World!</string>
<key>EmptyBooleanTestCase</key>
<integer>0</integer>
<key>EmptyDataTestCase</key>
<data></data>
<key>EmptyDoubleTestCase</key>
<integer>0</integer>
<key>EmptyIntegerTestCase</key>
<integer>0</integer>
<key>EmptyStringTestCase</key>
<string></string>
<key>SimpleArrayTestCase</key>
<array>
<string>Hello World!</string>
<integer>42</integer>
<real>3.14</real>
<integer>1</integer>
<date>2009-07-18T21:34:00Z</date>
<data>eW91IGNhbid0IHJlYWQgdGhpcyE=</data>
</array>
<key>SimpleStructTestCase</key>
<dict>
<key>Name</key>
<string>Eric Czarny</string>
<key>Birthday</key>
<date>1984-04-15T05:00:00Z</date>
<key>Age</key>
<integer>25</integer>
</dict>
</dict>
</plist>

View file

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>XMLRPC</string>
<key>CFBundleIdentifier</key>
<string>com.divisiblebyzero.XMLRPC</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>XMLRPC</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleSignature</key>
<string>ZERO</string>
<key>CFBundleVersion</key>
<string>2.2.1</string>
<key>CFBundleShortVersionString</key>
<string>2.2.1</string>
</dict>
</plist>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.divisiblebyzero.XMLRPCUnitTests</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>XMLRPCUnitTests</string>
<key>CFBundlePackageType</key>
<string>BNDL</string>
<key>CFBundleSignature</key>
<string>ZERO</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
</dict>
</plist>

View file

@ -0,0 +1,15 @@
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value>
<array>
<data>
<value><dateTime.iso8601>20091201T20:49:00</dateTime.iso8601></value>
<value><dateTime.iso8601>2009-12-01T20:50:00</dateTime.iso8601></value>
</data>
</array>
</value>
</param>
</params>
</methodResponse>

View file

@ -0,0 +1,8 @@
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value>Hello World!</value>
</param>
</params>
</methodResponse>

View file

@ -0,0 +1,8 @@
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><boolean></boolean></value>
</param>
</params>
</methodResponse>

View file

@ -0,0 +1,8 @@
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><base64></base64></value>
</param>
</params>
</methodResponse>

View file

@ -0,0 +1,8 @@
<?xml version='1.0'?>
<methodResponse>
<params>
<param>
<value><double></double></value>
</param>
</params>
</methodResponse>

Some files were not shown because too many files have changed in this diff Show more