diff --git a/Classes/ContactsTableViewController.m b/Classes/ContactsTableViewController.m
index f03e74c18..ece60dc47 100644
--- a/Classes/ContactsTableViewController.m
+++ b/Classes/ContactsTableViewController.m
@@ -90,7 +90,7 @@ void sync_toc_address_book (ABAddressBookRef addressBook, CFDictionaryRef info,
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UIContactCell *cell = [tableView dequeueReusableCellWithIdentifier:@"UIContactCell"];
if (cell == nil) {
- cell = [[UIContactCell alloc] init];
+ cell = [[UIContactCell alloc] initWithIdentifier:@"UIContactCell"];
}
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section]]];
diff --git a/Classes/DialerViewController.xib b/Classes/DialerViewController.xib
index 5063349d6..c3ef74098 100644
--- a/Classes/DialerViewController.xib
+++ b/Classes/DialerViewController.xib
@@ -534,15 +534,15 @@
NO
NO
-
0
@@ -4948,9 +5053,12 @@ AAgAAAAIAAIACAACAAAAAgAAAAEAAQABAAE
3
{320, 339}
+ {640, 125}
{640, 125}
- {640, 135}
{640, 523}
+ {43, 50}
+ {43, 46}
+ {43, 46}
1181
diff --git a/Classes/LinphoneUI/UIConferenceHeader.h b/Classes/LinphoneUI/UIConferenceHeader.h
new file mode 100644
index 000000000..22b87cfaa
--- /dev/null
+++ b/Classes/LinphoneUI/UIConferenceHeader.h
@@ -0,0 +1,35 @@
+/* UIConferenceHeader.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
+
+#import "UIPauseButton.h"
+
+@interface UIConferenceHeader : UIViewController {
+ UIImageView *stateImage;
+ UIPauseButton *pauseButton;
+}
+
+@property (nonatomic, retain) IBOutlet UIImageView* stateImage;
+@property (nonatomic, retain) IBOutlet UIPauseButton *pauseButton;
+
++ (int)getHeight;
+- (void)update;
+
+@end
diff --git a/Classes/LinphoneUI/UIConferenceHeader.m b/Classes/LinphoneUI/UIConferenceHeader.m
new file mode 100644
index 000000000..240453ff8
--- /dev/null
+++ b/Classes/LinphoneUI/UIConferenceHeader.m
@@ -0,0 +1,51 @@
+/* UIConferenceHeader.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 "UIConferenceHeader.h"
+
+#import "LinphoneManager.h"
+
+@implementation UIConferenceHeader
+
+@synthesize stateImage;
+@synthesize pauseButton;
+
+- (id)init {
+ return [super initWithNibName:@"UIConferenceHeader" bundle:[NSBundle mainBundle]];
+}
+
+- (void)viewDidLoad {
+ [super viewDidLoad];
+ // Set selected+over background: IB lack !
+ [pauseButton setImage:[UIImage imageNamed:@"pause-champ-numero-over.png"]
+ forState:(UIControlStateHighlighted | UIControlStateSelected)];
+ [pauseButton setType:UIPauseButtonType_Conference call:nil];
+}
+
++ (int)getHeight {
+ return 50;
+}
+
+- (void)update {
+ [self view];
+ [stateImage setHidden:true];
+ [pauseButton update];
+}
+
+@end
diff --git a/Classes/LinphoneUI/UIConferenceHeader.xib b/Classes/LinphoneUI/UIConferenceHeader.xib
new file mode 100644
index 000000000..6839db24a
--- /dev/null
+++ b/Classes/LinphoneUI/UIConferenceHeader.xib
@@ -0,0 +1,277 @@
+
+
+
+ 1296
+ 11E53
+ 2182
+ 1138.47
+ 569.00
+
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ 1181
+
+
+ IBUIButton
+ IBUIImageView
+ IBUIView
+ IBProxyObject
+
+
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+
+
+ PluginDependencyRecalculationVersion
+
+
+
+
+ IBFilesOwner
+ IBCocoaTouchFramework
+
+
+ IBFirstResponder
+ IBCocoaTouchFramework
+
+
+
+ 292
+
+
+
+ 292
+ {320, 68}
+
+
+
+ _NS:9
+ NO
+ IBCocoaTouchFramework
+
+ NSImage
+ champ-titre-conference.png
+
+
+
+
+ 292
+ {{224, 14}, {25, 25}}
+
+
+ _NS:9
+ NO
+ IBCocoaTouchFramework
+
+
+
+ 292
+ {{216, 6}, {41, 41}}
+
+
+
+ _NS:9
+ NO
+ IBCocoaTouchFramework
+ 0
+ 0
+ NO
+ NO
+ 8
+ 8
+ 8
+ 8
+
+ 3
+ MC41AA
+
+
+ NSImage
+ play-champ-numero-over.png
+
+
+ NSImage
+ pause-champ-numero-actif.png
+
+
+ NSImage
+ play-champ-numero-actif.png
+
+
+ 2
+ 15
+
+
+ Helvetica-Bold
+ 15
+ 16
+
+
+
+ {320, 68}
+
+
+
+ _NS:9
+
+ 3
+ MQA
+
+ 2
+
+
+ NO
+ IBCocoaTouchFramework
+
+
+
+
+
+
+ view
+
+
+
+ 5
+
+
+
+ stateImage
+
+
+
+ 9
+
+
+
+ pauseButton
+
+
+
+ 14
+
+
+
+
+
+ 0
+
+
+
+
+
+ -1
+
+
+ File's Owner
+
+
+ -2
+
+
+
+
+ 4
+
+
+
+
+
+
+
+
+
+ 7
+
+
+ backgroundImage
+
+
+ 8
+
+
+ stateImage
+
+
+ 13
+
+
+ pauseButton
+
+
+
+
+ UIConferenceHeader
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ UIResponder
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ UIPauseButton
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+
+
+
+
+
+ 14
+
+
+
+
+ UIConferenceHeader
+ UIViewController
+
+ UIPauseButton
+ UIImageView
+
+
+
+ pauseButton
+ UIPauseButton
+
+
+ stateImage
+ UIImageView
+
+
+
+ IBProjectSource
+ ./Classes/UIConferenceHeader.h
+
+
+
+ UIPauseButton
+ UIToggleButton
+
+ IBProjectSource
+ ./Classes/UIPauseButton.h
+
+
+
+ UIToggleButton
+ UIButton
+
+ IBProjectSource
+ ./Classes/UIToggleButton.h
+
+
+
+
+ 0
+ IBCocoaTouchFramework
+
+ com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS
+
+
+ YES
+ 3
+
+ {640, 135}
+ {43, 50}
+ {43, 46}
+ {43, 46}
+
+ 1181
+
+
diff --git a/Classes/LinphoneUI/UIContactCell.h b/Classes/LinphoneUI/UIContactCell.h
index 5b2217399..d7376d0ad 100644
--- a/Classes/LinphoneUI/UIContactCell.h
+++ b/Classes/LinphoneUI/UIContactCell.h
@@ -30,4 +30,6 @@
- (void)update:(ABRecordRef) record;
+- (id)initWithIdentifier:(NSString*)identifier;
+
@end
diff --git a/Classes/LinphoneUI/UIContactCell.m b/Classes/LinphoneUI/UIContactCell.m
index 92dbee030..a0b292195 100644
--- a/Classes/LinphoneUI/UIContactCell.m
+++ b/Classes/LinphoneUI/UIContactCell.m
@@ -24,8 +24,8 @@
@synthesize firstNameLabel;
@synthesize lastNameLabel;
-- (id)init {
- if ((self = [super init]) != nil) {
+- (id)initWithIdentifier:(NSString*)identifier {
+ if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) {
NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"UIContactCell"
owner:self
options:nil];
diff --git a/Classes/LinphoneUI/UIHangUpButton.h b/Classes/LinphoneUI/UIHangUpButton.h
index d279493a3..596a81213 100644
--- a/Classes/LinphoneUI/UIHangUpButton.h
+++ b/Classes/LinphoneUI/UIHangUpButton.h
@@ -16,11 +16,13 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#import
+#import
@interface UIHangUpButton : UIButton {
}
+- (void)update;
+
@end
diff --git a/Classes/LinphoneUI/UIHangUpButton.m b/Classes/LinphoneUI/UIHangUpButton.m
index a7a291e61..bc7b5da2f 100644
--- a/Classes/LinphoneUI/UIHangUpButton.m
+++ b/Classes/LinphoneUI/UIHangUpButton.m
@@ -20,46 +20,91 @@
#import "UIHangUpButton.h"
#import "LinphoneManager.h"
+#import "private.h"
+
@implementation UIHangUpButton
--(void) touchUp:(id) sender {
- LinphoneCore* lc = [LinphoneManager getLc];
- if (!lc)
- return;
- LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]);
-
- if (call)
- linphone_core_terminate_call(lc,call);
- else if (linphone_core_is_in_conference(lc)) {
- linphone_core_terminate_conference(lc);
- } else {
- const MSList* calls = linphone_core_get_calls(lc);
- if (ms_list_size(calls) == 1
- && !linphone_call_params_local_conference_mode(linphone_call_get_current_params((LinphoneCall*)(calls->data)))) {
- //Only one call in the list, hangin up!
- linphone_core_terminate_call(lc,(LinphoneCall*)(calls->data));
- } else {
- ms_message("Cannot make a decision on which call to terminate");
- }
- }
++ (bool)isInConference:(LinphoneCall*) call {
+ if (!call)
+ return false;
+ return linphone_call_get_current_params(call)->in_conference;
}
-- (id)initWithFrame:(CGRect)frame {
++ (int)callCount:(LinphoneCore*) lc {
+ int count = 0;
+ const MSList* calls = linphone_core_get_calls(lc);
- self = [super initWithFrame:frame];
+ while (calls != 0) {
+ if (![UIHangUpButton isInConference:((LinphoneCall*)calls->data)]) {
+ count++;
+ }
+ calls = calls->next;
+ }
+ return count;
+}
+
+-(void) touchUp:(id) sender {
+ if([LinphoneManager isLcReady]) {
+ LinphoneCore* lc = [LinphoneManager getLc];
+ LinphoneCall* currentcall = linphone_core_get_current_call(lc);
+ if (linphone_core_is_in_conference(lc) || // In conference
+ (linphone_core_get_conference_size(lc) > 0 && [UIHangUpButton callCount:lc] == 0) // Only one conf
+ ) {
+ linphone_core_terminate_conference(lc);
+ } else if(currentcall != NULL) { // In a call
+ linphone_core_terminate_call(lc, currentcall);
+ } else {
+ const MSList* calls = linphone_core_get_calls(lc);
+ if (ms_list_size(calls) == 1) { // Only one call
+ linphone_core_terminate_call(lc,(LinphoneCall*)(calls->data));
+ }
+ }
+ }
+}
+
+- (void)myInit {
+ [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
+}
+
+- (id)init{
+ self = [super init];
if (self) {
- [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
+ [self myInit];
}
return self;
}
+
- (id)initWithCoder:(NSCoder *)decoder {
self = [super initWithCoder:decoder];
if (self) {
- [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside];
- }
+ [self myInit];
+ }
return self;
}
+- (id)initWithFrame:(CGRect)frame {
+ self = [super initWithFrame:frame];
+ if (self) {
+ [self myInit];
+ }
+ return self;
+}
+
+- (void)update {
+ if([LinphoneManager isLcReady]) {
+ LinphoneCore * lc = [LinphoneManager getLc];
+ if(linphone_core_get_calls_nb(lc) == 1 || // One call
+ linphone_core_get_current_call(lc) != NULL || // In call
+ linphone_core_is_in_conference(lc) || // In conference
+ (linphone_core_get_conference_size(lc) > 0 && [UIHangUpButton callCount:lc] == 0) // Only one conf
+ ) {
+ [self setEnabled:true];
+ return;
+ }
+ }
+ [self setEnabled:false];
+}
+
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
diff --git a/Classes/LinphoneUI/UIHistoryCell.h b/Classes/LinphoneUI/UIHistoryCell.h
index 2d7575d32..7500e1c8a 100644
--- a/Classes/LinphoneUI/UIHistoryCell.h
+++ b/Classes/LinphoneUI/UIHistoryCell.h
@@ -35,6 +35,8 @@
@property (nonatomic, retain) IBOutlet UIButton* detailsButton;
@property (nonatomic, retain) IBOutlet UIButton* deleteButton;
+- (id)initWithIdentifier:(NSString*)identifier;
+
- (IBAction)onDetails:(id) event;
- (IBAction)onDelete:(id) event;
diff --git a/Classes/LinphoneUI/UIHistoryCell.m b/Classes/LinphoneUI/UIHistoryCell.m
index 4b6ba19d1..81dafdde6 100644
--- a/Classes/LinphoneUI/UIHistoryCell.m
+++ b/Classes/LinphoneUI/UIHistoryCell.m
@@ -29,8 +29,8 @@
#define DETAILS_DISABLED
-- (id)init {
- if ((self = [super init]) != nil) {
+- (id)initWithIdentifier:(NSString*)identifier {
+ if ((self = [super initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier]) != nil) {
NSArray *arrayOfViews = [[NSBundle mainBundle] loadNibNamed:@"UIHistoryCell"
owner:self
options:nil];
diff --git a/Classes/LinphoneUI/UIPauseButton.h b/Classes/LinphoneUI/UIPauseButton.h
index 963378287..105b8b828 100644
--- a/Classes/LinphoneUI/UIPauseButton.h
+++ b/Classes/LinphoneUI/UIPauseButton.h
@@ -19,7 +19,20 @@
#import "UIToggleButton.h"
+#import "linphonecore.h"
+
+typedef enum _UIPauseButtonType {
+ UIPauseButtonType_CurrentCall,
+ UIPauseButtonType_Call,
+ UIPauseButtonType_Conference
+} UIPauseButtonType;
+
@interface UIPauseButton : UIToggleButton {
-
+ @private
+ UIPauseButtonType type;
+ LinphoneCall* call;
}
+
+- (void)setType:(UIPauseButtonType) type call:(LinphoneCall*)call;
+
@end
diff --git a/Classes/LinphoneUI/UIPauseButton.m b/Classes/LinphoneUI/UIPauseButton.m
index 1ff3186cc..615babfa7 100644
--- a/Classes/LinphoneUI/UIPauseButton.m
+++ b/Classes/LinphoneUI/UIPauseButton.m
@@ -25,17 +25,91 @@
@implementation UIPauseButton
+- (void)myInit {
+ self->type = UIPauseButtonType_CurrentCall;
+}
+
+- (id)init{
+ self = [super init];
+ if (self) {
+ [self myInit];
+ }
+ return self;
+}
+
+- (id)initWithCoder:(NSCoder *)decoder {
+ self = [super initWithCoder:decoder];
+ if (self) {
+ [self myInit];
+ }
+ return self;
+}
+
+- (id)initWithFrame:(CGRect)frame {
+ self = [super initWithFrame:frame];
+ if (self) {
+ [self myInit];
+ }
+ return self;
+}
+
+- (void)setType:(UIPauseButtonType) atype call:(LinphoneCall*)acall {
+ self->type = atype;
+ self->call = acall;
+}
+
- (void)onOn {
- LinphoneCall* currentCall = [UIPauseButton getCall];
- if (currentCall != nil) {
- linphone_core_pause_call([LinphoneManager getLc], currentCall);
+ switch (type) {
+ case UIPauseButtonType_Call:
+ {
+ if (call != nil) {
+ linphone_core_pause_call([LinphoneManager getLc], call);
+ }
+ break;
+ }
+ case UIPauseButtonType_Conference:
+ {
+ linphone_core_leave_conference([LinphoneManager getLc]);
+
+ // Fake event
+ [[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
+ break;
+ }
+ case UIPauseButtonType_CurrentCall:
+ {
+ LinphoneCall* currentCall = [UIPauseButton getCall];
+ if (currentCall != nil) {
+ linphone_core_pause_call([LinphoneManager getLc], currentCall);
+ }
+ break;
+ }
}
}
- (void)onOff {
- LinphoneCall* currentCall = [UIPauseButton getCall];
- if (currentCall != nil) {
- linphone_core_resume_call([LinphoneManager getLc], currentCall);
+ switch (type) {
+ case UIPauseButtonType_Call:
+ {
+ if (call != nil) {
+ linphone_core_resume_call([LinphoneManager getLc], call);
+ }
+ break;
+ }
+ case UIPauseButtonType_Conference:
+ {
+ linphone_core_enter_conference([LinphoneManager getLc]);
+ // Fake event
+ [[NSNotificationCenter defaultCenter] postNotificationName:@"LinphoneCallUpdate" object:self];
+ break;
+ }
+ case UIPauseButtonType_CurrentCall:
+ {
+ LinphoneCall* currentCall = [UIPauseButton getCall];
+ if (currentCall != nil) {
+ linphone_core_resume_call([LinphoneManager getLc], currentCall);
+ }
+ break;
+ }
}
}
@@ -59,35 +133,53 @@
}
- (bool)onUpdate {
+ bool ret = false;
// TODO: disable pause on not running call
if([LinphoneManager isLcReady]) {
- bool ret = false;
- LinphoneCall* currentCall = [UIPauseButton getCall];
- if (currentCall != nil) {
- LinphoneCallState state = linphone_call_get_state(currentCall);
- if(state == LinphoneCallPaused || state == LinphoneCallPausing) {
- ret = true;
+ LinphoneCore *lc = [LinphoneManager getLc];
+ switch (type) {
+ case UIPauseButtonType_Call:
+ {
+ if (call != nil) {
+ LinphoneCallState state = linphone_call_get_state(call);
+ if(state == LinphoneCallPaused || state == LinphoneCallPausing) {
+ ret = true;
+ }
+ [LinphoneManager set:self enabled:TRUE withName:"PAUSE button" andReason:""];
+ } else {
+ [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:""];
+ }
+ break;
+ }
+ case UIPauseButtonType_Conference:
+ {
+ if(linphone_core_get_conference_size(lc) > 0) {
+ if (!linphone_core_is_in_conference(lc)) {
+ ret = true;
+ }
+ [LinphoneManager set:self enabled:TRUE withName:"PAUSE button" andReason:""];
+ } else {
+ [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:""];
+ }
+ break;
+ }
+ case UIPauseButtonType_CurrentCall:
+ {
+ LinphoneCall* currentCall = [UIPauseButton getCall];
+ if (currentCall != nil) {
+ LinphoneCallState state = linphone_call_get_state(currentCall);
+ if(state == LinphoneCallPaused || state == LinphoneCallPausing) {
+ ret = true;
+ }
+ [LinphoneManager set:self enabled:TRUE withName:"PAUSE button" andReason:""];
+ } else {
+ [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:""];
+ }
+ break;
}
}
- LinphoneCore* lc = [LinphoneManager getLc];
- int callsCount = linphone_core_get_calls_nb(lc);
-
- if (currentCall) {
- if (linphone_core_is_in_conference(lc)) {
- [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:"is in conference"];
- } else if ([UIPauseButton notInConferenceCallCount: lc] == callsCount && callsCount == 1) {
- [LinphoneManager set:self enabled:TRUE withName:"PAUSE button" andReason:"call count == 1"];
- } else {
- [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:""];
- }
- } else {
- [LinphoneManager set:self enabled:FALSE withName:"PAUSE button" andReason:""];
- }
- return ret;
- } else {
- //not ready yet
- return false;
- }
+ }
+ return ret;
}
+ (LinphoneCall*)getCall {
diff --git a/Resources/cancel_white_bg_default.png b/Resources/cancel_white_bg_default.png
new file mode 100644
index 000000000..b68fb8744
Binary files /dev/null and b/Resources/cancel_white_bg_default.png differ
diff --git a/Resources/cancel_white_bg_disabled.png b/Resources/cancel_white_bg_disabled.png
new file mode 100644
index 000000000..f07f35e2d
Binary files /dev/null and b/Resources/cancel_white_bg_disabled.png differ
diff --git a/Resources/cancel_white_bg_over.png b/Resources/cancel_white_bg_over.png
new file mode 100644
index 000000000..7b045d222
Binary files /dev/null and b/Resources/cancel_white_bg_over.png differ
diff --git a/Resources/champ-courbe-autres-numeros-first.png b/Resources/champ-courbe-autres-numeros-first.png
new file mode 100644
index 000000000..c4b177df9
Binary files /dev/null and b/Resources/champ-courbe-autres-numeros-first.png differ
diff --git a/Resources/outgoing-champ-numero-actif.png b/Resources/outgoing-champ-numero-actif.png
new file mode 100644
index 000000000..ca1f8f99b
Binary files /dev/null and b/Resources/outgoing-champ-numero-actif.png differ
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index d6a3dc5c7..e4529577b 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -213,6 +213,20 @@
D31C9C95158A1C1000756B45 /* appel-sortant.png in Resources */ = {isa = PBXBuildFile; fileRef = D31C9C8F158A1C1000756B45 /* appel-sortant.png */; };
D31C9C98158A1CDF00756B45 /* UIHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */; };
D31C9C99158A1CDF00756B45 /* UIHistoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */; };
+ D3211BA6159C3D410098460B /* outgoing-champ-numero-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BA5159C3D410098460B /* outgoing-champ-numero-actif.png */; };
+ D3211BA7159C3D410098460B /* outgoing-champ-numero-actif.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BA5159C3D410098460B /* outgoing-champ-numero-actif.png */; };
+ D3211BB0159C4EF10098460B /* UIConferenceHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D3211BAE159C4EF00098460B /* UIConferenceHeader.m */; };
+ D3211BB1159C4EF10098460B /* UIConferenceHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = D3211BAE159C4EF00098460B /* UIConferenceHeader.m */; };
+ D3211BB2159C4EF10098460B /* UIConferenceHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3211BAF159C4EF10098460B /* UIConferenceHeader.xib */; };
+ D3211BB3159C4EF10098460B /* UIConferenceHeader.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3211BAF159C4EF10098460B /* UIConferenceHeader.xib */; };
+ D3211BB9159C8A820098460B /* champ-courbe-autres-numeros-first.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BB8159C8A820098460B /* champ-courbe-autres-numeros-first.png */; };
+ D3211BBA159C8A820098460B /* champ-courbe-autres-numeros-first.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BB8159C8A820098460B /* champ-courbe-autres-numeros-first.png */; };
+ D3211BBE159CBFD60098460B /* cancel_white_bg_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBB159CBFD60098460B /* cancel_white_bg_default.png */; };
+ D3211BBF159CBFD70098460B /* cancel_white_bg_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBB159CBFD60098460B /* cancel_white_bg_default.png */; };
+ D3211BC0159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBC159CBFD60098460B /* cancel_white_bg_disabled.png */; };
+ D3211BC1159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBC159CBFD60098460B /* cancel_white_bg_disabled.png */; };
+ D3211BC2159CBFD70098460B /* cancel_white_bg_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */; };
+ D3211BC3159CBFD70098460B /* cancel_white_bg_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */; };
D32409C3158B49A600C8C119 /* UILongTouchButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32409C2158B49A600C8C119 /* UILongTouchButton.m */; };
D32409C4158B49A600C8C119 /* UILongTouchButton.m in Sources */ = {isa = PBXBuildFile; fileRef = D32409C2158B49A600C8C119 /* UILongTouchButton.m */; };
D326483815887D5200930C67 /* OrderedDictionary.m in Sources */ = {isa = PBXBuildFile; fileRef = D326483715887D5200930C67 /* OrderedDictionary.m */; };
@@ -933,6 +947,14 @@
D31C9C8F158A1C1000756B45 /* appel-sortant.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "appel-sortant.png"; path = "Resources/appel-sortant.png"; sourceTree = ""; };
D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIHistoryCell.h; sourceTree = ""; };
D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIHistoryCell.m; sourceTree = ""; };
+ D3211BA5159C3D410098460B /* outgoing-champ-numero-actif.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "outgoing-champ-numero-actif.png"; path = "Resources/outgoing-champ-numero-actif.png"; sourceTree = ""; };
+ D3211BAD159C4EF00098460B /* UIConferenceHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIConferenceHeader.h; sourceTree = ""; };
+ D3211BAE159C4EF00098460B /* UIConferenceHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIConferenceHeader.m; sourceTree = ""; };
+ D3211BAF159C4EF10098460B /* UIConferenceHeader.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIConferenceHeader.xib; sourceTree = ""; };
+ D3211BB8159C8A820098460B /* champ-courbe-autres-numeros-first.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "champ-courbe-autres-numeros-first.png"; path = "Resources/champ-courbe-autres-numeros-first.png"; sourceTree = ""; };
+ D3211BBB159CBFD60098460B /* cancel_white_bg_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_white_bg_default.png; path = Resources/cancel_white_bg_default.png; sourceTree = ""; };
+ D3211BBC159CBFD60098460B /* cancel_white_bg_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_white_bg_disabled.png; path = Resources/cancel_white_bg_disabled.png; sourceTree = ""; };
+ D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_white_bg_over.png; path = Resources/cancel_white_bg_over.png; sourceTree = ""; };
D32409C1158B49A600C8C119 /* UILongTouchButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILongTouchButton.h; sourceTree = ""; };
D32409C2158B49A600C8C119 /* UILongTouchButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UILongTouchButton.m; sourceTree = ""; };
D326483615887D5200930C67 /* OrderedDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = OrderedDictionary.h; path = Utils/OrderedDictionary.h; sourceTree = ""; };
@@ -1572,6 +1594,9 @@
D31B4B1E159876C0002E6C72 /* UICompositeViewController.h */,
D31B4B1F159876C0002E6C72 /* UICompositeViewController.m */,
D31B4B20159876C0002E6C72 /* UICompositeViewController.xib */,
+ D3211BAD159C4EF00098460B /* UIConferenceHeader.h */,
+ D3211BAE159C4EF00098460B /* UIConferenceHeader.m */,
+ D3211BAF159C4EF10098460B /* UIConferenceHeader.xib */,
D3A55FBA15877E5E003FD403 /* UIContactCell.h */,
D3A55FBB15877E5E003FD403 /* UIContactCell.m */,
D3A55FBE15877E69003FD403 /* UIContactCell.xib */,
@@ -1817,6 +1842,10 @@
D3D6A3A7159B0EFE005F692C /* cadenas.png */,
D3F83F801582278D00336684 /* cancel-actif.png */,
D3F83F811582278D00336684 /* cancel-over.png */,
+ D3211BBB159CBFD60098460B /* cancel_white_bg_default.png */,
+ D3211BBC159CBFD60098460B /* cancel_white_bg_disabled.png */,
+ D3211BBD159CBFD60098460B /* cancel_white_bg_over.png */,
+ D3211BB8159C8A820098460B /* champ-courbe-autres-numeros-first.png */,
D36C43CC158F2F370048BA40 /* champ-courbe-autres-numeros.png */,
D36C43CD158F2F370048BA40 /* champ-courbe-participant-conf.png */,
D3ED3E441585FB8C006C0DE4 /* champ-saisie-numero.png */,
@@ -1876,6 +1905,7 @@
D3D6A3A8159B0EFE005F692C /* options_default.png */,
D3D6A3A9159B0EFE005F692C /* options_disabled.png */,
D3D6A3AA159B0EFE005F692C /* options_over.png */,
+ D3211BA5159C3D410098460B /* outgoing-champ-numero-actif.png */,
D3F83EF8158205A100336684 /* pause-actif.png */,
D36C43ED158F61EA0048BA40 /* pause-champ-numero-actif.png */,
D36C43EE158F61EA0048BA40 /* pause-champ-numero-over.png */,
@@ -2304,6 +2334,12 @@
D31AAF69159B5C68002C6B02 /* finir-conference-actif.png in Resources */,
D31AAF6B159B5C68002C6B02 /* finir-conference-over.png in Resources */,
D31AAF6E159B65E1002C6B02 /* ring-champ-numero-actif.png in Resources */,
+ D3211BA6159C3D410098460B /* outgoing-champ-numero-actif.png in Resources */,
+ D3211BB2159C4EF10098460B /* UIConferenceHeader.xib in Resources */,
+ D3211BB9159C8A820098460B /* champ-courbe-autres-numeros-first.png in Resources */,
+ D3211BBE159CBFD60098460B /* cancel_white_bg_default.png in Resources */,
+ D3211BC0159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */,
+ D3211BC2159CBFD70098460B /* cancel_white_bg_over.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2489,6 +2525,12 @@
D31AAF6A159B5C68002C6B02 /* finir-conference-actif.png in Resources */,
D31AAF6C159B5C68002C6B02 /* finir-conference-over.png in Resources */,
D31AAF6F159B65E1002C6B02 /* ring-champ-numero-actif.png in Resources */,
+ D3211BA7159C3D410098460B /* outgoing-champ-numero-actif.png in Resources */,
+ D3211BB3159C4EF10098460B /* UIConferenceHeader.xib in Resources */,
+ D3211BBA159C8A820098460B /* champ-courbe-autres-numeros-first.png in Resources */,
+ D3211BBF159CBFD70098460B /* cancel_white_bg_default.png in Resources */,
+ D3211BC1159CBFD70098460B /* cancel_white_bg_disabled.png in Resources */,
+ D3211BC3159CBFD70098460B /* cancel_white_bg_over.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2563,6 +2605,7 @@
D31B4B21159876C0002E6C72 /* UICompositeViewController.m in Sources */,
D3F34F351599C354005BE94F /* UIModalViewController.m in Sources */,
D31AAF5E159B3919002C6B02 /* InCallTableViewController.m in Sources */,
+ D3211BB0159C4EF10098460B /* UIConferenceHeader.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2634,6 +2677,7 @@
D31B4B22159876C0002E6C72 /* UICompositeViewController.m in Sources */,
D3F34F361599C354005BE94F /* UIModalViewController.m in Sources */,
D31AAF5F159B3919002C6B02 /* InCallTableViewController.m in Sources */,
+ D3211BB1159C4EF10098460B /* UIConferenceHeader.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};