From 5d75afcec8d824584255fce50ee933edcb01e045 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Fri, 14 Sep 2012 11:12:47 +0200 Subject: [PATCH] Add preview in dialer view on iPad --- Classes/ChatViewController.m | 1 + Classes/DialerViewController.h | 3 + Classes/DialerViewController.m | 49 ++++ Classes/InCallViewController.m | 55 +--- Classes/LinphoneUI/UICamSwitch.m | 13 +- Classes/LinphoneUI/UIChatCell.m | 9 +- Classes/PhoneMainView.m | 30 +++ .../en.lproj/DialerViewController~ipad.xib | 236 +++++++++++++++--- .../fr.lproj/DialerViewController~ipad.xib | 231 ++++++++++++++--- Resources/background_alt.png | Bin 0 -> 5336 bytes linphone.ldb/Contents.plist | 37 ++- .../{2 => 3}/DialerViewController~ipad.xib | 236 +++++++++++++++--- linphone.xcodeproj/project.pbxproj | 6 + 13 files changed, 734 insertions(+), 172 deletions(-) create mode 100644 Resources/background_alt.png rename linphone.ldb/Resources/Classes/DialerViewController~ipad/{2 => 3}/DialerViewController~ipad.xib (89%) diff --git a/Classes/ChatViewController.m b/Classes/ChatViewController.m index 3c1a294a5..ffd9008de 100644 --- a/Classes/ChatViewController.m +++ b/Classes/ChatViewController.m @@ -39,6 +39,7 @@ [tableController release]; [editButton release]; + [addressField release]; [super dealloc]; } diff --git a/Classes/DialerViewController.h b/Classes/DialerViewController.h index ef088b355..c23b7218f 100644 --- a/Classes/DialerViewController.h +++ b/Classes/DialerViewController.h @@ -22,6 +22,7 @@ #import "UICompositeViewController.h" #import "UIEraseButton.h" +#import "UICamSwitch.h" #import "UICallButton.h" #import "UITransferButton.h" #import "UIDigitButton.h" @@ -55,6 +56,8 @@ @property (nonatomic, retain) IBOutlet UIDigitButton* starButton; @property (nonatomic, retain) IBOutlet UIDigitButton* zeroButton; @property (nonatomic, retain) IBOutlet UIDigitButton* sharpButton; +@property (nonatomic, retain) IBOutlet UIView* videoPreview; +@property (nonatomic, retain) IBOutlet UICamSwitch* videoCameraSwitch; - (IBAction)onAddContactClick: (id) event; - (IBAction)onBackClick: (id) event; diff --git a/Classes/DialerViewController.m b/Classes/DialerViewController.m index 707d4a829..9abd60d74 100644 --- a/Classes/DialerViewController.m +++ b/Classes/DialerViewController.m @@ -54,6 +54,9 @@ @synthesize zeroButton; @synthesize sharpButton; +@synthesize videoPreview; +@synthesize videoCameraSwitch; + #pragma mark - Lifecycle Functions - (id)init { @@ -86,6 +89,8 @@ [zeroButton release]; [sharpButton release]; + [videoPreview release]; + [videoCameraSwitch release]; // Remove all observers [[NSNotificationCenter defaultCenter] removeObserver:self]; @@ -130,6 +135,10 @@ static UICompositeViewDescription *compositeDescription = nil; LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0; [self callUpdate:call state:state]; } + + if(videoPreview) { + linphone_core_set_native_preview_window_id([LinphoneManager getLc], (unsigned long)videoPreview); + } } - (void)viewWillDisappear:(BOOL)animated { @@ -158,8 +167,48 @@ static UICompositeViewDescription *compositeDescription = nil; [sharpButton setDigit:'#']; [addressField setAdjustsFontSizeToFitWidth:TRUE]; // Not put it in IB: issue with placeholder size + + if([LinphoneManager runningOnIpad]) { + linphone_core_enable_video_preview([LinphoneManager getLc], TRUE); + + if ([LinphoneManager instance].frontCamId != nil) { + // only show camera switch button if we have more than 1 camera + [videoCameraSwitch setHidden:FALSE]; + } + } } +- (void)viewDidUnload { + [super viewDidUnload]; + + if([LinphoneManager runningOnIpad]) { + linphone_core_enable_video_preview([LinphoneManager getLc], FALSE); + } +} + +- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration: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 - Event Functions - (void)callUpdateEvent:(NSNotification*)notif { diff --git a/Classes/InCallViewController.m b/Classes/InCallViewController.m index a3a6c0a11..26063c382 100644 --- a/Classes/InCallViewController.m +++ b/Classes/InCallViewController.m @@ -153,11 +153,17 @@ static UICompositeViewDescription *compositeDescription = nil; LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]); LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0; [self callUpdate:call state:state animated:FALSE]; - [self orientationUpdate:[PhoneMainView instance].interfaceOrientation]; if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { [callTableController viewDidAppear:animated]; - } + } + + // Set windows (warn memory leaks) + linphone_core_set_native_video_window_id([LinphoneManager getLc], (unsigned long)videoView); + linphone_core_set_native_preview_window_id([LinphoneManager getLc], (unsigned long)videoPreview); + + // Enable tap + [singleFingerTap setEnabled:TRUE]; } - (void)viewDidDisappear:(BOOL)animated { @@ -169,16 +175,15 @@ static UICompositeViewDescription *compositeDescription = nil; if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) { [callTableController viewDidDisappear:animated]; - } + } + + // Disable tap + [singleFingerTap setEnabled:FALSE]; } - (void)viewDidLoad { [super viewDidLoad]; - // Set windows (warn memory leaks) - linphone_core_set_native_video_window_id([LinphoneManager getLc],(unsigned long)videoView); - linphone_core_set_native_preview_window_id([LinphoneManager getLc],(unsigned long)videoPreview); - [singleFingerTap setNumberOfTapsRequired:1]; [singleFingerTap setCancelsTouchesInView: FALSE]; [[PhoneMainView instance].view addGestureRecognizer:singleFingerTap]; @@ -196,11 +201,6 @@ static UICompositeViewDescription *compositeDescription = nil; [[PhoneMainView instance].view removeGestureRecognizer:singleFingerTap]; } -- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { - [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; - [self orientationUpdate:toInterfaceOrientation]; -} - - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; CGRect frame = [videoPreview frame]; @@ -226,35 +226,6 @@ static UICompositeViewDescription *compositeDescription = nil; #pragma mark - -- (void)orientationUpdate:(UIInterfaceOrientation)orientation { - int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]); - int newRotation = 0; - switch (orientation) { - case UIInterfaceOrientationPortrait: - newRotation = 0; - break; - case UIInterfaceOrientationPortraitUpsideDown: - newRotation = 180; - break; - case UIInterfaceOrientationLandscapeRight: - newRotation = 270; - break; - case UIInterfaceOrientationLandscapeLeft: - newRotation = 90; - break; - default: - newRotation = oldLinphoneOrientation; - } - if (oldLinphoneOrientation != newRotation) { - linphone_core_set_device_rotation([LinphoneManager getLc], newRotation); - LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]); - if (call && linphone_call_params_video_enabled(linphone_call_get_current_params(call))) { - //Orientation has changed, must call update call - linphone_core_update_call([LinphoneManager getLc], call, NULL); - } - } -} - - (void)callUpdate:(LinphoneCall *)call state:(LinphoneCallState)state animated:(BOOL)animated { // Update table [callTableView reloadData]; @@ -409,7 +380,7 @@ static UICompositeViewDescription *compositeDescription = nil; [videoPreview setHidden:TRUE]; } - if ([LinphoneManager instance].frontCamId !=nil) { + if ([LinphoneManager instance].frontCamId != nil) { // only show camera switch button if we have more than 1 camera [videoCameraSwitch setHidden:FALSE]; } diff --git a/Classes/LinphoneUI/UICamSwitch.m b/Classes/LinphoneUI/UICamSwitch.m index bc4a621c3..8dba965ed 100644 --- a/Classes/LinphoneUI/UICamSwitch.m +++ b/Classes/LinphoneUI/UICamSwitch.m @@ -82,15 +82,14 @@ return; } if (nextCamId != currentCamId) { - [LinphoneLogger logc:LinphoneLoggerLog format:"Switching from [%s] to [%s]",currentCamId,nextCamId]; + [LinphoneLogger logc:LinphoneLoggerLog format:"Switching from [%s] to [%s]", currentCamId, nextCamId]; linphone_core_set_video_device([LinphoneManager getLc], nextCamId); - nextCamId=currentCamId; + nextCamId = currentCamId; currentCamId = linphone_core_get_video_device([LinphoneManager getLc]); - linphone_core_update_call([LinphoneManager getLc] - , linphone_core_get_current_call([LinphoneManager getLc]) - , NULL); - /*linphone_core_set_native_preview_window_id([LinphoneManager getLc], - (unsigned long)preview);*/ + LinphoneCall *call = linphone_core_get_current_call([LinphoneManager getLc]); + if(call != NULL) { + linphone_core_update_call([LinphoneManager getLc], call, NULL); + } } } diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m index dc6100161..3e1057014 100644 --- a/Classes/LinphoneUI/UIChatCell.m +++ b/Classes/LinphoneUI/UIChatCell.m @@ -63,7 +63,14 @@ #pragma mark - Property Funcitons - (void)setChat:(ChatModel *)achat { - chat = achat; + if(chat == achat) + return; + if(chat != nil) { + [chat release]; + } + if(achat) { + chat = [achat retain]; + } [self update]; } diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m index 9817aaa1c..c451292b0 100644 --- a/Classes/PhoneMainView.m +++ b/Classes/PhoneMainView.m @@ -247,6 +247,7 @@ static PhoneMainView* phoneMainViewInstance=nil; - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { [super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; [mainViewController willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration]; + [self orientationUpdate:toInterfaceOrientation]; } - (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { @@ -371,6 +372,35 @@ static PhoneMainView* phoneMainViewInstance=nil; #pragma mark - +- (void)orientationUpdate:(UIInterfaceOrientation)orientation { + int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]); + int newRotation = 0; + switch (orientation) { + case UIInterfaceOrientationPortrait: + newRotation = 0; + break; + case UIInterfaceOrientationPortraitUpsideDown: + newRotation = 180; + break; + case UIInterfaceOrientationLandscapeRight: + newRotation = 270; + break; + case UIInterfaceOrientationLandscapeLeft: + newRotation = 90; + break; + default: + newRotation = oldLinphoneOrientation; + } + if (oldLinphoneOrientation != newRotation) { + linphone_core_set_device_rotation([LinphoneManager getLc], newRotation); + LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]); + if (call && linphone_call_params_video_enabled(linphone_call_get_current_params(call))) { + //Orientation has changed, must call update call + linphone_core_update_call([LinphoneManager getLc], call, NULL); + } + } +} + - (void)startUp { if ([[LinphoneManager instance] lpConfigBoolForKey:@"enable_first_login_view_preference"] == true) { // Change to fist login view diff --git a/Classes/en.lproj/DialerViewController~ipad.xib b/Classes/en.lproj/DialerViewController~ipad.xib index c4844b21a..26bc622af 100644 --- a/Classes/en.lproj/DialerViewController~ipad.xib +++ b/Classes/en.lproj/DialerViewController~ipad.xib @@ -37,6 +37,73 @@ 292 + + + 301 + {{-1000, -1000}, {2768, 2900}} + + + + _NS:9 + + 3 + MAA + + IBIPadFramework + + + + 274 + {{0, 58}, {768, 842}} + + + + + 3 + MCAwAA + + 1 + IBIPadFramework + + + + -2147483356 + {{0, 77}, {85, 33}} + + + + _NS:9 + NO + + Switch camera + + IBIPadFramework + 0 + 0 + NO + NO + + 3 + MC41AA + + + NSImage + switch_camera_over.png + + + NSImage + switch_camera_default.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + 290 @@ -104,7 +171,7 @@ {{698, 4}, {70, 51}} - + _NS:9 NO @@ -120,10 +187,7 @@ 15 15 15 - - 3 - MC41AA - + NSImage backspace_over~ipad.png @@ -136,15 +200,8 @@ NSImage backspace_default~ipad.png - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + + {768, 80} @@ -166,6 +223,22 @@ 268 + + + 274 + {320, 280} + + + + _NS:9 + 2 + NO + IBIPadFramework + + NSImage + background_alt.png + + 292 @@ -200,7 +273,7 @@ 2 15 - + @@ -227,7 +300,7 @@ numpad_two_default.png - + @@ -254,7 +327,7 @@ numpad_three_default.png - + @@ -281,7 +354,7 @@ numpad_four_default.png - + @@ -308,7 +381,7 @@ numpad_five_default.png - + @@ -335,7 +408,7 @@ numpad_six_default.png - + @@ -362,7 +435,7 @@ numpad_seven_default.png - + @@ -389,7 +462,7 @@ numpad_eight_default.png - + @@ -416,7 +489,7 @@ numpad_nine_default.png - + @@ -443,7 +516,7 @@ numpad_star_default.png - + @@ -470,7 +543,7 @@ numpad_zero_default.png - + @@ -497,18 +570,15 @@ numpad_sharp_default.png - + {{0, 640}, {320, 260}} - + _NS:9 - - 3 - MCAwAA - + IBIPadFramework @@ -547,7 +617,7 @@ add_contact_default~ipad.png - + @@ -580,7 +650,7 @@ back_default~ipad.png - + @@ -614,7 +684,7 @@ call_default~ipad.png - + @@ -648,7 +718,7 @@ add_call_default~ipad.png - + @@ -656,7 +726,6 @@ {{126, 0}, {186, 85}} - _NS:9 NO @@ -682,7 +751,7 @@ transfer_call_default~ipad.png - + {{456, 815}, {312, 85}} @@ -701,7 +770,7 @@ {768, 900} - + _NS:9 IBIPadFramework @@ -869,6 +938,22 @@ 69 + + + videoCameraSwitch + + + + 74 + + + + videoPreview + + + + 75 + onAddressChange: @@ -1024,6 +1109,14 @@ 39 + + + preview + + + + 72 + @@ -1051,6 +1144,9 @@ + + + @@ -1083,6 +1179,7 @@ + pad @@ -1218,6 +1315,29 @@ backspaceButton + + 70 + + + preview + + + 71 + + + videoCameraSwitch + + + 73 + + + background + + + 76 + + + @@ -1279,6 +1399,12 @@ UIAddressTextField com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICamSwitch + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1290,7 +1416,7 @@ - 69 + 76 @@ -1335,6 +1461,8 @@ UIDigitButton UITransferButton UIDigitButton + UICamSwitch + UIView UIDigitButton @@ -1410,6 +1538,14 @@ twoButton UIDigitButton + + videoCameraSwitch + UICamSwitch + + + videoPreview + UIView + zeroButton UIDigitButton @@ -1447,6 +1583,25 @@ ./Classes/UICallButton.h + + UICamSwitch + UIButton + + preview + UIView + + + preview + + preview + UIView + + + + IBProjectSource + ./Classes/UICamSwitch.h + + UIDigitButton UILongTouchButton @@ -1532,6 +1687,7 @@ {251, 170} {251, 170} {251, 170} + {640, 561} {81, 43} {81, 43} {81, 43} @@ -1563,6 +1719,8 @@ {220, 113} {220, 113} {220, 113} + {170, 65} + {170, 65} {371, 170} {371, 170} {371, 170} diff --git a/Classes/fr.lproj/DialerViewController~ipad.xib b/Classes/fr.lproj/DialerViewController~ipad.xib index b9b6c98fd..58f381dce 100644 --- a/Classes/fr.lproj/DialerViewController~ipad.xib +++ b/Classes/fr.lproj/DialerViewController~ipad.xib @@ -37,6 +37,70 @@ 292 + + + 301 + {{-1000, -1000}, {2768, 2900}} + + + _NS:9 + + 3 + MAA + + IBIPadFramework + + + + 274 + {{0, 58}, {768, 842}} + + + + 3 + MCAwAA + + 1 + IBIPadFramework + + + + -2147483356 + {{0, 77}, {85, 33}} + + + _NS:9 + NO + + Changer de camera + + IBIPadFramework + 0 + 0 + NO + NO + + 3 + MC41AA + + + NSImage + switch_camera_over.png + + + NSImage + switch_camera_default.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + 290 @@ -101,7 +165,7 @@ 289 {{698, 4}, {70, 51}} - + _NS:9 NO @@ -117,10 +181,7 @@ 15 15 15 - - 3 - MC41AA - + NSImage backspace_over~ipad.png @@ -133,15 +194,8 @@ NSImage backspace_default~ipad.png - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + + {768, 80} @@ -162,6 +216,21 @@ 268 + + + 274 + {320, 280} + + + _NS:9 + 2 + NO + IBIPadFramework + + NSImage + background_alt.png + + 292 @@ -195,7 +264,7 @@ 2 15 - + @@ -221,7 +290,7 @@ numpad_two_default.png - + @@ -247,7 +316,7 @@ numpad_three_default.png - + @@ -273,7 +342,7 @@ numpad_four_default.png - + @@ -299,7 +368,7 @@ numpad_five_default.png - + @@ -325,7 +394,7 @@ numpad_six_default.png - + @@ -351,7 +420,7 @@ numpad_seven_default.png - + @@ -377,7 +446,7 @@ numpad_eight_default.png - + @@ -403,7 +472,7 @@ numpad_nine_default.png - + @@ -429,7 +498,7 @@ numpad_star_default.png - + @@ -455,7 +524,7 @@ numpad_zero_default.png - + @@ -481,17 +550,14 @@ numpad_sharp_default.png - + {{0, 640}, {320, 260}} - + _NS:9 - - 3 - MCAwAA - + IBIPadFramework @@ -529,7 +595,7 @@ add_contact_default~ipad.png - + @@ -561,7 +627,7 @@ back_default~ipad.png - + @@ -594,7 +660,7 @@ call_default~ipad.png - + @@ -627,7 +693,7 @@ add_call_default~ipad.png - + @@ -659,7 +725,7 @@ transfer_call_default~ipad.png - + {{456, 815}, {312, 85}} @@ -675,7 +741,7 @@ {768, 900} - + _NS:9 IBIPadFramework @@ -843,6 +909,22 @@ 69 + + + videoCameraSwitch + + + + 74 + + + + videoPreview + + + + 75 + onAddressChange: @@ -998,6 +1080,14 @@ 39 + + + preview + + + + 72 + @@ -1025,6 +1115,9 @@ + + + @@ -1057,6 +1150,7 @@ + pad @@ -1192,6 +1286,29 @@ backspaceButton + + 70 + + + preview + + + 71 + + + videoCameraSwitch + + + 73 + + + background + + + 76 + + + @@ -1253,6 +1370,12 @@ UIAddressTextField com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICamSwitch + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1264,7 +1387,7 @@ - 69 + 76 @@ -1309,6 +1432,8 @@ UIDigitButton UITransferButton UIDigitButton + UICamSwitch + UIView UIDigitButton @@ -1384,6 +1509,14 @@ twoButton UIDigitButton + + videoCameraSwitch + UICamSwitch + + + videoPreview + UIView + zeroButton UIDigitButton @@ -1421,6 +1554,25 @@ ./Classes/UICallButton.h + + UICamSwitch + UIButton + + preview + UIView + + + preview + + preview + UIView + + + + IBProjectSource + ./Classes/UICamSwitch.h + + UIDigitButton UILongTouchButton @@ -1506,6 +1658,7 @@ {251, 170} {251, 170} {251, 170} + {640, 561} {81, 43} {81, 43} {81, 43} @@ -1537,6 +1690,8 @@ {220, 113} {220, 113} {220, 113} + {170, 65} + {170, 65} {371, 170} {371, 170} {371, 170} diff --git a/Resources/background_alt.png b/Resources/background_alt.png new file mode 100644 index 0000000000000000000000000000000000000000..3e178844a6e8cbf6dea249d686ec771d9c70fa91 GIT binary patch literal 5336 zcmbtW3p~?%8~+WJP9^K&u8D4niK!IE+aX7alX^?;OsJKGMCDe_VVcWZk)&{r7sshl zrePWa!dnA_po{)`Mx@1+%-~vn*M`{tq23Evf_bYXWX+YIePRyje)SP?oWd8&51c zj3+BH6YQUDp|k{JFgDs|A4>*r)9Cqmtv02D?`Eo2bYWecR`hK3nTdZQP zq`nAtQB%LGiTQQtSCjjT;Z(Cy#qm)sf0b zvjk$W0R~St)6OoVjE%5H!Xma|7$)%mB%-IM++0I9uPme))dc8U_6P@PhL&E{+06#g zza%7TviK9X`oFvAVlwAgkG+#-FHyB>5AYJxd5rl#p(T!~(ZlXupa< zO9<9KG_-7TVmhDV%Al{+3`Zg>jxJYbzsXKI!eB7$47ed`wJ4vS+Ns|F81Ks44>EF~ zFArjKfO=HZ){{B$$}ZaeA@}0)lS-N4{e(l_e>z4ar4lTw9q?hgn#?*n*O6`QJ@qi@ zlPft$CAu@Yp%wvTEA@0#@bUFli}cU9&?z-1iiyY7v@|_cgbunno3bsA7|0#2|4=&k zG&BmsDxkPF&{dKCD(vIk#z=kd9yX-~kMzHunp?GXLKDN{)vf^Yk#6pWuDcv)Mtpt7 zw!$OxYMwd`7MqN1MV3vKP@|n+9LGuraJB| zcEzh}b-muYwBTF~h_re!t`O?|6Roxo8~dv4a&Z2wZ!GqD^8rpy%%GBNnox|IbYvb+ZeOKY& zzHTM1Gft@lR>w}yLodfcS238@*)yoD+g`y>ORH}l`qOcoUZ#vZ zf-8^CW!+lAy+)t#O7F#DSjx4W)r?(0)_f|XGbG@=v8^qEb*{gh!708&TSYn^cP<^L z7Gva~^GMG*mS$Mfc|w`eQb#u?QBhliOo&9YcI;H9Z<*l!DHFeN^`TbB2zg|cH=&zH zp9m)hZOVSPL1Q{Fz4w=-tEpq1TbG)R^h;M_2IU0c5qZn8u-NnczqaraQ%II^-zx^j zE0v(-j?`~Drhcu-sQSg@kFo9S5WBi?H6-f}MJ_GGw2_{ICl~J3-pSxvYroGvmrn4z z^y#Ep?VYso^$1w5ro;GZqY?kU)9OEM)2yMAvZA7l&DIFfXw;gwi)*Otu1_x>H+@&P zQY38d7P>@qAPuq~9{X1HJP{2qjS%evHVLEBQhSm9>ou{jEpTLtD{CLB&}Kc}!nvn4iptr-2SN=UsL;U9dyNi`bdMkF>3;8NR??Okv5j(Lqc zvuOjRX#b4%ro1ojq=lr^6`erHsrJO{jMiVYk-Tj|HQ+aLkUkD@u9qzFD4URu$Kc^ zwd%~`j8CbPR>vmsMJtd)&5ngXI~j1v^fDD>hBL7ajVWkxWD$uEPMyAPFZ57yZKM}Y zYQrI}#4R`$Uo|6Gr#80`9hQEtqu3O7U@SSS>I2$Yp_0ZF5lt=Se(dKl>v%6Y_JeZu&7Mfo@ghB=M7hKIrX9Z3B-Bb| zMA=v`RbblBMXyOK3Of4;OYZG5;0_3WYZ0FJo(c^N?V^pA-A-*iK_)maecoV0Bb;pf z5H6UQC@USNz7$Me$WF>AIV2}*?q2ZZQ&w7G`mi(#)CfAA5LNM*%EDC4R1h+FXSOV&sLW0@W?K`kf=|{A>29~7I3)h}s zgRE$zyD>4GIOpjeza)FtSfW#JZ*Q;*TQA#7`+XL5D5Aq|6YSS*Qhkh_F2Uq}UFh?% z*KaZ+O80zV3W8i>n>{bz9~ydXQ|xjz{GRjMZIhwIV`QG)8inMFExU%6HIkt=r1!>H z_O_7e6N5DCUK%Ud;?|yO8%j$Wr|&(NbY*9&BMS~ysQ<@vjMh9PXUcGYj2~foV`r>bdMo6XMsRM{SGpOR{pNMu=5kNMCB z!x$dga5j!$xXTWZfJ{d{&n%NT`cX^AerOz>aQKdu@MdDkjq;(raQUb6m<=vmHnB(n zS%})^Y^LRFV==KE6QPXERZM6OeR(ncK9$nhOb;FRDBRGWWxp5dL`F{EF@!8g%=@yK zttw7Y*?Zw;%D^x8A#amQAt}}BV+kqP{$`$`Fy&5zG9SqyWG7Xq)^boX8eq7R=)CXX zU4`zIv2_ERe`}U@y)ymppzP`sJ84Esjf1Dz-6}C?IWydD>bbQoc$e0&(xGw1M~N3! zZv}7%Zp_W~4>;lSK3^po4P{3=d>UV&=yqZ7)AnkN=G1V1e?QC4)|P6zzbP2Ts!T5m z8#iH|7o0ES4f2c+Os7O}df(*v#u6(`O-OC_LE>noi9nk#pWP#q2_Q##rWg^Y4_AVAO#-EUql8E zE?yN0A8E&G6{l@PXW2PG2KdH_-Y#E&K5uHlHwX-B7Kki=kvoI{<_Gu9Ig3dX*?CII z0uA_wJai{(4#an$5`#$St)s24YJ)F`%((%hh`+y(6}(6Tm^;n&=Oir)o-3?`KEB*F zhgT$BQ-2I|kbyR+>@9nrH z0~1h^sG&Q-Xo(WY)c=xeWLVE8BUn61j2Eg7oCY9XvXcC0iO3r-!lcEK?=f^PEu0%w z)S_4WZKV*OkIiv&KvZG_SI7c$oJ6lhO{w$?m_1hMUI*(ogUPT)6Ov^Pysstv`wP|@ z^T3N)tKRX|ZH}EZC z4$pj6j_&3?f~GUf5}E$r!7EeZP2m8{^wc-b^7*$a%@0ZZBViZypKIU^Tol2Q5E(Hm+C@_|c;H4GS`*MA~8lCrI2;<~>;zNosn3MS~Mn zc$PEc^fjW1pG(?VqDXMYu;wp@Fj!=}m&je<*WAo;{ZKdN%+9&Yhlw|bg0sYYauJll6nI5E zOXZ!jvm|zYp-R+&7O5Yn5#XUDM0bM2{2bj0uSDYR2+l8qS}QbJ&r8z6fL{ispY4B zW6AyP@eKUT=$h}-+cry?-9eD zFybfrh9t2?#f1N#fp#$eIfIrrjwifxj-7ozI D!QF&i literal 0 HcmV?d00001 diff --git a/linphone.ldb/Contents.plist b/linphone.ldb/Contents.plist index 70072ae50..3e1f5e832 100644 --- a/linphone.ldb/Contents.plist +++ b/linphone.ldb/Contents.plist @@ -1285,17 +1285,17 @@ backup - 2 + 3 class BLWrapperHandle name - Classes/DialerViewController~ipad/2/DialerViewController~ipad.xib + Classes/DialerViewController~ipad/3/DialerViewController~ipad.xib change date - 2012-09-11T07:20:16Z + 2012-09-14T08:21:20Z changed values class @@ -1305,7 +1305,7 @@ flags 0 hash - fc4e4cbece826acf96d8cbb7d692bf2f + 199b213a86204679336e2f627d919b3d name DialerViewController~ipad.xib @@ -1811,6 +1811,31 @@ snapshots + + change date + 2001-01-01T00:00:00Z + changed values + + class + BLStringKeyObject + comment + Class = "IBUIButton"; accessibilityLabel = "Switch camera"; ObjectID = "71"; + errors + + flags + 0 + key + 71.accessibilityLabel + localizations + + en + Switch camera + fr + Changer de camera + + snapshots + + old objects @@ -1819,9 +1844,9 @@ versions en - 2 + 3 fr - 2 + 3 diff --git a/linphone.ldb/Resources/Classes/DialerViewController~ipad/2/DialerViewController~ipad.xib b/linphone.ldb/Resources/Classes/DialerViewController~ipad/3/DialerViewController~ipad.xib similarity index 89% rename from linphone.ldb/Resources/Classes/DialerViewController~ipad/2/DialerViewController~ipad.xib rename to linphone.ldb/Resources/Classes/DialerViewController~ipad/3/DialerViewController~ipad.xib index c4844b21a..26bc622af 100644 --- a/linphone.ldb/Resources/Classes/DialerViewController~ipad/2/DialerViewController~ipad.xib +++ b/linphone.ldb/Resources/Classes/DialerViewController~ipad/3/DialerViewController~ipad.xib @@ -37,6 +37,73 @@ 292 + + + 301 + {{-1000, -1000}, {2768, 2900}} + + + + _NS:9 + + 3 + MAA + + IBIPadFramework + + + + 274 + {{0, 58}, {768, 842}} + + + + + 3 + MCAwAA + + 1 + IBIPadFramework + + + + -2147483356 + {{0, 77}, {85, 33}} + + + + _NS:9 + NO + + Switch camera + + IBIPadFramework + 0 + 0 + NO + NO + + 3 + MC41AA + + + NSImage + switch_camera_over.png + + + NSImage + switch_camera_default.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + 290 @@ -104,7 +171,7 @@ {{698, 4}, {70, 51}} - + _NS:9 NO @@ -120,10 +187,7 @@ 15 15 15 - - 3 - MC41AA - + NSImage backspace_over~ipad.png @@ -136,15 +200,8 @@ NSImage backspace_default~ipad.png - - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + + {768, 80} @@ -166,6 +223,22 @@ 268 + + + 274 + {320, 280} + + + + _NS:9 + 2 + NO + IBIPadFramework + + NSImage + background_alt.png + + 292 @@ -200,7 +273,7 @@ 2 15 - + @@ -227,7 +300,7 @@ numpad_two_default.png - + @@ -254,7 +327,7 @@ numpad_three_default.png - + @@ -281,7 +354,7 @@ numpad_four_default.png - + @@ -308,7 +381,7 @@ numpad_five_default.png - + @@ -335,7 +408,7 @@ numpad_six_default.png - + @@ -362,7 +435,7 @@ numpad_seven_default.png - + @@ -389,7 +462,7 @@ numpad_eight_default.png - + @@ -416,7 +489,7 @@ numpad_nine_default.png - + @@ -443,7 +516,7 @@ numpad_star_default.png - + @@ -470,7 +543,7 @@ numpad_zero_default.png - + @@ -497,18 +570,15 @@ numpad_sharp_default.png - + {{0, 640}, {320, 260}} - + _NS:9 - - 3 - MCAwAA - + IBIPadFramework @@ -547,7 +617,7 @@ add_contact_default~ipad.png - + @@ -580,7 +650,7 @@ back_default~ipad.png - + @@ -614,7 +684,7 @@ call_default~ipad.png - + @@ -648,7 +718,7 @@ add_call_default~ipad.png - + @@ -656,7 +726,6 @@ {{126, 0}, {186, 85}} - _NS:9 NO @@ -682,7 +751,7 @@ transfer_call_default~ipad.png - + {{456, 815}, {312, 85}} @@ -701,7 +770,7 @@ {768, 900} - + _NS:9 IBIPadFramework @@ -869,6 +938,22 @@ 69 + + + videoCameraSwitch + + + + 74 + + + + videoPreview + + + + 75 + onAddressChange: @@ -1024,6 +1109,14 @@ 39 + + + preview + + + + 72 + @@ -1051,6 +1144,9 @@ + + + @@ -1083,6 +1179,7 @@ + pad @@ -1218,6 +1315,29 @@ backspaceButton + + 70 + + + preview + + + 71 + + + videoCameraSwitch + + + 73 + + + background + + + 76 + + + @@ -1279,6 +1399,12 @@ UIAddressTextField com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICamSwitch + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1290,7 +1416,7 @@ - 69 + 76 @@ -1335,6 +1461,8 @@ UIDigitButton UITransferButton UIDigitButton + UICamSwitch + UIView UIDigitButton @@ -1410,6 +1538,14 @@ twoButton UIDigitButton + + videoCameraSwitch + UICamSwitch + + + videoPreview + UIView + zeroButton UIDigitButton @@ -1447,6 +1583,25 @@ ./Classes/UICallButton.h + + UICamSwitch + UIButton + + preview + UIView + + + preview + + preview + UIView + + + + IBProjectSource + ./Classes/UICamSwitch.h + + UIDigitButton UILongTouchButton @@ -1532,6 +1687,7 @@ {251, 170} {251, 170} {251, 170} + {640, 561} {81, 43} {81, 43} {81, 43} @@ -1563,6 +1719,8 @@ {220, 113} {220, 113} {220, 113} + {170, 65} + {170, 65} {371, 170} {371, 170} {371, 170} diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 60e1d94c3..224701b1c 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -778,6 +778,8 @@ D389363B15A6D53200A3A3AA /* chat_bubble_outgoing.9.png in Resources */ = {isa = PBXBuildFile; fileRef = D389363815A6D53200A3A3AA /* chat_bubble_outgoing.9.png */; }; D38D14AF15A30B3D008497E8 /* cell_call_first_highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = D38D14AD15A30B3D008497E8 /* cell_call_first_highlight.png */; }; D38D14B115A30B3D008497E8 /* cell_call_highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = D38D14AE15A30B3D008497E8 /* cell_call_highlight.png */; }; + D3998D0416031937009DD22C /* background_alt.png in Resources */ = {isa = PBXBuildFile; fileRef = D3998D0316031937009DD22C /* background_alt.png */; }; + D3998D0516031937009DD22C /* background_alt.png in Resources */ = {isa = PBXBuildFile; fileRef = D3998D0316031937009DD22C /* background_alt.png */; }; D3A55FBC15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; D3A55FBD15877E5E003FD403 /* UIContactCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D3A55FBB15877E5E003FD403 /* UIContactCell.m */; }; D3A55FBF15877E69003FD403 /* UIContactCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3A55FBE15877E69003FD403 /* UIContactCell.xib */; }; @@ -1807,6 +1809,7 @@ D389363815A6D53200A3A3AA /* chat_bubble_outgoing.9.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = chat_bubble_outgoing.9.png; path = Resources/chat_bubble_outgoing.9.png; sourceTree = ""; }; D38D14AD15A30B3D008497E8 /* cell_call_first_highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cell_call_first_highlight.png; path = Resources/cell_call_first_highlight.png; sourceTree = ""; }; D38D14AE15A30B3D008497E8 /* cell_call_highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cell_call_highlight.png; path = Resources/cell_call_highlight.png; sourceTree = ""; }; + D3998D0316031937009DD22C /* background_alt.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = background_alt.png; path = Resources/background_alt.png; sourceTree = ""; }; D3A55FBA15877E5E003FD403 /* UIContactCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactCell.h; sourceTree = ""; }; D3A55FBB15877E5E003FD403 /* UIContactCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactCell.m; sourceTree = ""; }; D3A55FBE15877E69003FD403 /* UIContactCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIContactCell.xib; sourceTree = ""; }; @@ -2735,6 +2738,7 @@ D3211BBD159CBFD60098460B /* back_over.png */, D3A74E6615C69392001500B9 /* back_over~ipad.png */, D3ED3E401585FB4A006C0DE4 /* background.png */, + D3998D0316031937009DD22C /* background_alt.png */, D3A74E6715C69392001500B9 /* background_top~ipad.png */, D3ED3E7615861B1B006C0DE4 /* backspace_default.png */, D3A74E6815C69392001500B9 /* backspace_default~ipad.png */, @@ -3845,6 +3849,7 @@ D381885615FE448400C3EDCA /* UICallBar~ipad.xib in Resources */, D3ED40241602257400BF332B /* chat_background.9.png in Resources */, D3ED40261602257400BF332B /* chat_background.9@2x.png in Resources */, + D3998D0416031937009DD22C /* background_alt.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -4295,6 +4300,7 @@ D381885715FE448400C3EDCA /* UICallBar~ipad.xib in Resources */, D3ED40251602257400BF332B /* chat_background.9.png in Resources */, D3ED40271602257400BF332B /* chat_background.9@2x.png in Resources */, + D3998D0516031937009DD22C /* background_alt.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; };