From f01c973e1149b23970ef3fb3a88bc6e537cad691 Mon Sep 17 00:00:00 2001 From: Yann Diorcet Date: Mon, 11 Jun 2012 17:23:03 +0200 Subject: [PATCH] Continue working on new ui --- Classes/LinphoneApp.xib | 404 ++++++ Classes/LinphoneAppDelegate.m | 14 +- Classes/LinphoneUI/LinphoneMainBar.h | 30 + Classes/LinphoneUI/LinphoneMainBar.m | 59 + Classes/LinphoneUI/LinphoneMainBar.xib | 454 ++++++ Classes/LinphoneUI/LinphoneStatusBar.h | 27 + Classes/LinphoneUI/LinphoneStatusBar.m | 34 + Classes/LinphoneUI/LinphoneStatusBar.xib | 156 +++ Classes/PhoneMainView.h | 53 + Classes/PhoneMainView.m | 135 ++ Classes/PhoneMainView.xib | 1261 ++++++++--------- Classes/PhoneViewController.xib | 1631 ++++++++++++---------- Resources/add-contact-actif.png | Bin 0 -> 4832 bytes Resources/add-contact-inactif.png | Bin 0 -> 4662 bytes Resources/add-contact-over.png | Bin 0 -> 4798 bytes Resources/appeler-actif.png | Bin 0 -> 9538 bytes Resources/appeler-over.png | Bin 0 -> 5217 bytes Resources/backspace-actif.png | Bin 0 -> 4693 bytes Resources/backspace-over.png | Bin 0 -> 4716 bytes Resources/barre-noire-top.png | Bin 0 -> 1218 bytes Resources/champ-saisie-numero.png | Bin 0 -> 5001 bytes Resources/fond-clavier.png | Bin 0 -> 4372 bytes linphone-Info.plist | 2 +- linphone.xcodeproj/project.pbxproj | 232 ++- main.m | 1 + 25 files changed, 2974 insertions(+), 1519 deletions(-) create mode 100644 Classes/LinphoneApp.xib create mode 100644 Classes/LinphoneUI/LinphoneMainBar.h create mode 100644 Classes/LinphoneUI/LinphoneMainBar.m create mode 100644 Classes/LinphoneUI/LinphoneMainBar.xib create mode 100644 Classes/LinphoneUI/LinphoneStatusBar.h create mode 100644 Classes/LinphoneUI/LinphoneStatusBar.m create mode 100644 Classes/LinphoneUI/LinphoneStatusBar.xib create mode 100644 Classes/PhoneMainView.h create mode 100644 Classes/PhoneMainView.m create mode 100644 Resources/add-contact-actif.png create mode 100644 Resources/add-contact-inactif.png create mode 100644 Resources/add-contact-over.png create mode 100644 Resources/appeler-actif.png create mode 100644 Resources/appeler-over.png create mode 100644 Resources/backspace-actif.png create mode 100644 Resources/backspace-over.png create mode 100644 Resources/barre-noire-top.png create mode 100644 Resources/champ-saisie-numero.png create mode 100644 Resources/fond-clavier.png diff --git a/Classes/LinphoneApp.xib b/Classes/LinphoneApp.xib new file mode 100644 index 000000000..745729525 --- /dev/null +++ b/Classes/LinphoneApp.xib @@ -0,0 +1,404 @@ + + + + 1296 + 11E53 + 2182 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1181 + + + IBUIWindow + IBUICustomObject + IBUIViewController + IBProxyObject + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + IBCocoaTouchFramework + + + + 1316 + + {320, 480} + + + + + 1 + MSAxIDEAA + + NO + NO + + IBCocoaTouchFramework + YES + + + + + 1 + 1 + + IBCocoaTouchFramework + NO + + + + + + + delegate + + + + 6 + + + + rootViewController + + + + 10 + + + + + + 0 + + + + + + 2 + + + + + -1 + + + File's Owner + + + -2 + + + + + 4 + + + linphoneAppDelegate + + + 9 + + + PhoneMainView + + + + + UIApplication + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + linphoneAppDelegate + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + PhoneMainView + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 11 + + + + + ABPeoplePickerNavigationController + UINavigationController + + IBProjectSource + ./Classes/ABPeoplePickerNavigationController.h + + + + MainScreenWithVideoPreview + UIViewController + + PhoneViewController + UIWindow + + + + phoneMainView + PhoneViewController + + + window + UIWindow + + + + IBProjectSource + ./Classes/MainScreenWithVideoPreview.h + + + + PhoneMainView + UIViewController + + UIView + UIView + UIView + UIView + UIView + UIView + UIView + + + + addCallTabBar + UIView + + + callTabBar + UIView + + + contentView + UIView + + + incomingTabBar + UIView + + + mainTabBar + UIView + + + statusBarView + UIView + + + tabBarView + UIView + + + + IBProjectSource + ./Classes/PhoneMainView.h + + + + PhoneViewController + UIViewController + + UITextField + UIButton + UIButton + UIButton + UIView + UIButton + UIEraseButton + UIButton + UIButton + UIButton + MainScreenWithVideoPreview + UITabBarController + UIButton + UIButton + UIButton + UIButton + UIButton + UILabel + UIView + UIButton + UIButton + UIButton + UIButton + + + + address + UITextField + + + backToCallView + UIButton + + + callLarge + UIButton + + + callShort + UIButton + + + dialerView + UIView + + + eight + UIButton + + + erase + UIEraseButton + + + five + UIButton + + + four + UIButton + + + hash + UIButton + + + mMainScreenWithVideoPreview + MainScreenWithVideoPreview + + + myTabBarController + UITabBarController + + + nine + UIButton + + + one + UIButton + + + seven + UIButton + + + six + UIButton + + + star + UIButton + + + status + UILabel + + + statusViewHolder + UIView + + + switchCamera + UIButton + + + three + UIButton + + + two + UIButton + + + zero + UIButton + + + + IBProjectSource + ./Classes/PhoneViewController.h + + + + UIEraseButton + UIButton + + IBProjectSource + ./Classes/UIEraseButton.h + + + + linphoneAppDelegate + NSObject + + UIView + ABPeoplePickerNavigationController + PhoneViewController + UITabBarController + UIWindow + + + + myContentView + UIView + + + myPeoplePickerController + ABPeoplePickerNavigationController + + + myPhoneViewController + PhoneViewController + + + myTabBarController + UITabBarController + + + window + UIWindow + + + + IBProjectSource + ./Classes/linphoneAppDelegate.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + 1181 + + diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 5aae06fae..bd89a845c 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -17,6 +17,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#import "PhoneMainView.h" #import "PhoneViewController.h" #import "linphoneAppDelegate.h" #import "ContactPickerDelegate.h" @@ -168,7 +169,8 @@ int __aeabi_idiv(int a, int b) { } -(void) setupUI { - //as defined in PhoneMainView.xib + + /*//as defined in PhoneMainView.xib //dialer myPhoneViewController = (PhoneViewController*) [myTabBarController.viewControllers objectAtIndex: DIALER_TAB_INDEX]; myPhoneViewController.myTabBarController = myTabBarController; @@ -206,7 +208,7 @@ int __aeabi_idiv(int a, int b) { [myTabBarController setViewControllers:newArray animated:NO]; //[window addSubview: myTabBarController.view]; [myCallHistoryTableViewController loadView]; - [myContentView addSubview:myCallHistoryTableViewController.view]; + // [myContentView addSubview:myCallHistoryTableViewController.view]; //[window addSubview: myContentView]; // [myContentViewController addChildViewController:myCallHistoryTableViewController]; @@ -214,7 +216,11 @@ int __aeabi_idiv(int a, int b) { [[LinphoneManager instance] setCallDelegate:myPhoneViewController]; - [UIDevice currentDevice].batteryMonitoringEnabled = YES; + [UIDevice currentDevice].batteryMonitoringEnabled = YES;*/ +/* + PhoneMainView *mainView = [[PhoneMainView alloc] initWithNibName:@"PhoneMainView" bundle:[NSBundle mainBundle]]; + [self.window addSubview:mainView.view]; + [self.window makeKeyAndVisible];*/ } -(void) setupGSMInteraction { @@ -271,7 +277,7 @@ int __aeabi_idiv(int a, int b) { } - (void)dealloc { - [window release]; + //[window release]; [myPeoplePickerController release]; [super dealloc]; } diff --git a/Classes/LinphoneUI/LinphoneMainBar.h b/Classes/LinphoneUI/LinphoneMainBar.h new file mode 100644 index 000000000..c0edcf6f9 --- /dev/null +++ b/Classes/LinphoneUI/LinphoneMainBar.h @@ -0,0 +1,30 @@ +/* LinphoneMainBar.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 + +@interface LinphoneMainBar : UIViewController { + UIButton *historyButton; + UIButton *dialerButton; +} + +@property (nonatomic, retain) IBOutlet UIButton* historyButton; +@property (nonatomic, retain) IBOutlet UIButton* dialerButton; +-(IBAction) onHistoryClick: (id) event; +@end diff --git a/Classes/LinphoneUI/LinphoneMainBar.m b/Classes/LinphoneUI/LinphoneMainBar.m new file mode 100644 index 000000000..51d0bdf68 --- /dev/null +++ b/Classes/LinphoneUI/LinphoneMainBar.m @@ -0,0 +1,59 @@ +/* LinphoneMainBar.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 "LinphoneMainBar.h" +#import "PhoneMainView.h" + +@implementation LinphoneMainBar + +@synthesize historyButton; +@synthesize dialerButton; + + +- (void) viewDidLoad { + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(receiveLinphoneMainViewChangeEvent:) name:@"LinphoneMainViewChange" object:nil]; +} + +- (void) receiveLinphoneMainViewChangeEvent: (NSNotification*) notif { + PhoneView view = [[notif.userInfo objectForKey: @"PhoneView"] intValue]; + if(view == PhoneView_Main) { + dialerButton.selected = TRUE; + } else { + dialerButton.selected = FALSE; + } + if(view == PhoneView_CallHistory) { + historyButton.selected = TRUE; + } else { + historyButton.selected = FALSE; + } +} + +- (void) dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; + [super dealloc]; +} + +- (IBAction) onHistoryClick: (id) sender { + // Change to default view + NSDictionary* dict = [NSDictionary dictionaryWithObject: [NSNumber numberWithInt:PhoneView_CallHistory] forKey:@"PhoneView"]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneMainViewChange" object:self userInfo:dict]; +} + + +@end diff --git a/Classes/LinphoneUI/LinphoneMainBar.xib b/Classes/LinphoneUI/LinphoneMainBar.xib new file mode 100644 index 000000000..ae4a512fa --- /dev/null +++ b/Classes/LinphoneUI/LinphoneMainBar.xib @@ -0,0 +1,454 @@ + + + + 1296 + 11E53 + 2182 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1181 + + + IBProxyObject + IBUIView + IBUIButton + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 292 + + + + -2147483356 + {{0, 7}, {320, 65}} + + + + _NS:9 + + 3 + MQA + + 2 + + + -1 + NO + IBCocoaTouchFramework + + + + 292 + {64, 72} + + + + _NS:9 + NO + + History + + IBCocoaTouchFramework + 0 + 0 + NO + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + history-over.png + + + NSImage + history-selectionne.png + + + NSImage + history-actif.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 + + + + + 292 + {{64, 0}, {64, 72}} + + + + _NS:9 + NO + + Contacts + + IBCocoaTouchFramework + 0 + 0 + NO + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + contacts-over.png + + + NSImage + contacts-selectionne.png + + + NSImage + contacts-actif.png + + + + + + + 292 + {{128, 0}, {64, 72}} + + + + _NS:9 + NO + + Dialer + + IBCocoaTouchFramework + 0 + 0 + NO + + + NSImage + dialer-actif.png + + + NSImage + dialer-over.png + + + + + + + 292 + {{192, 0}, {64, 72}} + + + + _NS:9 + NO + + Settings + + IBCocoaTouchFramework + 0 + 0 + NO + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + settings-over.png + + + NSImage + settings-selectionne.png + + + NSImage + settings-actif.png + + + + + + + 292 + {{256, 0}, {64, 72}} + + + _NS:9 + NO + + Tchat + + IBCocoaTouchFramework + 0 + 0 + NO + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + tchat-over.png + + + NSImage + tchat-selectionne.png + + + NSImage + tchat-actif.png + + + + + + {320, 72} + + + + _NS:9 + + 1 + MCAxIDAuMTkxOTQ1NDc1NSAwAA + + NO + IBCocoaTouchFramework + + + + + + + dialerButton + + + + 12 + + + + historyButton + + + + 13 + + + + view + + + + 14 + + + + onHistoryClick: + + + 1 + + 15 + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 3 + + + + + + + + + + + mainTabBar + + + 9 + + + settings + + + 8 + + + contacts + + + 7 + + + dialer + + + 6 + + + history + + + 5 + + + tchat + + + 4 + + + mask + + + + + LinphoneMainBar + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + + 16 + + + + + LinphoneMainBar + UIViewController + + onHistoryClick: + id + + + onHistoryClick: + + onHistoryClick: + id + + + + UIButton + UIButton + + + + dialerButton + UIButton + + + historyButton + UIButton + + + + IBProjectSource + ./Classes/LinphoneMainBar.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + {127, 144} + {127, 144} + {127, 144} + {132, 144} + {132, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + {127, 144} + + 1181 + + diff --git a/Classes/LinphoneUI/LinphoneStatusBar.h b/Classes/LinphoneUI/LinphoneStatusBar.h new file mode 100644 index 000000000..a041cb37e --- /dev/null +++ b/Classes/LinphoneUI/LinphoneStatusBar.h @@ -0,0 +1,27 @@ +/* LinphoneStatusBar.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 + +@interface LinphoneStatusBar : UIView { + UIView *test; +} + +@property (nonatomic, retain) IBOutlet UIView* test; +@end diff --git a/Classes/LinphoneUI/LinphoneStatusBar.m b/Classes/LinphoneUI/LinphoneStatusBar.m new file mode 100644 index 000000000..21057ad58 --- /dev/null +++ b/Classes/LinphoneUI/LinphoneStatusBar.m @@ -0,0 +1,34 @@ +/* LinphoneStatusBar.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 "LinphoneStatusBar.h" + +@implementation LinphoneStatusBar +@synthesize test; +- (id) awakeAfterUsingCoder:(NSCoder*)aDecoder { + NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"LinphoneStatusBar" + owner:nil + options:nil]; + + if ([arrayOfViews count] >= 1){ + [self addSubview:[[arrayOfViews objectAtIndex:0] retain]]; + } + return self; +} +@end diff --git a/Classes/LinphoneUI/LinphoneStatusBar.xib b/Classes/LinphoneUI/LinphoneStatusBar.xib new file mode 100644 index 000000000..7cd51fd02 --- /dev/null +++ b/Classes/LinphoneUI/LinphoneStatusBar.xib @@ -0,0 +1,156 @@ + + + + 1296 + 11E53 + 2182 + 1138.47 + 569.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 1181 + + + IBProxyObject + IBUIView + IBUIImageView + + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + PluginDependencyRecalculationVersion + + + + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 292 + + + + 274 + {320, 23} + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + barre-noire-top.png + + + + {320, 23} + + + + _NS:9 + + 3 + MQA + + 2 + + + IBCocoaTouchFramework + + + + + + + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 3 + + + + + + + + 4 + + + background + + + + + LinphoneStatusBar + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIResponder + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + + + 4 + + + + + LinphoneStatusBar + UIView + + test + UIView + + + test + + test + UIView + + + + IBProjectSource + ./Classes/LinphoneStatusBar.h + + + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + + YES + 3 + + barre-noire-top.png + {640, 46} + + 1181 + + diff --git a/Classes/PhoneMainView.h b/Classes/PhoneMainView.h new file mode 100644 index 000000000..d4ad66c97 --- /dev/null +++ b/Classes/PhoneMainView.h @@ -0,0 +1,53 @@ +/* PhoneMainView.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 + +typedef enum _PhoneView { + PhoneView_Main, + PhoneView_CallHistory, + PhoneView_END +} PhoneView; + +@interface PhoneMainView : UIViewController { + UIView *statusBarView; + UIView *contentView; + UIView *tabBarView; + PhoneView currentView; + + @private + NSMutableDictionary *viewDescriptions; + NSArray *views; + UIView *callTabBar; + UIViewController *mainTabBar; + UIView *incomingTabBar; + UIView *addCallTabBar; + +} +@property (nonatomic, retain) IBOutlet UIView* statusBarView; +@property (nonatomic, retain) IBOutlet UIView* contentView; +@property (nonatomic, retain) IBOutlet UIView* tabBarView; + +@property (nonatomic, retain) IBOutlet UIView* callTabBar; +@property (nonatomic, retain) IBOutlet UIViewController* mainTabBar; +@property (nonatomic, retain) IBOutlet UIView* incomingTabBar; +@property (nonatomic, retain) IBOutlet UIView* addCallTabBar; + +-(void) changeView: (NSNotification*) notif; +@end diff --git a/Classes/PhoneMainView.m b/Classes/PhoneMainView.m new file mode 100644 index 000000000..a442a3209 --- /dev/null +++ b/Classes/PhoneMainView.m @@ -0,0 +1,135 @@ +/* PhoneMainView.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 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 "PhoneMainView.h" +#import "CallHistoryTableViewController.h" +typedef enum _TabBar { + TabBar_Main, + TabBar_END +} TabBar; + + +@interface ViewsDescription: NSObject{ + @public + UIViewController *content; + UIViewController *tabBar; + bool statusEnabled; +} +@end +@implementation ViewsDescription +@end + +@implementation PhoneMainView + +@synthesize statusBarView; +@synthesize contentView; +@synthesize tabBarView; + +@synthesize callTabBar; +@synthesize mainTabBar; +@synthesize incomingTabBar; +@synthesize addCallTabBar; + +- (void) changeView: (NSNotification*) notif { + PhoneView view = [[notif.userInfo objectForKey: @"PhoneView"] intValue]; + ViewsDescription *description = [viewDescriptions objectForKey:[NSNumber numberWithInt: view]]; + for (UIView *view in contentView.subviews) { + [view removeFromSuperview]; + } + for (UIView *view in tabBarView.subviews) { + [view removeFromSuperview]; + } + + [contentView addSubview: description->content.view]; + + CGRect contentFrame = contentView.frame; + if(description->statusEnabled) { + statusBarView.hidden = false; + contentFrame.origin.y = statusBarView.frame.size.height + statusBarView.frame.origin.y; + } else { + statusBarView.hidden = true; + contentFrame.origin.y = 0; + } + + + // Resize tabbar + CGRect tabFrame = tabBarView.frame; + tabFrame.origin.y += tabFrame.size.height; + tabFrame.origin.x += tabFrame.size.width; + tabFrame.size.height = description->tabBar.view.frame.size.height; + tabFrame.size.width = description->tabBar.view.frame.size.width; + tabFrame.origin.y -= tabFrame.size.height; + tabFrame.origin.x -= tabFrame.size.width; + tabBarView.frame = tabFrame; + for (UIView *view in description->tabBar.view.subviews) { + if(view.tag == -1) { + contentFrame.size.height = tabFrame.origin.y - contentFrame.origin.y + view.frame.origin.y; + } + } + + + // contentView.frame = contentFrame; + [tabBarView addSubview: description->tabBar.view]; +} + +-(void)viewDidLoad { + [super viewDidLoad]; + UIView *dumb; + + // Init view descriptions + viewDescriptions = [[NSMutableDictionary alloc] init]; + + // Load Bars + dumb = mainTabBar.view; + + // Main View + PhoneViewController* myPhoneViewController = [[PhoneViewController alloc] + initWithNibName:@"PhoneViewController" + bundle:[NSBundle mainBundle]]; + [myPhoneViewController loadView]; + ViewsDescription *mainViewDescription = [ViewsDescription alloc]; + mainViewDescription->content = myPhoneViewController; + mainViewDescription->tabBar = mainTabBar; + mainViewDescription->statusEnabled = true; + [viewDescriptions setObject:mainViewDescription forKey:[NSNumber numberWithInt: PhoneView_Main]]; + + // Call History View + CallHistoryTableViewController* myCallHistoryTableViewController = [[CallHistoryTableViewController alloc] + initWithNibName:@"CallHistoryTableViewController" + bundle:[NSBundle mainBundle]]; + [myCallHistoryTableViewController loadView]; + ViewsDescription *callHistoryDescription = [ViewsDescription alloc]; + callHistoryDescription->content = myCallHistoryTableViewController; + callHistoryDescription->tabBar = mainTabBar; + callHistoryDescription->statusEnabled = true; + [viewDescriptions setObject:callHistoryDescription forKey:[NSNumber numberWithInt: PhoneView_CallHistory]]; + + // Set observer + [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeView:) name:@"LinphoneMainViewChange" object:nil]; + + // Change to default view + NSDictionary* dict = [NSDictionary dictionaryWithObject: [NSNumber numberWithInt:PhoneView_Main] forKey:@"PhoneView"]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneMainViewChange" object:self userInfo:dict]; +} + +- (void)dealloc { + [super dealloc]; + [[NSNotificationCenter defaultCenter] removeObserver:self]; +} +@end \ No newline at end of file diff --git a/Classes/PhoneMainView.xib b/Classes/PhoneMainView.xib index 794697522..7ee290cec 100644 --- a/Classes/PhoneMainView.xib +++ b/Classes/PhoneMainView.xib @@ -12,15 +12,10 @@ YES - IBProxyObject - IBUITabBarItem - IBUIViewController - IBUICustomObject - IBUITabBarController - IBUIWindow - IBUITabBar IBUIButton + IBUIViewController IBUIView + IBProxyObject YES @@ -40,20 +35,101 @@ IBFirstResponder IBCocoaTouchFramework - - IBCocoaTouchFramework - - + 292 YES - - + + + 274 + {320, 23} + + + + _NS:9 + + 3 + MQA + + 2 + + + YES + IBCocoaTouchFramework + + + + 314 + {{0, 23}, {320, 380}} + + + + _NS:9 + + 1 + MCAxIDAuMDkwOTI0NTczOTEgMAA + + YES + IBCocoaTouchFramework + + + + 280 + {{0, 400}, {320, 60}} + + + + _NS:9 + + 1 + MSAwLjI4MzE1ODM3MjYgMC4wNTY3ODY4OTE2MSAwAA + + YES + IBCocoaTouchFramework + + + {320, 460} + + + + _NS:9 + + 3 + MQA + + + IBCocoaTouchFramework + + + + 292 + + YES + + + -2147483356 + {320, 135} + + + + _NS:9 + + 3 + MQA + + + -1 + NO + IBCocoaTouchFramework + + + 292 {80, 67} - - + + + _NS:9 NO @@ -90,18 +166,19 @@ 2 15 - + Helvetica-Bold 15 16 - - + + 292 {{80, 0}, {80, 67}} - - + + + _NS:9 NO @@ -129,14 +206,15 @@ micro-OFF-actif.png - + - - + + 292 {{160, 0}, {80, 67}} - - + + + _NS:9 NO @@ -155,20 +233,21 @@ NSImage speacker-ON-over.png - + NSImage speacker-OFF-actif.png - + - + - - + + 292 {{240, 0}, {80, 67}} - - + + + _NS:9 NO @@ -183,24 +262,25 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + NSImage add-call-over.png - + NSImage add-call-actif.png - + - - + + 264 {{0, 67}, {105, 68}} - - + + + _NS:9 NO @@ -215,7 +295,7 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + NSImage pause-over.png @@ -223,16 +303,17 @@ NSImage pause-actif.png - + - + - - + + 264 {{105, 67}, {111, 68}} - - + + + _NS:9 NO @@ -247,7 +328,7 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + NSImage raccrocher-over.png @@ -255,15 +336,16 @@ NSImage raccrocher-actif.png - + - + - - + + 264 {{215, 67}, {105, 68}} - + + _NS:9 NO @@ -279,7 +361,7 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - + NSImage dialer-meteo-sortir-over.png @@ -287,14 +369,15 @@ NSImage dialer-meteo-sortir-actif.png - + - + {320, 135} - + + _NS:9 1 @@ -303,335 +386,35 @@ NO IBCocoaTouchFramework - + 292 YES - - - 292 - {64, 72} - - - _NS:9 - NO - - History - - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - history-over.png - - - NSImage - history-selectionne.png - - - NSImage - history-actif.png - - - - - - - 292 - {{64, 0}, {64, 72}} - - - _NS:9 - NO - - Contacts - - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - contacts-over.png - - - NSImage - contacts-selectionne.png - - - NSImage - contacts-actif.png - - - - - - - 292 - {{128, 0}, {64, 72}} - - - _NS:9 - NO - - Dialer - - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - dialer-over.png - - - NSImage - dialer-actif.png - - - - - - - - 292 - {{192, 0}, {64, 72}} - - - _NS:9 - NO - - Settings - - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - settings-over.png - - - NSImage - settings-selectionne.png - - - NSImage - settings-actif.png - - - - - - - 292 - {{256, 0}, {64, 72}} - - - _NS:9 - NO - - Tchat - - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - - NSImage - tchat-over.png - - - NSImage - tchat-selectionne.png - - - NSImage - tchat-actif.png - - - - - - {320, 72} - - - _NS:9 - - 1 - MCAxIDAuMTkxOTQ1NDc1NSAwAA - - NO - IBCocoaTouchFramework - - - - 1316 - - YES - - - 1316 - {{0, 20}, {320, 400}} - - + + + -2147483356 + {{0, 9}, {320, 67}} + + + _NS:9 3 MQA - - 2 - + - YES + -1 + NO IBCocoaTouchFramework - - - {320, 480} - - - - 1 - MSAxIDEAA - - NO - NO - - IBCocoaTouchFramework - - - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - History - - History - - NSImage - history-orange.png - - IBCocoaTouchFramework - - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - YES - - - - Dialer - - NSImage - dialer-orange.png - - IBCocoaTouchFramework - - - PhoneViewController - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - - IBCocoaTouchFramework - 5 - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - - - IBCocoaTouchFramework - 0 - - - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - - - -2147483382 - {{0, 431}, {320, 49}} - - - - 3 - MCAwAA - - NO - IBCocoaTouchFramework - - - - - 292 - - YES - - + + 292 {160, 77} - - + + + _NS:9 NO @@ -655,13 +438,14 @@ decrocher-actif.png - + - - + + 292 {{160, 0}, {160, 77}} - + + _NS:9 NO @@ -686,12 +470,13 @@ refuser-actif.png - + {320, 77} - + + _NS:9 1 @@ -700,17 +485,35 @@ NO IBCocoaTouchFramework - + 292 YES - - + + + -2147483356 + {{0, 7}, {320, 65}} + + + + _NS:9 + + 3 + MQA + + + -1 + NO + IBCocoaTouchFramework + + + 292 {128, 72} - - + + + _NS:9 NO @@ -734,13 +537,14 @@ contact-actif-add-call.png - + - - + + 292 {{192, 0}, {128, 72}} - + + _NS:9 NO @@ -765,14 +569,15 @@ cancel-actif.png - + - - + + 292 {{128, 0}, {64, 72}} - - + + + _NS:9 NO @@ -787,16 +592,23 @@ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - + + NSImage + dialer-over.png + + + NSImage + dialer-actif.png + + - + {320, 72} - + + _NS:9 1 @@ -805,41 +617,83 @@ NO IBCocoaTouchFramework + + NO + + + 1 + 1 + + IBCocoaTouchFramework + NO + YES - delegate + view - + - 6 + 158 - window - - + tabBarView + + - 7 + 160 - myTabBarController - - - - 14 - - - - myContentView - + contentView + - 55 + 159 + + + + addCallTabBar + + + + 164 + + + + callTabBar + + + + 165 + + + + incomingTabBar + + + + 166 + + + + statusBarView + + + + 176 + + + + mainTabBar + + + + 180 @@ -853,110 +707,139 @@ - - 2 - - - YES - - - - window - -1 File's Owner - - 4 - - - linphoneAppDelegate - -2 - 8 - + 111 + YES - - - - - + + + + + + + + + callTabBar - 9 - - + 118 + + + video - 11 - + 120 + + + micro + + + 122 + + + addCall + + + 121 + + + speaker + + + 117 + + + pause + + + 116 + + + hangup + + + 114 + + + back + + + 123 + YES - + + + - + + incomingTabBar + + + 129 + + + YES + + + + + + + addCallTabBar + + + 130 + + + cancel + + + 131 + + contacts - 12 - - - - - 38 - - - YES - - - + 133 + + dialer - 39 - - - - - 41 - + 152 + YES - + + + - - history + + root - 42 - - - - - 43 - + 135 + YES - - - more - - - 44 - - + + tabBar 53 @@ -964,163 +847,53 @@ YES - + content - 50 - - - YES - - - - - - - - mainTabBar - - - 58 - - - settings - - - 59 - - - tchat - - - 60 - - - contacts - - - 57 - - - dialer - - - 56 - - - history - - - 111 - - - YES - - - - - - - - - - callTabBar - - - 118 - - - video - - - 120 - - - micro - - - 122 - - - addCall - - - 121 - - - speaker - - - 117 - - - pause - - - 116 - - - hangup - - - 114 - - - back - - - 123 - - - YES - - - - - incomingTabBar - - - 124 - - - accept + 169 + + + mask 127 - - + + decline - 129 - + 170 + YES - - - + + mask + + + 172 + + + mask + + + 124 + + + accept + + + 175 + + + statusBar + + + 178 + - addCallTabBar - - - 130 - - - cancel - - - 131 - - - contacts - - - 133 - - - dialer + LinphoneMainBar @@ -1132,7 +905,6 @@ -1.IBPluginDependency -2.CustomClassName -2.IBPluginDependency - 11.IBPluginDependency 111.IBPluginDependency 114.IBPluginDependency 114.IBUIButtonInspectorSelectedStateConfigurationMetadataKey @@ -1142,7 +914,6 @@ 117.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 118.IBPluginDependency 118.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 12.IBPluginDependency 120.IBPluginDependency 120.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 121.IBPluginDependency @@ -1161,43 +932,25 @@ 131.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 133.IBPluginDependency 133.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 2.IBAttributePlaceholdersKey - 2.IBPluginDependency - 38.CustomClassName - 38.IBPluginDependency - 39.IBPluginDependency - 4.CustomClassName - 4.IBPluginDependency - 41.CustomClassName - 41.IBPluginDependency - 42.IBPluginDependency - 43.CustomClassName - 43.IBPluginDependency - 44.IBPluginDependency - 50.IBPluginDependency + 135.IBPluginDependency + 152.IBPluginDependency + 169.IBPluginDependency + 170.IBPluginDependency + 172.IBPluginDependency + 175.CustomClassName + 175.IBPluginDependency + 178.CustomClassName + 178.IBPluginDependency 53.IBPluginDependency - 56.IBPluginDependency - 56.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 57.IBPluginDependency - 57.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 58.IBPluginDependency - 58.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 59.IBPluginDependency - 59.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 60.IBPluginDependency - 60.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 8.IBPluginDependency - 9.IBPluginDependency YES - UIApplication + PhoneMainView com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1206,7 +959,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1224,35 +976,14 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - YES - - - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - PhoneViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - linphoneAppDelegate - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - CallHistoryTableViewController - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - MoreViewController com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + LinphoneStatusBar com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - + LinphoneMainBar com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1269,9 +1000,147 @@ - 133 + 181 + + + + YES + + LinphoneMainBar + UIViewController + + YES + + YES + dialerButton + historyButton + + + YES + UIButton + UIButton + + + + YES + + YES + dialerButton + historyButton + + + YES + + dialerButton + UIButton + + + historyButton + UIButton + + + + + IBProjectSource + ./Classes/LinphoneMainBar.h + + + + LinphoneStatusBar + UIView + + test + UIView + + + test + + test + UIView + + + + IBProjectSource + ./Classes/LinphoneStatusBar.h + + + + PhoneMainView + UIViewController + + YES + + YES + addCallTabBar + callTabBar + contentView + incomingTabBar + mainTabBar + statusBarView + tabBarView + + + YES + UIView + UIView + UIView + UIView + UIViewController + UIView + UIView + + + + YES + + YES + addCallTabBar + callTabBar + contentView + incomingTabBar + mainTabBar + statusBarView + tabBarView + + + YES + + addCallTabBar + UIView + + + callTabBar + UIView + + + contentView + UIView + + + incomingTabBar + UIView + + + mainTabBar + UIViewController + + + statusBarView + UIView + + + tabBarView + UIView + + + + + IBProjectSource + ./Classes/PhoneMainView.h + + + - 0 IBCocoaTouchFramework @@ -1298,20 +1167,12 @@ cancel-over.png contact-actif-add-call.png contact-over-add-call.png - contacts-actif.png - contacts-over.png - contacts-selectionne.png decrocher-actif.png decrocher-over.png dialer-actif.png dialer-meteo-sortir-actif.png dialer-meteo-sortir-over.png - dialer-orange.png dialer-over.png - history-actif.png - history-orange.png - history-over.png - history-selectionne.png micro-OFF-actif.png micro-ON-actif.png micro-ON-over.png @@ -1321,14 +1182,8 @@ raccrocher-over.png refuser-actif.png refuser-over.png - settings-actif.png - settings-over.png - settings-selectionne.png speacker-OFF-actif.png speacker-ON-over.png - tchat-actif.png - tchat-over.png - tchat-selectionne.png video-OFF-actif.png video-ON-actif.png video-ON-over.png @@ -1341,20 +1196,12 @@ {254, 144} {254, 144} {254, 144} - {127, 144} - {127, 144} - {127, 144} {320, 154} {320, 154} {132, 144} {209, 136} {209, 136} - {25, 24} {132, 144} - {127, 144} - {25, 23} - {127, 144} - {127, 144} {160, 134} {160, 134} {160, 134} @@ -1364,14 +1211,8 @@ {222, 136} {320, 154} {320, 154} - {127, 144} - {127, 144} - {127, 144} {160, 134} {160, 134} - {127, 144} - {127, 144} - {127, 144} {160, 134} {160, 134} {160, 134} diff --git a/Classes/PhoneViewController.xib b/Classes/PhoneViewController.xib index f73195a6e..0cc9a7acc 100644 --- a/Classes/PhoneViewController.xib +++ b/Classes/PhoneViewController.xib @@ -12,8 +12,8 @@ YES - IBUIViewController IBUIButton + IBUIImageView IBUIView IBUITextField IBProxyObject @@ -36,492 +36,598 @@ IBFirstResponder IBCocoaTouchFramework - - - - 292 - - YES - - - 292 - - YES - - - 292 - {{254, 0}, {66, 81}} - - - NO - IBCocoaTouchFramework - 0 - 0 - - 3 - MQA - - - 1 - MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA - - - 3 - MC41AA - - - NSImage - effacer.png - - - Helvetica-Bold - Helvetica - 2 - 15 - - - Helvetica-Bold - 15 - 16 - + + + 292 + + YES + + + 292 + + YES + + + 292 + {105, 72} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + 3 + MQA - - - 292 - {{0, 1}, {255, 80}} - - - - NO - NO - IBCocoaTouchFramework - 0 - - sip: - - 3 - MAA - - YES - 15 - - 1 - 3 - IBCocoaTouchFramework - - 1 - - Helvetica - Helvetica - 0 - 36 - - - Helvetica - 36 - 16 - + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + add-contact-over.png + + + NSImage + add-contact-inactif.png + + + NSImage + add-contact-actif.png + + + 2 + 15 + + + Helvetica-Bold + 15 + 16 - {320, 81} - - - - IBCocoaTouchFramework + + + 292 + {{105, 0}, {110, 72}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + appeler-over.png + + + NSImage + appeler-actif.png + + + + + + + 292 + {{215, 0}, {105, 72}} + + + _NS:9 + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + backspace-over.png + + + NSImage + backspace-actif.png + + + + - - - 292 - {255, 20} - - - _NS:196 - - 3 - MCAwAA + {{0, 293}, {320, 72}} + + + _NS:9 + + 3 + MQA + + 2 - IBCocoaTouchFramework - - - - 292 - {{0, 81}, {107, 66}} - - - - 1 - MC40MDAwMDAwMSAxIDEgMAA - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - clavier-01-106px.png - - - - - - - 292 - {{107, 81}, {106, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 2 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - clavier-01-108px.png - - - - - - - 292 - {{213, 81}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 3 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 147}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 147}, {106, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 147}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 213}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 213}, {106, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 213}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{0, 279}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{107, 279}, {106, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 0+ - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - - 292 - {{213, 279}, {107, 66}} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - + IBCocoaTouchFramework + + + + 292 + + YES + + + 292 + {320, 259} + + + _NS:9 + NO + + + + IBCocoaTouchFramework + + NSImage + fond-clavier.png + + + + + 292 + {{0, 11}, {107, 54}} + + + + 1 + MC40MDAwMDAwMSAxIDEgMAA + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 1-over.png + + + NSImage + 1-actif.png + + + Helvetica-Bold + Helvetica + 2 + 15 + + + + + + 292 + {{107, 11}, {106, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 2-over.png + + + NSImage + 2-actif.png + + + + + + + 292 + {{213, 11}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 3-actif.png + + + + + + + 292 + {{0, 73}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 4-over.png + + + NSImage + 4-actif.png + + + + + + + 292 + {{107, 73}, {106, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 5-over.png + + + NSImage + 5-actif.png + + + + + + + 292 + {{0, 135}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 7-over.png + + + NSImage + 7-actif.png + + + + + + + 292 + {{213, 73}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 6-over.png + + + NSImage + 6-actif.png + + + + + + + 292 + {{107, 135}, {106, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 8-over.png + + + NSImage + 8-actif.png + + + + + + + 292 + {{213, 135}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 9-over.png + + + NSImage + 9-actif.png + + + + + + + 292 + {{0, 197}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + etoile-over.png + + + NSImage + etoile-actif.png + + + + + + + 292 + {{107, 197}, {106, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + 0-over.png + + + NSImage + 0-actif.png + + + + + + + 292 + {{213, 197}, {107, 54}} + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + NSImage + diese-over.png + + + NSImage + diese-actif.png + + + + + + {{0, 58}, {320, 260}} + + + _NS:9 + + 3 + MQA + + + IBCocoaTouchFramework + + + + 292 + + YES + + + 292 + {320, 80} + + + _NS:9 + NO + IBCocoaTouchFramework + + NSImage + champ-saisie-numero.png + + + + + 292 + {320, 60} + + + + 3 + MSAwAA + + NO + NO + IBCocoaTouchFramework + 0 + + sip: + + YES + 15 + + 1 + 3 + IBCocoaTouchFramework + + 1 + + Helvetica + Helvetica + 0 + 36 + + + Helvetica + 36 + 16 + + + + {320, 80} + + + _NS:9 + + 3 + MSAwAA + + + YES + IBCocoaTouchFramework - {{0, 20}, {320, 460}} - - - - 5 - IBCocoaTouchFramework - - - 1 - 1 - - IBCocoaTouchFramework - NO - - - - 292 - {320, 66} + {320, 460} - - NO - NO + + _NS:9 + + 2 + MC4wMjc0NTA5ODI0OCAwLjYwNzg0MzE2MDYgMSAwAA + IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - NSImage - startcall-gray.png - - - NSImage - startcall-green.png - - - NSImage - clavier-01-160px.png - - - - - - - - 292 - {160, 66} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - 1 - Back - - - 1 - MC4xOTYwNzg0MzE0IDAuMzA5ODAzOTIxNiAwLjUyMTU2ODYyNzUAA - - - - - 2 - 2 - - - Helvetica-Bold - 18 - 16 - - - - - 292 - {160, 66} - - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - - - YES + + + view + + + + 176 + address @@ -532,11 +638,35 @@ - view + hash - + - 25 + 46 + + + + zero + + + + 54 + + + + star + + + + 51 + + + + nine + + + + 47 @@ -546,6 +676,22 @@ 43 + + + six + + + + 50 + + + + seven + + + + 49 + five @@ -562,54 +708,6 @@ 45 - - - hash - - - - 46 - - - - nine - - - - 47 - - - - one - - - - 48 - - - - seven - - - - 49 - - - - six - - - - 50 - - - - star - - - - 51 - three @@ -628,59 +726,27 @@ - zero + one - + - 54 + 48 dialerView - + - 158 - - - - statusViewHolder - - - - 169 + 181 erase - + - 151 - - - - callLarge - - - - 164 - - - - backToCallView - - - - 161 - - - - callShort - - - - 163 + 186 @@ -714,142 +780,169 @@ - 80 - + 171 + YES - + + + + view - 1 - + 178 + YES - - - - - - - - - - - - - - - - - - - 38 - - - - - 37 - - - - - 29 - - - - - 39 - - - - - 35 - - - - - 41 - - - - - 40 - - - - - 36 - - - - - 34 - - - - - 33 - - - - - 31 - - - - - 30 - - - - - 157 - - - YES - + - - Dialer + + dialer 4 - - Address + + address - 165 - - - status_view + 179 + + + background - 150 - - - Erase + 180 + + + YES + + + + + + + + + + + + + + + + pad - 162 - - - Call-large + 41 + + + # - 160 - - - back + 40 + + + 0 - 5 - - - Call-short + 39 + + + * + + + 36 + + + 9 + + + 35 + + + 8 + + + 33 + + + 6 + + + 34 + + + 7 + + + 31 + + + 5 + + + 30 + + + 4 + + + 29 + + + 3 + + + 37 + + + 2 + + + 38 + + + 1 + + + 177 + + + background + + + 182 + + + YES + + + + + + toolBar + + + 183 + + + addContact + + + 184 + + + call + + + 185 + + + backspace @@ -861,45 +954,55 @@ -1.IBPluginDependency -2.CustomClassName -2.IBPluginDependency - 1.IBPluginDependency - 1.IBUserGuides - 150.CustomClassName - 150.IBPluginDependency - 157.IBPluginDependency - 160.IBPluginDependency - 162.CustomClassName - 162.IBPluginDependency - 162.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 165.IBPluginDependency + 171.IBPluginDependency + 177.IBPluginDependency + 178.IBPluginDependency + 179.IBPluginDependency + 180.IBPluginDependency + 182.IBPluginDependency + 183.IBPluginDependency + 183.IBUIButtonInspectorSelectedStateConfigurationMetadataKey + 184.IBPluginDependency + 184.IBUIButtonInspectorSelectedStateConfigurationMetadataKey + 185.CustomClassName + 185.IBPluginDependency + 185.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 29.CustomClassName 29.IBPluginDependency 30.CustomClassName 30.IBPluginDependency + 30.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 31.CustomClassName 31.IBPluginDependency + 31.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 33.CustomClassName 33.IBPluginDependency + 33.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 34.CustomClassName 34.IBPluginDependency + 34.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 35.CustomClassName 35.IBPluginDependency + 35.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 36.CustomClassName 36.IBPluginDependency + 36.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 37.CustomClassName 37.IBPluginDependency + 37.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 38.CustomClassName 38.IBPluginDependency + 38.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 39.CustomClassName 39.IBPluginDependency + 39.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 4.IBPluginDependency 40.CustomClassName 40.IBPluginDependency + 40.IBUIButtonInspectorSelectedStateConfigurationMetadataKey 41.CustomClassName 41.IBPluginDependency - 5.CustomClassName - 5.IBPluginDependency - 5.IBUIButtonInspectorSelectedStateConfigurationMetadataKey - 80.IBPluginDependency + 41.IBUIButtonInspectorSelectedStateConfigurationMetadataKey YES @@ -908,56 +1011,54 @@ UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - YES - - - 412 - 1 - - - - 65 - 1 - - + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIEraseButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UICallButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + UIDigitButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIDigitButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UIDigitButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - UICallButton - com.apple.InterfaceBuilder.IBCocoaTouchPlugin - - com.apple.InterfaceBuilder.IBCocoaTouchPlugin + @@ -972,7 +1073,7 @@ - 169 + 186 0 @@ -995,21 +1096,73 @@ YES YES - clavier-01-106px.png - clavier-01-108px.png - clavier-01-160px.png - effacer.png - startcall-gray.png - startcall-green.png + 0-actif.png + 0-over.png + 1-actif.png + 1-over.png + 2-actif.png + 2-over.png + 3-actif.png + 4-actif.png + 4-over.png + 5-actif.png + 5-over.png + 6-actif.png + 6-over.png + 7-actif.png + 7-over.png + 8-actif.png + 8-over.png + 9-actif.png + 9-over.png + add-contact-actif.png + add-contact-inactif.png + add-contact-over.png + appeler-actif.png + appeler-over.png + backspace-actif.png + backspace-over.png + champ-saisie-numero.png + diese-actif.png + diese-over.png + etoile-actif.png + etoile-over.png + fond-clavier.png YES - {106, 60} - {108, 60} - {160, 60} - {66, 65} - {60, 52} - {60, 52} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {210, 113} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {220, 113} + {220, 113} + {210, 113} + {210, 113} + {210, 143} + {210, 143} + {210, 143} + {220, 143} + {220, 143} + {210, 143} + {210, 143} + {640, 135} + {210, 113} + {210, 113} + {210, 113} + {210, 113} + {640, 523} 1181 diff --git a/Resources/add-contact-actif.png b/Resources/add-contact-actif.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3f3f6c0b692118418ae0c8b40134434d758730 GIT binary patch literal 4832 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 literal 0 HcmV?d00001 diff --git a/Resources/add-contact-over.png b/Resources/add-contact-over.png new file mode 100644 index 0000000000000000000000000000000000000000..8bc6a0fac23d3f6b3a9ea2476e836c9ddc50d9ea GIT binary patch literal 4798 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 literal 0 HcmV?d00001 diff --git a/Resources/appeler-actif.png b/Resources/appeler-actif.png new file mode 100644 index 0000000000000000000000000000000000000000..08f8cc94801d1dc293348a31db3db88dc3302090 GIT binary patch literal 9538 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 O`k5G>GAPq`y7n(X7CRCE literal 0 HcmV?d00001 diff --git a/Resources/backspace-actif.png b/Resources/backspace-actif.png new file mode 100644 index 0000000000000000000000000000000000000000..387b1ef839d23867c7a610737fbca04e0c9cda94 GIT binary patch literal 4693 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 PA3X;8Cb$QBjuHO>Noy4W literal 0 HcmV?d00001 diff --git a/Resources/backspace-over.png b/Resources/backspace-over.png new file mode 100644 index 0000000000000000000000000000000000000000..8408dae753f985b03ac4a598833616a0c6985fdf GIT binary patch literal 4716 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 literal 0 HcmV?d00001 diff --git a/Resources/barre-noire-top.png b/Resources/barre-noire-top.png new file mode 100644 index 0000000000000000000000000000000000000000..001991fb081f749d6f8bfc8f63f87255366d1750 GIT binary patch literal 1218 zcmbVLU1$_n6uuh`XfQU=f~lZfM``oWow;}RXLcr8r^&4C=D9b&+~lBb z<+tXfcYS;{a56=Ph&IT;m;YDUtKoRvz&QV&~pLu$At>FL@`w~Iv^Vih$Y2K9ov z=gs#fpxX4P7dAZ~s*@R5F-+Ty?f83Es?|tfpCOhWcn<9JSFzX8M`<}H>$reZD|P4e ztXRmUGTC${jWcPH>te0{(=&l3BgDh;pJC}eu?dW?tE111)#V{B+n9i@#>)#ks%)*^ zmbF4XdOF=0?!Vml=;FDfC`udvm%crU2K3t_!}kDe>kmd&odbGe5M2KL+ON%#Z6+9M z?;3>(02)J&ZZ6N=d4j%V3(uDS#vkE_?Ng(l#IE62&zH47ckZj}{jo1T)f2B@Jl@>+ zefwc%44pswxBBe%*H=$(-S$oFU30!#yz+&K6YqZjukYhQ0Jhw^+WwT^{r<;d|4HY& pMn`ZBWF2#&wEQywzdh^&e_g*jziH{+yZ#e#Sh+Nz{Zwq6`v<^sXzKs~ literal 0 HcmV?d00001 diff --git a/Resources/champ-saisie-numero.png b/Resources/champ-saisie-numero.png new file mode 100644 index 0000000000000000000000000000000000000000..78be45dbfbf1eee7d15756f2e2bcbad46108477d GIT binary patch literal 5001 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

g-iO^ltY8mOM&h z?+uxb>N|z#-;dOLKAR_OVBR`Ke-hqMxGQ-_$kXbD>ecZ1i0&wn*_P4gGs~|ZcR$0} z?5w@dL`BG%Og`S>E-aV$&>SaopzFs|D%+spUiTXqVK%dnAsV5)Nj|r&Vu9VO znrEM1?aWtS+ta01RafS#pPf)jm%7b%NA={FJocF{O)sx_X+cF!rFznnsytsVB&fA} zZ7N@Fjk7M-m#-G`=E7%e)~Z#4i+4f3ItG-e53j zRGGAn*3y|;U1qw@keij6OVg^zml~>hDywp5Sc)UHV3)6Uc)jjit+t_|A)_HH!{wQ; z)#c>m;2fEm>EMxGx5(+W`O=+rY0(T8dtHU6+U>1&IaN5LZJz5zZ@wCkhFhq0mzLg3 z?5v9r1(a!hHn&!nL2GMkabJRWop*-)K8%NY*Of1F+qE<7b*>jZ6)=ygv}iDJ_veMM zBcREB+EWcfvDH{y6))D>o!%*yd^Mb8R908!(mErp(;4)%A(PHF>U4$0W^<0oY$(n) z8|a)uT{OqTV$Bn1i!pOTmN7fitkV_gj9D~Avp5<%#aZXIIV`U7`ckUeFI<$5QKz4jUGAI0fAzI(eEP{^DR&}sc5%rHf}~^$y7%+N!Q{aV z&*E*cWTlPoVqgC1RXy{~kZ$(F9r25OKXLJwx%ibkCO>QWtE~lc+FBZNo=v&7M8vtY zdbD4aU+G!ld8>9uG8*F znVk!zq3HS*wX@Z7;Uhurtk%hPN$N|-pJWHtDyW*Nm$?Jx6)#%h-Bk2@(I%mEN|o=( z&8y3OvHVBt&!U*_0yOQXu9Ub#uYbOImL8SFgT0g}yC}dud)W#;# zBEcwa?_l#A&Rw(9@g*Z(HEQM4Yc;QT6m2ZJ zIPJYEs>HarsN(Q@3s>%}oVC3SfQ*~7flq3S`=NX*3Y`wfo9P5`;p%02F~4&Et?U03 zi$3{>Irx|3ukAi_*omEVC=%Zn{8q%Ue=IupWFovDB6*#}Br( zwzMXlNI1dJOBwn!HPdP_!*emU>58FEJ8R(0BHJkG)TFmHV`r6Z@2D(1JOfr+eA5$O zGPFWQH3b-%vWB`M=}$_3ud~u0h*%e-)WrNO=|4LC97dtpm?F4_BTC?GVN-2;*!N=f z9~;wL+~DD|ga4*dO?!&Q&x-hJHNmA96Kg58a%xhz6z#mVo4XtTzPq0~v-M3$6qq7g zv9Rew>)}RhQY-OuJ|In*7HJY1ZPP6|{NJbaD~j|MecoHW?}`lyCw-O)uU7i}zJTd8 zW2A>6gnGN-9#gC;l#U+N6{ovU0h$n$=0h0n@|4hNbu&s@DDyfcTA)+!2d>u zo*&uX!@n&mp?8twRi2$l@2xVG&|~S|c-dHN8?9$du(bEEvGVpF_EN@p!?6aO5W9!S{Gvw>)qhRm9n7lcm0?pJk2TxE9 z3_n~!cM^jXJ3l4+Ge$LE_(fBzb@TFtewmG34+>=LA%-Slk3BQ&~s`q zrsaZM)79G?M*p$Djp@PBBAFqZ8=S)!`SUjaP-Oz3zie7>iQAg%wDD91CTw zflHKiM+f@m(9;sRQsK~ZpY(7rdPC`sElgUN?PSbFM1wc7hG+&^mqH7} zlvW}lT$sbaD)CWB4U<|w{+H)^P)`hZ zw?&K=z1Bf=Y-i;Rt^|#;X?q)S&d*@Yd#VSO&ElyjEo^eeK`^9Ao0ac7GOr1a)H4LmA~>H7kp3h==t72p6FS6M=J9B@O9 z8uuU>YD3G0DNr2o3Vo~> Q;r~-iDVlEi$iy`M4=^vlPyhe` literal 0 HcmV?d00001 diff --git a/linphone-Info.plist b/linphone-Info.plist index 45828b413..e0ae92cdc 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -30,7 +30,7 @@ CFBundleVersion 1.3 NSMainNibFile - PhoneMainView + LinphoneApp NSMainNibFile~ipad MainScreenWithVideoPreview UIApplicationExitsOnSuspend diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index d74ac0cf7..772028bb3 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -283,6 +283,34 @@ D3832801158100E400FA0D23 /* history-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D38327FD158100E400FA0D23 /* history-over.png */; }; D3832802158100E400FA0D23 /* settings-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D38327FE158100E400FA0D23 /* settings-over.png */; }; D3832803158100E400FA0D23 /* tchat-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D38327FF158100E400FA0D23 /* tchat-over.png */; }; + D3ED3E411585FB4A006C0DE4 /* fond-clavier.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E401585FB4A006C0DE4 /* fond-clavier.png */; }; + D3ED3E421585FB4A006C0DE4 /* fond-clavier.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E401585FB4A006C0DE4 /* fond-clavier.png */; }; + D3ED3E451585FB8C006C0DE4 /* champ-saisie-numero.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E441585FB8C006C0DE4 /* champ-saisie-numero.png */; }; + D3ED3E461585FB8C006C0DE4 /* champ-saisie-numero.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E441585FB8C006C0DE4 /* champ-saisie-numero.png */; }; + D3ED3E521585FFFD006C0DE4 /* barre-noire-top.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E511585FFFD006C0DE4 /* barre-noire-top.png */; }; + D3ED3E531585FFFD006C0DE4 /* barre-noire-top.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E511585FFFD006C0DE4 /* barre-noire-top.png */; }; + D3ED3E61158603F5006C0DE4 /* LinphoneStatusBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E60158603F5006C0DE4 /* LinphoneStatusBar.xib */; }; + D3ED3E62158603F5006C0DE4 /* LinphoneStatusBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E60158603F5006C0DE4 /* LinphoneStatusBar.xib */; }; + D3ED3E6515860404006C0DE4 /* LinphoneStatusBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E6415860404006C0DE4 /* LinphoneStatusBar.m */; }; + D3ED3E6615860404006C0DE4 /* LinphoneStatusBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E6415860404006C0DE4 /* LinphoneStatusBar.m */; }; + D3ED3E6A15861A53006C0DE4 /* add-contact-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6715861A53006C0DE4 /* add-contact-actif.png */; }; + D3ED3E6B15861A53006C0DE4 /* add-contact-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6715861A53006C0DE4 /* add-contact-actif.png */; }; + D3ED3E6C15861A53006C0DE4 /* add-contact-inactif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6815861A53006C0DE4 /* add-contact-inactif.png */; }; + D3ED3E6D15861A53006C0DE4 /* add-contact-inactif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6815861A53006C0DE4 /* add-contact-inactif.png */; }; + D3ED3E6E15861A53006C0DE4 /* add-contact-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6915861A53006C0DE4 /* add-contact-over.png */; }; + D3ED3E6F15861A53006C0DE4 /* add-contact-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E6915861A53006C0DE4 /* add-contact-over.png */; }; + D3ED3E7215861ABD006C0DE4 /* appeler-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7015861ABD006C0DE4 /* appeler-actif.png */; }; + D3ED3E7315861ABD006C0DE4 /* appeler-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7015861ABD006C0DE4 /* appeler-actif.png */; }; + D3ED3E7415861ABD006C0DE4 /* appeler-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7115861ABD006C0DE4 /* appeler-over.png */; }; + D3ED3E7515861ABD006C0DE4 /* appeler-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7115861ABD006C0DE4 /* appeler-over.png */; }; + D3ED3E7815861B1B006C0DE4 /* backspace-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7615861B1B006C0DE4 /* backspace-actif.png */; }; + D3ED3E7915861B1B006C0DE4 /* backspace-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7615861B1B006C0DE4 /* backspace-actif.png */; }; + D3ED3E7A15861B1B006C0DE4 /* backspace-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7715861B1B006C0DE4 /* backspace-over.png */; }; + D3ED3E7B15861B1B006C0DE4 /* backspace-over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E7715861B1B006C0DE4 /* backspace-over.png */; }; + D3ED3E871586291E006C0DE4 /* LinphoneMainBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E851586291B006C0DE4 /* LinphoneMainBar.m */; }; + D3ED3E881586291E006C0DE4 /* LinphoneMainBar.m in Sources */ = {isa = PBXBuildFile; fileRef = D3ED3E851586291B006C0DE4 /* LinphoneMainBar.m */; }; + D3ED3E891586291E006C0DE4 /* LinphoneMainBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E861586291C006C0DE4 /* LinphoneMainBar.xib */; }; + D3ED3E8A1586291E006C0DE4 /* LinphoneMainBar.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3ED3E861586291C006C0DE4 /* LinphoneMainBar.xib */; }; D3F83EEC1582021700336684 /* InCallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83EEA1582021700336684 /* InCallViewController.m */; }; D3F83EED1582021700336684 /* InCallViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83EEA1582021700336684 /* InCallViewController.m */; }; D3F83EEE1582021700336684 /* InCallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83EEB1582021700336684 /* InCallViewController.xib */; }; @@ -391,6 +419,10 @@ D3F83F891582278D00336684 /* contact-actif-add-call.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F821582278D00336684 /* contact-actif-add-call.png */; }; D3F83F8A1582278D00336684 /* contact-over-add-call.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F831582278D00336684 /* contact-over-add-call.png */; }; D3F83F8B1582278D00336684 /* contact-over-add-call.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F831582278D00336684 /* contact-over-add-call.png */; }; + D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; }; + D3F83F8F15822ABE00336684 /* PhoneMainView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F83F8D15822ABD00336684 /* PhoneMainView.m */; }; + D3F83F9215824D3600336684 /* LinphoneApp.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F9115824D3500336684 /* LinphoneApp.xib */; }; + D3F83F9315824D3600336684 /* LinphoneApp.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3F83F9115824D3500336684 /* LinphoneApp.xib */; }; F476004B147AAF2800FFF19B /* liblinphone.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB911475562600DEE054 /* liblinphone.a */; }; F476004C147AAF4600FFF19B /* libmediastreamer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2211DB8F147555C800DEE054 /* libmediastreamer.a */; }; /* End PBXBuildFile section */ @@ -788,6 +820,22 @@ D38327FD158100E400FA0D23 /* history-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "history-over.png"; path = "Resources/history-over.png"; sourceTree = ""; }; D38327FE158100E400FA0D23 /* settings-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "settings-over.png"; path = "Resources/settings-over.png"; sourceTree = ""; }; D38327FF158100E400FA0D23 /* tchat-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "tchat-over.png"; path = "Resources/tchat-over.png"; sourceTree = ""; }; + D3ED3E401585FB4A006C0DE4 /* fond-clavier.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "fond-clavier.png"; path = "Resources/fond-clavier.png"; sourceTree = ""; }; + D3ED3E441585FB8C006C0DE4 /* champ-saisie-numero.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "champ-saisie-numero.png"; path = "Resources/champ-saisie-numero.png"; sourceTree = ""; }; + D3ED3E511585FFFD006C0DE4 /* barre-noire-top.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "barre-noire-top.png"; path = "Resources/barre-noire-top.png"; sourceTree = ""; }; + D3ED3E60158603F5006C0DE4 /* LinphoneStatusBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LinphoneStatusBar.xib; sourceTree = ""; }; + D3ED3E6315860404006C0DE4 /* LinphoneStatusBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneStatusBar.h; sourceTree = ""; }; + D3ED3E6415860404006C0DE4 /* LinphoneStatusBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneStatusBar.m; sourceTree = ""; }; + D3ED3E6715861A53006C0DE4 /* add-contact-actif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "add-contact-actif.png"; path = "Resources/add-contact-actif.png"; sourceTree = ""; }; + D3ED3E6815861A53006C0DE4 /* add-contact-inactif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "add-contact-inactif.png"; path = "Resources/add-contact-inactif.png"; sourceTree = ""; }; + D3ED3E6915861A53006C0DE4 /* add-contact-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "add-contact-over.png"; path = "Resources/add-contact-over.png"; sourceTree = ""; }; + D3ED3E7015861ABD006C0DE4 /* appeler-actif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "appeler-actif.png"; path = "Resources/appeler-actif.png"; sourceTree = ""; }; + D3ED3E7115861ABD006C0DE4 /* appeler-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "appeler-over.png"; path = "Resources/appeler-over.png"; sourceTree = ""; }; + D3ED3E7615861B1B006C0DE4 /* backspace-actif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "backspace-actif.png"; path = "Resources/backspace-actif.png"; sourceTree = ""; }; + D3ED3E7715861B1B006C0DE4 /* backspace-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "backspace-over.png"; path = "Resources/backspace-over.png"; sourceTree = ""; }; + D3ED3E841586291B006C0DE4 /* LinphoneMainBar.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneMainBar.h; sourceTree = ""; }; + D3ED3E851586291B006C0DE4 /* LinphoneMainBar.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneMainBar.m; sourceTree = ""; }; + D3ED3E861586291C006C0DE4 /* LinphoneMainBar.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LinphoneMainBar.xib; sourceTree = ""; }; D3F83EE91582021700336684 /* InCallViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InCallViewController.h; sourceTree = ""; }; D3F83EEA1582021700336684 /* InCallViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InCallViewController.m; sourceTree = ""; }; D3F83EEB1582021700336684 /* InCallViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = InCallViewController.xib; sourceTree = ""; }; @@ -843,6 +891,9 @@ D3F83F811582278D00336684 /* cancel-over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "cancel-over.png"; path = "Resources/cancel-over.png"; sourceTree = ""; }; D3F83F821582278D00336684 /* contact-actif-add-call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "contact-actif-add-call.png"; path = "Resources/contact-actif-add-call.png"; sourceTree = ""; }; D3F83F831582278D00336684 /* contact-over-add-call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "contact-over-add-call.png"; path = "Resources/contact-over-add-call.png"; sourceTree = ""; }; + D3F83F8C158229C500336684 /* PhoneMainView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneMainView.h; sourceTree = ""; }; + D3F83F8D15822ABD00336684 /* PhoneMainView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneMainView.m; sourceTree = ""; }; + D3F83F9115824D3500336684 /* LinphoneApp.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LinphoneApp.xib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -970,6 +1021,7 @@ D3F83EE91582021700336684 /* InCallViewController.h */, D3F83EEA1582021700336684 /* InCallViewController.m */, D3F83EEB1582021700336684 /* InCallViewController.xib */, + D3F83F9115824D3500336684 /* LinphoneApp.xib */, 1D3623240D0F684500981E51 /* LinphoneAppDelegate.h */, 1D3623250D0F684500981E51 /* LinphoneAppDelegate.m */, 2214EB7012F84668002A5394 /* LinphoneUI */, @@ -979,6 +1031,8 @@ 22E0A81D111C44E100B04932 /* MoreViewController.h */, 22E0A81C111C44E100B04932 /* MoreViewController.m */, 22E0A81B111C44E100B04932 /* MoreViewController.xib */, + D3F83F8C158229C500336684 /* PhoneMainView.h */, + D3F83F8D15822ABD00336684 /* PhoneMainView.m */, D34734791580DDF1003C7B8C /* PhoneMainView.xib */, 3422AA5214978352000D4E8A /* PhoneViewController-ipad.xib */, 22F2508B107141E100AC9B3F /* PhoneViewController.h */, @@ -1205,35 +1259,41 @@ 2214EB7012F84668002A5394 /* LinphoneUI */ = { isa = PBXGroup; children = ( - 340751E5150F38FC00B89C47 /* UIToggleVideoButton.h */, - 340751E6150F38FD00B89C47 /* UIToggleVideoButton.m */, - 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */, - 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */, + 223963151393CFAE001DE689 /* FastAddressBook.h */, + 223963161393CFAF001DE689 /* FastAddressBook.m */, + D3ED3E841586291B006C0DE4 /* LinphoneMainBar.h */, + D3ED3E851586291B006C0DE4 /* LinphoneMainBar.m */, + D3ED3E861586291C006C0DE4 /* LinphoneMainBar.xib */, 2248E99D12F801C200220D9C /* LinphoneManager.h */, 2248E99E12F801C200220D9C /* LinphoneManager.m */, - 2214EB7812F846B1002A5394 /* UICallButton.h */, - 2214EB7912F846B1002A5394 /* UICallButton.m */, - 2214EB8712F84EBB002A5394 /* UIHangUpButton.h */, - 2214EB8812F84EBB002A5394 /* UIHangUpButton.m */, - 2214EB8A12F84FE9002A5394 /* UILinphone.h */, - 2214EBD812F8558F002A5394 /* UIToggleButton.h */, - 2214EBD912F8558F002A5394 /* UIToggleButton.m */, - 2214EBF112F86360002A5394 /* UIMuteButton.h */, - 2214EBF212F86360002A5394 /* UIMuteButton.m */, - 22968A5D12F875C600588287 /* UISpeakerButton.h */, - 22968A5E12F875C600588287 /* UISpeakerButton.m */, - 22968A8612F87C2000588287 /* UIDuration.h */, - 22968A8712F87C2000588287 /* UIDuration.m */, + D3ED3E6315860404006C0DE4 /* LinphoneStatusBar.h */, + D3ED3E6415860404006C0DE4 /* LinphoneStatusBar.m */, + D3ED3E60158603F5006C0DE4 /* LinphoneStatusBar.xib */, 2218A5C412F9597B0088A667 /* LinphoneUIDelegates.h */, 2218A5CE12F973450088A667 /* LogView.h */, 22C7555E1317E59C007BC101 /* UIBluetoothButton.h */, 22C7555F1317E59C007BC101 /* UIBluetoothButton.m */, - 22BB1A67132FF16A005CD7AA /* UIEraseButton.h */, - 22BB1A68132FF16A005CD7AA /* UIEraseButton.m */, - 223963151393CFAE001DE689 /* FastAddressBook.h */, - 223963161393CFAF001DE689 /* FastAddressBook.m */, + 2214EB7812F846B1002A5394 /* UICallButton.h */, + 2214EB7912F846B1002A5394 /* UICallButton.m */, 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */, 22AA8B0013D83F6300B30535 /* UICamSwitch.m */, + 2248E90C12F7E4CF00220D9C /* UIDigitButton.h */, + 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */, + 22968A8612F87C2000588287 /* UIDuration.h */, + 22968A8712F87C2000588287 /* UIDuration.m */, + 22BB1A67132FF16A005CD7AA /* UIEraseButton.h */, + 22BB1A68132FF16A005CD7AA /* UIEraseButton.m */, + 2214EB8712F84EBB002A5394 /* UIHangUpButton.h */, + 2214EB8812F84EBB002A5394 /* UIHangUpButton.m */, + 2214EB8A12F84FE9002A5394 /* UILinphone.h */, + 2214EBF112F86360002A5394 /* UIMuteButton.h */, + 2214EBF212F86360002A5394 /* UIMuteButton.m */, + 22968A5D12F875C600588287 /* UISpeakerButton.h */, + 22968A5E12F875C600588287 /* UISpeakerButton.m */, + 2214EBD812F8558F002A5394 /* UIToggleButton.h */, + 2214EBD912F8558F002A5394 /* UIToggleButton.m */, + 340751E5150F38FC00B89C47 /* UIToggleVideoButton.h */, + 340751E6150F38FD00B89C47 /* UIToggleVideoButton.m */, ); path = LinphoneUI; sourceTree = ""; @@ -1393,14 +1453,6 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( - D3F83F801582278D00336684 /* cancel-actif.png */, - D3F83F811582278D00336684 /* cancel-over.png */, - D3F83F821582278D00336684 /* contact-actif-add-call.png */, - D3F83F831582278D00336684 /* contact-over-add-call.png */, - D3F83F741582253100336684 /* decrocher-actif.png */, - D3F83F751582253100336684 /* decrocher-over.png */, - D3F83F761582253100336684 /* refuser-actif.png */, - D3F83F771582253100336684 /* refuser-over.png */, D3F83F2C1582223B00336684 /* 0-actif.png */, D3F83F2D1582223B00336684 /* 0-over.png */, D3F83F2E1582223B00336684 /* 1-actif.png */, @@ -1421,55 +1473,49 @@ D3F83F3D1582223B00336684 /* 8-over.png */, D3F83F3E1582223B00336684 /* 9-actif.png */, D3F83F3F1582223B00336684 /* 9-over.png */, - D3F83F401582223B00336684 /* diese-actif.png */, - D3F83F411582223B00336684 /* diese-over.png */, - D3F83F421582223B00336684 /* etoile-actif.png */, - D3F83F431582223B00336684 /* etoile-over.png */, D3F83EF0158205A100336684 /* add-call-actif.png */, D3F83EF1158205A100336684 /* add-call-over.png */, - D3F83EF2158205A100336684 /* dialer-meteo-sortir-actif.png */, - D3F83EF3158205A100336684 /* dialer-meteo-sortir-over.png */, - D3F83EF4158205A100336684 /* micro-OFF-actif.png */, - D3F83EF5158205A100336684 /* micro-OFF-over.png */, - D3F83EF6158205A100336684 /* micro-ON-actif.png */, - D3F83EF7158205A100336684 /* micro-ON-over.png */, - D3F83EF8158205A100336684 /* pause-actif.png */, - D3F83EF9158205A100336684 /* pause-over.png */, - D3F83EFA158205A100336684 /* raccrocher-actif.png */, - D3F83EFB158205A100336684 /* raccrocher-over.png */, - D3F83EFC158205A100336684 /* speacker-OFF-actif.png */, - D3F83EFD158205A100336684 /* speacker-OFF-over.png */, - D3F83EFE158205A100336684 /* speacker-ON-actif.png */, - D3F83EFF158205A100336684 /* speacker-ON-over.png */, - D3F83F00158205A100336684 /* video-OFF-actif.png */, - D3F83F01158205A100336684 /* video-OFF-over.png */, - D3F83F02158205A100336684 /* video-ON-actif.png */, - D3F83F03158205A100336684 /* video-ON-over.png */, - D38327FC158100E400FA0D23 /* contacts-over.png */, - D38327FD158100E400FA0D23 /* history-over.png */, - D38327FE158100E400FA0D23 /* settings-over.png */, - D38327FF158100E400FA0D23 /* tchat-over.png */, - D38327EB1580FE3A00FA0D23 /* contacts-actif.png */, - D38327EC1580FE3A00FA0D23 /* contacts-selectionne.png */, - D38327ED1580FE3A00FA0D23 /* dialer-actif.png */, - D38327EE1580FE3A00FA0D23 /* dialer-over.png */, - D38327EF1580FE3A00FA0D23 /* settings-actif.png */, - D38327F01580FE3A00FA0D23 /* settings-selectionne.png */, - D38327F11580FE3A00FA0D23 /* tchat-actif.png */, - D38327F21580FE3A00FA0D23 /* tchat-selectionne.png */, - D347347C1580E5F8003C7B8C /* history-actif.png */, - D347347D1580E5F8003C7B8C /* history-selectionne.png */, + D3ED3E6715861A53006C0DE4 /* add-contact-actif.png */, + D3ED3E6815861A53006C0DE4 /* add-contact-inactif.png */, + D3ED3E6915861A53006C0DE4 /* add-contact-over.png */, 2211DBCA1476BE7300DEE054 /* ajouter.png */, + D3ED3E7015861ABD006C0DE4 /* appeler-actif.png */, + D3ED3E7115861ABD006C0DE4 /* appeler-over.png */, + D3ED3E7615861B1B006C0DE4 /* backspace-actif.png */, + D3ED3E7715861B1B006C0DE4 /* backspace-over.png */, + D3ED3E511585FFFD006C0DE4 /* barre-noire-top.png */, + D3F83F801582278D00336684 /* cancel-actif.png */, + D3F83F811582278D00336684 /* cancel-over.png */, + D3ED3E441585FB8C006C0DE4 /* champ-saisie-numero.png */, 225CB2E811ABB51000628906 /* clavier-01-106px.png */, 225CB2E911ABB51000628906 /* clavier-01-108px.png */, 225CB2ED11ABB65D00628906 /* clavier-01-160px.png */, 2211DBCB1476BE7300DEE054 /* clavier.png */, + D3F83F821582278D00336684 /* contact-actif-add-call.png */, + D3F83F831582278D00336684 /* contact-over-add-call.png */, 2211DBCC1476BE7300DEE054 /* contact.png */, 34C7646814CD51CD008E9607 /* contact_vide.png */, + D38327EB1580FE3A00FA0D23 /* contacts-actif.png */, + D38327FC158100E400FA0D23 /* contacts-over.png */, + D38327EC1580FE3A00FA0D23 /* contacts-selectionne.png */, + D3F83F741582253100336684 /* decrocher-actif.png */, + D3F83F751582253100336684 /* decrocher-over.png */, + D38327ED1580FE3A00FA0D23 /* dialer-actif.png */, + D3F83EF2158205A100336684 /* dialer-meteo-sortir-actif.png */, + D3F83EF3158205A100336684 /* dialer-meteo-sortir-over.png */, 34C7646A14CD5585008E9607 /* dialer-orange.png */, + D38327EE1580FE3A00FA0D23 /* dialer-over.png */, + D3F83F401582223B00336684 /* diese-actif.png */, + D3F83F411582223B00336684 /* diese-over.png */, 2211DBCD1476BE7300DEE054 /* effacer.png */, + D3F83F421582223B00336684 /* etoile-actif.png */, + D3F83F431582223B00336684 /* etoile-over.png */, + D3ED3E401585FB4A006C0DE4 /* fond-clavier.png */, 2211DBCE1476BE7300DEE054 /* grouper.png */, + D347347C1580E5F8003C7B8C /* history-actif.png */, 34C7646B14CD5585008E9607 /* history-orange.png */, + D38327FD158100E400FA0D23 /* history-over.png */, + D347347D1580E5F8003C7B8C /* history-selectionne.png */, 2211DBD01476BE7300DEE054 /* HP.png */, 2211DBCF1476BE7300DEE054 /* HP_inverse.png */, 22058C70116E305000B08DDD /* icone-linphone-57.png */, @@ -1481,6 +1527,10 @@ 8D1107310486CEB800E47090 /* linphone-Info.plist */, 2274550710700509006EC466 /* linphonerc */, 341FCA8D149798210084BC26 /* linphonerc-ipad */, + D3F83EF4158205A100336684 /* micro-OFF-actif.png */, + D3F83EF5158205A100336684 /* micro-OFF-over.png */, + D3F83EF6158205A100336684 /* micro-ON-actif.png */, + D3F83EF7158205A100336684 /* micro-ON-over.png */, 2211DBD21476BE7300DEE054 /* micro.png */, 2211DBD11476BE7300DEE054 /* micro_inverse.png */, 22E19E47138A67A000FBFE87 /* missed_call.png */, @@ -1489,11 +1539,24 @@ 2237D4081084D7A9001383EE /* oldphone-mono.wav */, 2242D91510D66BF300E9963F /* out_call.png */, 3485649E152C423F003FE041 /* out_call_video.png */, + D3F83EF8158205A100336684 /* pause-actif.png */, + D3F83EF9158205A100336684 /* pause-over.png */, 2211DBD41476BE7300DEE054 /* pause.png */, 2211DBD31476BE7300DEE054 /* pause_inactif.png */, + D3F83EFA158205A100336684 /* raccrocher-actif.png */, + D3F83EFB158205A100336684 /* raccrocher-over.png */, + D3F83F761582253100336684 /* refuser-actif.png */, + D3F83F771582253100336684 /* refuser-over.png */, 22F254801073D99800AC9B3F /* ringback.wav */, 70571E1913FABCB000CDD3C2 /* rootca.pem */, 34957F3E147D3FBF00DD7A09 /* secured.png */, + D38327EF1580FE3A00FA0D23 /* settings-actif.png */, + D38327FE158100E400FA0D23 /* settings-over.png */, + D38327F01580FE3A00FA0D23 /* settings-selectionne.png */, + D3F83EFC158205A100336684 /* speacker-OFF-actif.png */, + D3F83EFD158205A100336684 /* speacker-OFF-over.png */, + D3F83EFE158205A100336684 /* speacker-ON-actif.png */, + D3F83EFF158205A100336684 /* speacker-ON-over.png */, 3418844C14C6D1CE00EA48C7 /* startcall-gray.png */, 22226C11118197C0000CA27B /* startcall-green.png */, 1AE0A49314AC5C64002C99BD /* stat_sys_signal_0.png */, @@ -1506,7 +1569,14 @@ 3418845114C6F66F00EA48C7 /* status_orange.png */, 3418845214C6F66F00EA48C7 /* status_red.png */, 22226C13118197EC000CA27B /* stopcall-red.png */, + D38327F11580FE3A00FA0D23 /* tchat-actif.png */, + D38327FF158100E400FA0D23 /* tchat-over.png */, + D38327F21580FE3A00FA0D23 /* tchat-selectionne.png */, 344ABDE41483E596007420B6 /* unverified.png */, + D3F83F00158205A100336684 /* video-OFF-actif.png */, + D3F83F01158205A100336684 /* video-OFF-over.png */, + D3F83F02158205A100336684 /* video-ON-actif.png */, + D3F83F03158205A100336684 /* video-ON-over.png */, ); name = Resources; sourceTree = ""; @@ -1728,6 +1798,19 @@ D3F83F861582278D00336684 /* cancel-over.png in Resources */, D3F83F881582278D00336684 /* contact-actif-add-call.png in Resources */, D3F83F8A1582278D00336684 /* contact-over-add-call.png in Resources */, + D3F83F9215824D3600336684 /* LinphoneApp.xib in Resources */, + D3ED3E411585FB4A006C0DE4 /* fond-clavier.png in Resources */, + D3ED3E451585FB8C006C0DE4 /* champ-saisie-numero.png in Resources */, + D3ED3E521585FFFD006C0DE4 /* barre-noire-top.png in Resources */, + D3ED3E61158603F5006C0DE4 /* LinphoneStatusBar.xib in Resources */, + D3ED3E6A15861A53006C0DE4 /* add-contact-actif.png in Resources */, + D3ED3E6C15861A53006C0DE4 /* add-contact-inactif.png in Resources */, + D3ED3E6E15861A53006C0DE4 /* add-contact-over.png in Resources */, + D3ED3E7215861ABD006C0DE4 /* appeler-actif.png in Resources */, + D3ED3E7415861ABD006C0DE4 /* appeler-over.png in Resources */, + D3ED3E7815861B1B006C0DE4 /* backspace-actif.png in Resources */, + D3ED3E7A15861B1B006C0DE4 /* backspace-over.png in Resources */, + D3ED3E891586291E006C0DE4 /* LinphoneMainBar.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1849,6 +1932,19 @@ D3F83F871582278D00336684 /* cancel-over.png in Resources */, D3F83F891582278D00336684 /* contact-actif-add-call.png in Resources */, D3F83F8B1582278D00336684 /* contact-over-add-call.png in Resources */, + D3F83F9315824D3600336684 /* LinphoneApp.xib in Resources */, + D3ED3E421585FB4A006C0DE4 /* fond-clavier.png in Resources */, + D3ED3E461585FB8C006C0DE4 /* champ-saisie-numero.png in Resources */, + D3ED3E531585FFFD006C0DE4 /* barre-noire-top.png in Resources */, + D3ED3E62158603F5006C0DE4 /* LinphoneStatusBar.xib in Resources */, + D3ED3E6B15861A53006C0DE4 /* add-contact-actif.png in Resources */, + D3ED3E6D15861A53006C0DE4 /* add-contact-inactif.png in Resources */, + D3ED3E6F15861A53006C0DE4 /* add-contact-over.png in Resources */, + D3ED3E7315861ABD006C0DE4 /* appeler-actif.png in Resources */, + D3ED3E7515861ABD006C0DE4 /* appeler-over.png in Resources */, + D3ED3E7915861B1B006C0DE4 /* backspace-actif.png in Resources */, + D3ED3E7B15861B1B006C0DE4 /* backspace-over.png in Resources */, + D3ED3E8A1586291E006C0DE4 /* LinphoneMainBar.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1888,6 +1984,9 @@ 340751E7150F38FD00B89C47 /* UIToggleVideoButton.m in Sources */, 34216F401547EBCD00EA9777 /* VideoZoomHandler.m in Sources */, D3F83EEC1582021700336684 /* InCallViewController.m in Sources */, + D3F83F8E15822ABE00336684 /* PhoneMainView.m in Sources */, + D3ED3E6515860404006C0DE4 /* LinphoneStatusBar.m in Sources */, + D3ED3E871586291E006C0DE4 /* LinphoneMainBar.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1924,6 +2023,9 @@ 340751E8150F38FD00B89C47 /* UIToggleVideoButton.m in Sources */, 34216F411547EBCD00EA9777 /* VideoZoomHandler.m in Sources */, D3F83EED1582021700336684 /* InCallViewController.m in Sources */, + D3F83F8F15822ABE00336684 /* PhoneMainView.m in Sources */, + D3ED3E6615860404006C0DE4 /* LinphoneStatusBar.m in Sources */, + D3ED3E881586291E006C0DE4 /* LinphoneMainBar.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/main.m b/main.m index 48d5527bf..9452dda25 100644 --- a/main.m +++ b/main.m @@ -18,6 +18,7 @@ */ #import +#import "LinphoneAppDelegate.h" int main(int argc, char *argv[]) {