Merge branch 'new_ui' of git://git.linphone.org/linphone-iphone
Conflicts: Classes/LinphoneUI/UICallBar.xib Classes/LinphoneUI/UIMainBar.h Classes/LinphoneUI/UIMainBar.m Classes/LinphoneUI/UIMainBar.xib Resources/add_call_default.png Resources/add_call_disabled.png Resources/add_call_over.png Resources/button_alert_background_default.png Resources/button_alert_background_over.png Resources/contacts_add_default.png Resources/contacts_add_over.png Resources/list_highlight.png linphone.xcodeproj/project.pbxproj
|
|
@ -24,8 +24,7 @@ enum CallDelegateType {
|
|||
CD_UNDEFINED = 0,
|
||||
CD_ZRTP,
|
||||
CD_VIDEO_UPDATE,
|
||||
CD_STOP_VIDEO_ON_LOW_BATTERY,
|
||||
CD_TRANSFER_CALL
|
||||
CD_STOP_VIDEO_ON_LOW_BATTERY
|
||||
};
|
||||
|
||||
@protocol CallActionSheetDelegate
|
||||
|
|
|
|||
|
|
@ -25,6 +25,15 @@
|
|||
|
||||
@synthesize remoteContact;
|
||||
|
||||
|
||||
#pragma mark - ViewController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self.tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)reloadData {
|
||||
|
|
|
|||
|
|
@ -73,14 +73,6 @@
|
|||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(keyboardWillShow:)
|
||||
name:UIKeyboardWillShowNotification
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(keyboardWillHide:)
|
||||
name:UIKeyboardWillHideNotification
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(textReceivedEvent:)
|
||||
name:@"LinphoneTextReceived"
|
||||
|
|
@ -93,13 +85,6 @@
|
|||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:UIKeyboardWillShowNotification
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:UIKeyboardWillHideNotification
|
||||
object:nil];
|
||||
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneTextReceived"
|
||||
object:nil];
|
||||
|
|
@ -131,42 +116,6 @@
|
|||
}
|
||||
|
||||
|
||||
#pragma mark - Keyboard Event Functions
|
||||
|
||||
- (void)keyboardWillHide:(NSNotification *)notif {
|
||||
//CGRect beginFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
|
||||
UIViewAnimationCurve curve = [[[notif userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue];
|
||||
NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
||||
[UIView beginAnimations:@"resize" context:nil];
|
||||
[UIView setAnimationDuration:duration];
|
||||
[UIView setAnimationCurve:curve];
|
||||
[UIView setAnimationBeginsFromCurrentState:TRUE];
|
||||
CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
||||
CGRect frame = [[self view] frame];
|
||||
CGPoint pos = {0, 0};
|
||||
CGPoint gPos = [[self view] convertPoint:pos toView:nil];
|
||||
frame.size.height = endFrame.origin.y - gPos.y;
|
||||
[[self view] setFrame:frame];
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (void)keyboardWillShow:(NSNotification *)notif {
|
||||
//CGRect beginFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue];
|
||||
UIViewAnimationCurve curve = [[[notif userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue];
|
||||
NSTimeInterval duration = [[[notif userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue];
|
||||
[UIView beginAnimations:@"resize" context:nil];
|
||||
[UIView setAnimationDuration:duration];
|
||||
[UIView setAnimationCurve:curve];
|
||||
[UIView setAnimationBeginsFromCurrentState:TRUE];
|
||||
CGRect endFrame = [[[notif userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
||||
CGRect frame = [[self view] frame];
|
||||
CGPoint pos = {0, 0};
|
||||
CGPoint gPos = [[self view] convertPoint:pos toView:nil];
|
||||
frame.size.height = endFrame.origin.y - gPos.y;
|
||||
[[self view] setFrame:frame];
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
#pragma mark - UITextFieldDelegate Functions
|
||||
|
||||
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
|
||||
|
|
|
|||
|
|
@ -136,9 +136,64 @@
|
|||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="833509359"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="460939904">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">10</int>
|
||||
<object class="NSImage" key="NSImage">
|
||||
<int key="NSImageFlags">549453824</int>
|
||||
<string key="NSSize">{512, 1}</string>
|
||||
<array class="NSMutableArray" key="NSReps">
|
||||
<array>
|
||||
<integer value="0"/>
|
||||
<object class="NSBitmapImageRep">
|
||||
<object class="NSData" key="NSTIFFRepresentation">
|
||||
<bytes key="NS.bytes">TU0AKgAACAjFzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
|
||||
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
|
||||
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
|
||||
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
|
||||
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
|
||||
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
|
||||
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
|
||||
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
|
||||
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
|
||||
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
|
||||
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
|
||||
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
|
||||
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
|
||||
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
|
||||
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
|
||||
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
|
||||
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
|
||||
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
|
||||
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
|
||||
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
|
||||
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
|
||||
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
|
||||
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
|
||||
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
|
||||
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
|
||||
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
|
||||
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
|
||||
xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/
|
||||
y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/
|
||||
y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/
|
||||
xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/
|
||||
xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/
|
||||
xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/xczS/8vS2P/L0tj/xczU/8XM1P/FzNT/
|
||||
xczU/8XM0v/L0tj/y9LY/8XM1P/FzNT/xczU/8XM1P/FzNL/y9LY/8vS2P/FzNT/xczU/8XM1P/FzNT/
|
||||
xczS/8vS2P/L0tj/xczU/wANAQAAAwAAAAECAAAAAQEAAwAAAAEAAQAAAQIAAwAAAAQAAAiqAQMAAwAA
|
||||
AAEAAQAAAQYAAwAAAAEAAgAAAREABAAAAAEAAAAIARIAAwAAAAEAAQAAARUAAwAAAAEABAAAARYAAwAA
|
||||
AAEAAQAAARcABAAAAAEAAAgAARwAAwAAAAEAAQAAAVIAAwAAAAEAAQAAAVMAAwAAAAQAAAiyAAAAAAAI
|
||||
AAgACAAIAAEAAQABAAE</bytes>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</array>
|
||||
<object class="NSColor" key="NSColor" id="460939904">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
|
||||
</object>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -161,6 +216,7 @@
|
|||
<string key="NSFrame">{{250, 0}, {70, 59}}</string>
|
||||
<reference key="NSSuperview" ref="833509359"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -254,7 +310,7 @@
|
|||
<string key="NSFrameSize">{320, 460}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="NSNextKeyView" ref="333187864"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="460939904"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -493,6 +549,7 @@
|
|||
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="8.CustomClassName">TPKeyboardAvoidingTableView</string>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="9.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -569,6 +626,14 @@
|
|||
<string key="minorKey">./Classes/ChatRoomViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">TPKeyboardAvoidingTableView</string>
|
||||
<string key="superclassName">UITableView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/TPKeyboardAvoidingTableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
#import "linphonecore.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UACellBackgroundView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@implementation ChatTableViewController
|
||||
|
||||
|
|
@ -59,6 +61,12 @@
|
|||
UIChatCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UIChatCell alloc] initWithIdentifier:kCellId] autorelease];
|
||||
|
||||
|
||||
// Background View
|
||||
UACellBackgroundView *selectedBackgroundView = [[[UACellBackgroundView alloc] initWithFrame:CGRectZero] autorelease];
|
||||
cell.selectedBackgroundView = selectedBackgroundView;
|
||||
[selectedBackgroundView setBackgroundColor:LINPHONE_TABLE_CELL_BACKGROUND_COLOR];
|
||||
}
|
||||
|
||||
[cell setChat:[data objectAtIndex:[indexPath row]]];
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@
|
|||
|
||||
#import "ContactDetailsLabelViewController.h"
|
||||
|
||||
#import "UACellBackgroundView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@implementation ContactDetailsLabelViewController
|
||||
|
||||
@synthesize dataList;
|
||||
|
|
@ -68,8 +71,11 @@
|
|||
UITableViewCell *cell = [atableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kCellId] autorelease];
|
||||
//TODO
|
||||
/*[cell setSelectedBackgroundView:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"list_highlight.png"]]autorelease]];*/
|
||||
|
||||
// Background View
|
||||
UACellBackgroundView *selectedBackgroundView = [[[UACellBackgroundView alloc] initWithFrame:CGRectZero] autorelease];
|
||||
cell.selectedBackgroundView = selectedBackgroundView;
|
||||
[selectedBackgroundView setBackgroundColor:LINPHONE_TABLE_CELL_BACKGROUND_COLOR];
|
||||
}
|
||||
NSString* key = [[dataList allKeys] objectAtIndex:[indexPath row]];
|
||||
[cell.textLabel setText:[dataList objectForKey:key]];
|
||||
|
|
@ -87,6 +93,7 @@
|
|||
[self dismiss:key];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Action Functions
|
||||
|
||||
- (IBAction)onBackClick:(id)event {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
|
|
@ -200,6 +200,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<double key="IBUIContentInset.left">0.0</double>
|
||||
<double key="IBUIContentInset.right">0.0</double>
|
||||
<bool key="IBUIAlwaysBounceVertical">YES</bool>
|
||||
<bool key="IBUIShowsHorizontalScrollIndicator">NO</bool>
|
||||
<int key="IBUIStyle">1</int>
|
||||
<int key="IBUISeparatorStyle">2</int>
|
||||
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
|
||||
|
|
|
|||
|
|
@ -42,8 +42,8 @@
|
|||
@property (nonatomic, assign) ABRecordID contactID;
|
||||
|
||||
- (void)newContact;
|
||||
- (void)newContact:(NSString*)address;
|
||||
- (void)removeContact;
|
||||
- (void)addSipField:(NSString*)address;
|
||||
|
||||
- (void)loadData;
|
||||
- (void)saveData;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@
|
|||
#import "PhoneMainView.h"
|
||||
#import "UIEditableTableViewCell.h"
|
||||
#import "UIView+ModalStack.h"
|
||||
#import "UACellBackgroundView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@interface Entry : NSObject
|
||||
|
||||
|
|
@ -104,6 +106,11 @@
|
|||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self.tableView setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self loadData];
|
||||
|
|
@ -128,7 +135,8 @@
|
|||
contact = nil;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
#pragma mark -
|
||||
|
||||
+ (BOOL)findAndResignFirstResponder:(UIView*)view {
|
||||
if (view.isFirstResponder) {
|
||||
|
|
@ -277,6 +285,10 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
}
|
||||
|
||||
- (void)addEntry:(UITableView*)tableview section:(NSInteger)section animated:(BOOL)animated {
|
||||
[self addEntry:tableview section:section animated:animated value:@""];
|
||||
}
|
||||
|
||||
- (void)addEntry:(UITableView*)tableview section:(NSInteger)section animated:(BOOL)animated value:(NSString *)value{
|
||||
NSMutableArray *sectionArray = [dataCache objectAtIndex:section];
|
||||
NSUInteger count = [sectionArray count];
|
||||
if(section == 0) {
|
||||
|
|
@ -307,7 +319,7 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
lMap = ABMultiValueCreateMutable(kABDictionaryPropertyType);
|
||||
}
|
||||
CFStringRef keys[] = { kABPersonInstantMessageUsernameKey, kABPersonInstantMessageServiceKey};
|
||||
CFTypeRef values[] = { @"", CONTACT_SIP_FIELD };
|
||||
CFTypeRef values[] = { [value copy], CONTACT_SIP_FIELD };
|
||||
CFDictionaryRef lDict = CFDictionaryCreate(NULL, (const void **)&keys, (const void **)&values, 2, NULL, NULL);
|
||||
ABMultiValueAddValueAndLabel(lMap, lDict, (CFStringRef)[labelArray objectAtIndex:0], &identifier);
|
||||
CFRelease(lDict);
|
||||
|
|
@ -395,20 +407,8 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
[self loadData];
|
||||
}
|
||||
|
||||
- (void)newContact:(NSString*)address {
|
||||
contact = ABPersonCreate();
|
||||
ABMultiValueRef lMap = ABMultiValueCreateMutable(kABDictionaryPropertyType);
|
||||
CFStringRef keys[] = { kABPersonInstantMessageUsernameKey, kABPersonInstantMessageServiceKey};
|
||||
CFTypeRef values[] = { [address copy], CONTACT_SIP_FIELD };
|
||||
CFDictionaryRef lDict = CFDictionaryCreate(NULL, (const void **)&keys, (const void **)&values, 2, NULL, NULL);
|
||||
ABMultiValueAddValueAndLabel(lMap, lDict, (CFStringRef)[labelArray objectAtIndex:0], NULL);
|
||||
CFRelease(lDict);
|
||||
|
||||
ABRecordSetValue(contact, kABPersonInstantMessageProperty, lMap, nil);
|
||||
CFRelease(lMap);
|
||||
|
||||
self->contactID = kABRecordInvalidID;
|
||||
[self loadData];
|
||||
- (void)addSipField:(NSString*)address {
|
||||
[self addEntry:[self tableView] section:1 animated:FALSE value:address];
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -427,6 +427,14 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
UIEditableTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UIEditableTableViewCell alloc] initWithStyle:UITableViewCellStyleValue2 reuseIdentifier:kCellId] autorelease];
|
||||
[cell.detailTextField setDelegate:self];
|
||||
[cell.detailTextField setAutocapitalizationType:UITextAutocapitalizationTypeNone];
|
||||
[cell.detailTextField setAutocorrectionType:UITextAutocorrectionTypeNo];
|
||||
|
||||
// Background View
|
||||
UACellBackgroundView *selectedBackgroundView = [[[UACellBackgroundView alloc] initWithFrame:CGRectZero] autorelease];
|
||||
cell.selectedBackgroundView = selectedBackgroundView;
|
||||
[selectedBackgroundView setBackgroundColor:LINPHONE_TABLE_CELL_BACKGROUND_COLOR];
|
||||
}
|
||||
|
||||
NSMutableArray *sectionDict = [dataCache objectAtIndex:[indexPath section]];
|
||||
|
|
@ -457,16 +465,15 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
CFRelease(lDict);
|
||||
CFRelease(lMap);
|
||||
}
|
||||
|
||||
|
||||
[cell.textLabel setText:label];
|
||||
[cell.detailTextLabel setText:value];
|
||||
[cell.detailTextField setText:value];
|
||||
[cell.detailTextField setDelegate:self];
|
||||
if ([indexPath section] == 0) {
|
||||
[cell.detailTextField setKeyboardType:UIKeyboardTypePhonePad];
|
||||
[cell.detailTextField setPlaceholder:@"Phone number"];
|
||||
} else {
|
||||
[cell.detailTextField setKeyboardType:UIKeyboardTypeEmailAddress];
|
||||
[cell.detailTextField setKeyboardType:UIKeyboardTypeASCIICapable];
|
||||
[cell.detailTextField setPlaceholder:@"SIP address"];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -28,16 +28,23 @@
|
|||
ContactDetailsTableViewController *tableController;
|
||||
ABRecordRef contact;
|
||||
UIToggleButton *editButton;
|
||||
UIButton *backButton;
|
||||
UIButton *cancelButton;
|
||||
}
|
||||
|
||||
@property (nonatomic, assign) ABRecordRef contact;
|
||||
@property (nonatomic, retain) IBOutlet ContactDetailsTableViewController *tableController;
|
||||
@property (nonatomic, retain) IBOutlet UIToggleButton *editButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *backButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *cancelButton;
|
||||
|
||||
- (IBAction)onBackClick:(id)event;
|
||||
- (IBAction)onCancelClick:(id)event;
|
||||
- (IBAction)onEditClick:(id)event;
|
||||
|
||||
- (void)newContact;
|
||||
- (void)newContact:(NSString*)address;
|
||||
- (void)editContact:(ABRecordRef)contact;
|
||||
- (void)editContact:(ABRecordRef)contact address:(NSString*)address;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@
|
|||
@synthesize tableController;
|
||||
@synthesize contact;
|
||||
@synthesize editButton;
|
||||
@synthesize backButton;
|
||||
@synthesize cancelButton;
|
||||
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
|
@ -35,8 +37,13 @@
|
|||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
[tableController release];
|
||||
|
||||
[editButton release];
|
||||
[backButton release];
|
||||
[cancelButton release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
@ -45,24 +52,36 @@
|
|||
|
||||
- (void)newContact {
|
||||
[tableController newContact];
|
||||
[tableController setEditing:TRUE animated:FALSE];
|
||||
[self enableEdit:FALSE];
|
||||
[[tableController tableView] reloadData];
|
||||
[editButton setOn];
|
||||
}
|
||||
|
||||
- (void)newContact:(NSString*)address {
|
||||
[tableController newContact:address];
|
||||
[tableController setEditing:TRUE animated:FALSE];
|
||||
[tableController newContact];
|
||||
[tableController addSipField:address];
|
||||
[self enableEdit:FALSE];
|
||||
[[tableController tableView] reloadData];
|
||||
[editButton setOn];
|
||||
}
|
||||
|
||||
- (void)editContact:(ABRecordRef)acontact {
|
||||
[self setContact:acontact];
|
||||
[self enableEdit:FALSE];
|
||||
[[tableController tableView] reloadData];
|
||||
}
|
||||
|
||||
- (void)editContact:(ABRecordRef)acontact address:(NSString*)address {
|
||||
[self setContact:acontact];
|
||||
[tableController addSipField:address];
|
||||
[self enableEdit:FALSE];
|
||||
[[tableController tableView] reloadData];
|
||||
}
|
||||
|
||||
#pragma mark - Property Functions
|
||||
|
||||
- (void)setContact:(ABRecordRef)acontact {
|
||||
self->contact = acontact;
|
||||
[tableController setContactID:ABRecordGetRecordID(acontact)];
|
||||
[self disableEdit:FALSE];
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -79,7 +98,6 @@
|
|||
[tableController->footerController->removeButton addTarget:self
|
||||
action:@selector(onRemove:)
|
||||
forControlEvents:UIControlEventTouchUpInside];
|
||||
[[tableController tableView] setBackgroundColor:[UIColor clearColor]]; // Can't do it in Xib: issue with ios4
|
||||
}
|
||||
|
||||
- (void)viewDidUnload {
|
||||
|
|
@ -89,15 +107,37 @@
|
|||
forControlEvents:UIControlEventTouchUpInside];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
if([tableController isEditing]) {
|
||||
[tableController resetData];
|
||||
[tableController setEditing:FALSE animated:FALSE];
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewWillDisappear:NO];
|
||||
}
|
||||
[super viewWillAppear:animated];
|
||||
[editButton setOff];
|
||||
[self disableEdit:FALSE];
|
||||
[tableController resetData];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewWillAppear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
[super viewDidAppear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewDidAppear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidDisappear:(BOOL)animated {
|
||||
[super viewDidDisappear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewDidDisappear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - UICompositeViewDelegate Functions
|
||||
|
||||
+ (UICompositeViewDescription*) compositeViewDescription {
|
||||
|
|
@ -112,34 +152,54 @@
|
|||
}
|
||||
|
||||
|
||||
- (void)enableEdit:(BOOL)animated {
|
||||
if(![tableController isEditing]) {
|
||||
if(animated)
|
||||
[[tableController tableView] beginUpdates];
|
||||
[tableController setEditing:TRUE animated:animated];
|
||||
if(animated)
|
||||
[[tableController tableView] endUpdates];
|
||||
}
|
||||
[editButton setOn];
|
||||
[cancelButton setHidden:FALSE];
|
||||
[backButton setHidden:TRUE];
|
||||
}
|
||||
|
||||
- (void)disableEdit:(BOOL)animated {
|
||||
if([tableController isEditing]) {
|
||||
[tableController setEditing:FALSE animated:animated];
|
||||
}
|
||||
[editButton setOff];
|
||||
[cancelButton setHidden:TRUE];
|
||||
[backButton setHidden:FALSE];
|
||||
}
|
||||
|
||||
#pragma mark - Action Functions
|
||||
|
||||
- (IBAction)onBackClick:(id)event {
|
||||
if([tableController isEditing]) {
|
||||
[tableController setEditing:FALSE animated:FALSE];
|
||||
[tableController resetData];
|
||||
[editButton setOff];
|
||||
if([tableController contactID] == kABRecordInvalidID) {
|
||||
[[PhoneMainView instance] popView];
|
||||
}
|
||||
} else {
|
||||
- (IBAction)onCancelClick:(id)event {
|
||||
[self disableEdit:FALSE];
|
||||
[tableController resetData];
|
||||
if([tableController contactID] == kABRecordInvalidID) {
|
||||
[[PhoneMainView instance] popView];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onBackClick:(id)event {
|
||||
[[PhoneMainView instance] popView];
|
||||
}
|
||||
|
||||
- (IBAction)onEditClick:(id)event {
|
||||
[[tableController tableView] beginUpdates];
|
||||
[tableController setEditing:![tableController isEditing] animated:TRUE];
|
||||
[[tableController tableView] endUpdates];
|
||||
if(![tableController isEditing]) {
|
||||
if([tableController isEditing]) {
|
||||
[self disableEdit:TRUE];
|
||||
[tableController saveData];
|
||||
} else {
|
||||
[self enableEdit:TRUE];
|
||||
}
|
||||
}
|
||||
|
||||
- (IBAction)onRemove:(id)event {
|
||||
[tableController setEditing:FALSE animated:FALSE];
|
||||
- (void)onRemove:(id)event {
|
||||
[self disableEdit:FALSE];
|
||||
[tableController removeContact];
|
||||
[editButton setOff];
|
||||
[[PhoneMainView instance] popView];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
|
|
@ -47,7 +47,7 @@
|
|||
<string key="NSFrameSize">{160, 58}</string>
|
||||
<reference key="NSSuperview" ref="624008635"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="100677920"/>
|
||||
<reference key="NSNextKeyView" ref="827146159"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
|
|
@ -79,6 +79,34 @@
|
|||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIButton" id="827146159">
|
||||
<reference key="NSNextResponder" ref="624008635"/>
|
||||
<int key="NSvFlags">-2147483356</int>
|
||||
<string key="NSFrameSize">{160, 58}</string>
|
||||
<reference key="NSSuperview" ref="624008635"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="100677920"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
<string key="IBUIAccessibilityLabel">Add contact</string>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="734764467"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">contact_cancel_over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">contact_cancel_default.png</string>
|
||||
</object>
|
||||
<reference key="IBUIFontDescription" ref="1017377951"/>
|
||||
<reference key="IBUIFont" ref="669509502"/>
|
||||
</object>
|
||||
<object class="IBUIButton" id="100677920">
|
||||
<reference key="NSNextResponder" ref="624008635"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
|
|
@ -132,6 +160,7 @@
|
|||
<string key="NSFrame">{{0, 59}, {320, 401}}</string>
|
||||
<reference key="NSSuperview" ref="191373211"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">10</int>
|
||||
|
|
@ -212,6 +241,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="624008635"/>
|
||||
<reference key="IBUIBackgroundColor" ref="845399741"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -252,6 +282,22 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
</object>
|
||||
<int key="connectionID">31</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">backButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="40094652"/>
|
||||
</object>
|
||||
<int key="connectionID">50</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">cancelButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="827146159"/>
|
||||
</object>
|
||||
<int key="connectionID">51</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onEditClick:</string>
|
||||
|
|
@ -294,6 +340,15 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
</object>
|
||||
<int key="connectionID">26</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onCancelClick:</string>
|
||||
<reference key="source" ref="827146159"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">49</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
|
|
@ -329,9 +384,10 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="100677920"/>
|
||||
<reference ref="40094652"/>
|
||||
<reference ref="827146159"/>
|
||||
</array>
|
||||
<reference key="parent" ref="191373211"/>
|
||||
<string key="objectName">header</string>
|
||||
<string key="objectName">toolBar</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
|
|
@ -358,6 +414,12 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">tableController</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">47</int>
|
||||
<reference key="object" ref="827146159"/>
|
||||
<reference key="parent" ref="624008635"/>
|
||||
<string key="objectName">cancelButton</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
|
|
@ -366,10 +428,13 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="19.CustomClassName">TPKeyboardAvoidingTableView</string>
|
||||
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="20.CustomClassName">ContactDetailsTableViewController</string>
|
||||
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="47.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="1" key="47.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="8.CustomClassName">UIToggleButton</string>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="8.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -380,7 +445,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">46</int>
|
||||
<int key="maxID">51</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -397,6 +462,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="onBackClick:">id</string>
|
||||
<string key="onCancelClick:">id</string>
|
||||
<string key="onEditClick:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
|
|
@ -404,16 +470,30 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="name">onBackClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onCancelClick:">
|
||||
<string key="name">onCancelClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onEditClick:">
|
||||
<string key="name">onEditClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="backButton">UIButton</string>
|
||||
<string key="cancelButton">UIButton</string>
|
||||
<string key="editButton">UIToggleButton</string>
|
||||
<string key="tableController">ContactDetailsTableViewController</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="backButton">
|
||||
<string key="name">backButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="cancelButton">
|
||||
<string key="name">cancelButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="editButton">
|
||||
<string key="name">editButton</string>
|
||||
<string key="candidateClassName">UIToggleButton</string>
|
||||
|
|
@ -428,6 +508,14 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="minorKey">./Classes/ContactDetailsViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">TPKeyboardAvoidingTableView</string>
|
||||
<string key="superclassName">UITableView</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/TPKeyboardAvoidingTableView.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIToggleButton</string>
|
||||
<string key="superclassName">UIButton</string>
|
||||
|
|
@ -449,6 +537,8 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="contact_back_default.png">{320, 117}</string>
|
||||
<string key="contact_back_over.png">{320, 117}</string>
|
||||
<string key="contact_cancel_default.png">{320, 117}</string>
|
||||
<string key="contact_cancel_over.png">{320, 117}</string>
|
||||
<string key="contact_edit_default.png">{320, 117}</string>
|
||||
<string key="contact_edit_over.png">{320, 117}</string>
|
||||
<string key="contact_ok_default.png">{320, 117}</string>
|
||||
|
|
|
|||
|
|
@ -27,8 +27,10 @@
|
|||
|
||||
ABAddressBookRef addressBook;
|
||||
BOOL sipFilter;
|
||||
NSString *tempAddress;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) NSString* tempAddress;
|
||||
@property (nonatomic, assign) BOOL sipFilter;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -21,10 +21,13 @@
|
|||
#import "UIContactCell.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UACellBackgroundView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@implementation ContactsTableViewController
|
||||
|
||||
@synthesize sipFilter;
|
||||
@synthesize tempAddress;
|
||||
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
|
@ -56,6 +59,7 @@
|
|||
ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_address_book, self);
|
||||
CFRelease(addressBook);
|
||||
[addressBookMap removeAllObjects];
|
||||
[tempAddress release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
|
@ -70,27 +74,6 @@
|
|||
|
||||
#pragma mark -
|
||||
|
||||
static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) {
|
||||
ContactsTableViewController* controller = (ContactsTableViewController*)context;
|
||||
ABAddressBookRevert(addressBook);
|
||||
[(UITableView *)controller.view reloadData];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self reloadData];
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - UITableViewDataSource Functions
|
||||
|
||||
- (void)reloadData {
|
||||
NSLog(@"Load contact list");
|
||||
@synchronized (addressBookMap) {
|
||||
|
|
@ -157,73 +140,73 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf
|
|||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef info, void *context) {
|
||||
ContactsTableViewController* controller = (ContactsTableViewController*)context;
|
||||
ABAddressBookRevert(addressBook);
|
||||
[controller reloadData];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
[self setTempAddress:nil];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - UITableViewDataSource Functions
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return [addressBookMap count] + 1;
|
||||
return [addressBookMap count];
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
if(section == 0) {
|
||||
return 1;
|
||||
} else {
|
||||
return [(OrderedDictionary *)[addressBookMap objectForKey: [addressBookMap keyAtIndex: section - 1]] count];
|
||||
}
|
||||
return [(OrderedDictionary *)[addressBookMap objectForKey: [addressBookMap keyAtIndex: section]] count];
|
||||
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *kCellId = @"UIContactCell";
|
||||
static NSString *kNewContactCellId = @"NewContactCell";
|
||||
|
||||
if([indexPath section] != 0) {
|
||||
UIContactCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UIContactCell alloc] initWithIdentifier:kCellId] autorelease];
|
||||
}
|
||||
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section] - 1]];
|
||||
|
||||
NSString *key = [[subDic allKeys] objectAtIndex:[indexPath row]];
|
||||
ABRecordRef contact = [subDic objectForKey:key];
|
||||
[cell setContact: contact];
|
||||
return cell;
|
||||
} else {
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kNewContactCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:kNewContactCellId] autorelease];
|
||||
//TODO
|
||||
/*
|
||||
[cell setSelectedBackgroundView:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"list_highlight.png"]]autorelease]];*/
|
||||
}
|
||||
[cell.textLabel setText:@"Add new contact"];
|
||||
return cell;
|
||||
static NSString *kCellId = @"UIContactCell";
|
||||
UIContactCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UIContactCell alloc] initWithIdentifier:kCellId] autorelease];
|
||||
// Background View
|
||||
UACellBackgroundView *selectedBackgroundView = [[[UACellBackgroundView alloc] initWithFrame:CGRectZero] autorelease];
|
||||
cell.selectedBackgroundView = selectedBackgroundView;
|
||||
[selectedBackgroundView setBackgroundColor:LINPHONE_TABLE_CELL_BACKGROUND_COLOR];
|
||||
}
|
||||
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section]]];
|
||||
|
||||
NSString *key = [[subDic allKeys] objectAtIndex:[indexPath row]];
|
||||
ABRecordRef contact = [subDic objectForKey:key];
|
||||
[cell setContact: contact];
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
|
||||
if (section == 0) {
|
||||
return @"";
|
||||
} else {
|
||||
return [addressBookMap keyAtIndex: section - 1];
|
||||
}
|
||||
return [addressBookMap keyAtIndex: section];
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
if([indexPath section] == 0) {
|
||||
// Go to Contact details view
|
||||
NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: nil] autorelease]
|
||||
, @"newContact",
|
||||
nil] autorelease];
|
||||
[[PhoneMainView instance] changeView:PhoneView_ContactDetails dict:dict push:TRUE];
|
||||
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section]]];
|
||||
ABRecordRef lPerson = [subDic objectForKey: [subDic keyAtIndex:[indexPath row]]];
|
||||
|
||||
// Go to Contact details view
|
||||
NSDictionary * dict;
|
||||
if(tempAddress == nil) {
|
||||
dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: lPerson, nil] autorelease]
|
||||
, @"setContact:",
|
||||
nil] autorelease];
|
||||
} else {
|
||||
OrderedDictionary *subDic = [addressBookMap objectForKey: [addressBookMap keyAtIndex: [indexPath section] - 1]];
|
||||
ABRecordRef lPerson = [subDic objectForKey: [subDic keyAtIndex:[indexPath row]]];
|
||||
|
||||
// Go to Contact details view
|
||||
NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: lPerson, nil] autorelease]
|
||||
, @"setContact:",
|
||||
nil] autorelease];
|
||||
[[PhoneMainView instance] changeView:PhoneView_ContactDetails dict:dict push:TRUE];
|
||||
dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: lPerson, tempAddress, nil] autorelease]
|
||||
, @"editContact:address:",
|
||||
nil] autorelease];
|
||||
[self setTempAddress:nil];
|
||||
}
|
||||
[[PhoneMainView instance] changeView:PhoneView_ContactDetails dict:dict push:TRUE];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -36,7 +36,10 @@
|
|||
@property (nonatomic, retain) IBOutlet UIButton* allButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* linphoneButton;
|
||||
|
||||
- (IBAction)onAllClick:(id) event;
|
||||
- (IBAction)onLinphoneClick:(id) event;
|
||||
- (IBAction)onAllClick:(id)event;
|
||||
- (IBAction)onLinphoneClick:(id)event;
|
||||
- (IBAction)onAddContactClick:(id)event;
|
||||
|
||||
- (void)setAddress:(NSString*)address;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
#import "ContactsViewController.h"
|
||||
#import "PhoneMainView.h"
|
||||
|
||||
#import "AddressBook/ABPerson.h"
|
||||
|
||||
|
|
@ -69,9 +70,34 @@ typedef enum _HistoryView {
|
|||
|
||||
#pragma mark - ViewController Functions
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewWillDisappear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
[super viewWillAppear:animated];
|
||||
[self changeView:History_All];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewWillAppear:NO];
|
||||
}
|
||||
|
||||
[self changeView:History_All];
|
||||
}
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated {
|
||||
[super viewDidAppear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewDidAppear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidDisappear:(BOOL)animated {
|
||||
[super viewDidDisappear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
[tableController viewDidDisappear:NO];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewDidLoad {
|
||||
|
|
@ -90,6 +116,10 @@ typedef enum _HistoryView {
|
|||
|
||||
#pragma mark -
|
||||
|
||||
- (void)setAddress:(NSString*)address {
|
||||
[tableController setTempAddress:address];
|
||||
}
|
||||
|
||||
- (void)changeView: (HistoryView) view {
|
||||
if(view == History_All) {
|
||||
|
||||
|
|
@ -110,12 +140,30 @@ typedef enum _HistoryView {
|
|||
|
||||
#pragma mark - Action Functions
|
||||
|
||||
- (IBAction)onAllClick: (id) event {
|
||||
- (IBAction)onAllClick:(id)event {
|
||||
[self changeView: History_All];
|
||||
}
|
||||
|
||||
- (IBAction)onLinphoneClick: (id) event {
|
||||
- (IBAction)onLinphoneClick:(id)event {
|
||||
[self changeView: History_Linphone];
|
||||
}
|
||||
|
||||
- (IBAction)onAddContactClick:(id)event {
|
||||
// Go to Contact details view
|
||||
NSDictionary * dict;
|
||||
if([tableController tempAddress] == nil) {
|
||||
dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: nil] autorelease]
|
||||
, @"newContact",
|
||||
nil] autorelease];
|
||||
} else {
|
||||
dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects: [tableController tempAddress], nil] autorelease]
|
||||
, @"newContact:",
|
||||
nil] autorelease];
|
||||
[tableController setTempAddress:nil];
|
||||
}
|
||||
[[PhoneMainView instance] changeView:PhoneView_ContactDetails dict:dict push:TRUE];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
|
|
@ -46,6 +46,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{106, 58}</string>
|
||||
<reference key="NSSuperview" ref="95706395"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="596330568"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -84,6 +85,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{106, 0}, {106, 58}}</string>
|
||||
<reference key="NSSuperview" ref="95706395"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="600417980"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -112,6 +114,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{212, 0}, {108, 58}}</string>
|
||||
<reference key="NSSuperview" ref="95706395"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="562388802"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -137,6 +140,7 @@
|
|||
</array>
|
||||
<string key="NSFrameSize">{320, 58}</string>
|
||||
<reference key="NSSuperview" ref="812520855"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="257572356"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
|
|
@ -153,6 +157,8 @@
|
|||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{0, 58}, {320, 402}}</string>
|
||||
<reference key="NSSuperview" ref="812520855"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:10</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -179,6 +185,7 @@
|
|||
</array>
|
||||
<string key="NSFrameSize">{320, 460}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="95706395"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
|
|
@ -259,6 +266,15 @@
|
|||
</object>
|
||||
<int key="connectionID">47</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onAddContactClick:</string>
|
||||
<reference key="source" ref="600417980"/>
|
||||
<reference key="destination" ref="841351856"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">86</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
|
|
@ -321,7 +337,7 @@
|
|||
<reference ref="600417980"/>
|
||||
</array>
|
||||
<reference key="parent" ref="812520855"/>
|
||||
<string key="objectName">header</string>
|
||||
<string key="objectName">toolBar</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
|
|
@ -377,9 +393,71 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">84</int>
|
||||
<int key="maxID">86</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ContactsTableViewController</string>
|
||||
<string key="superclassName">UITableViewController</string>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ContactsTableViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">ContactsViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="onAddContactClick:">id</string>
|
||||
<string key="onAllClick:">id</string>
|
||||
<string key="onLinphoneClick:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="onAddContactClick:">
|
||||
<string key="name">onAddContactClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onAllClick:">
|
||||
<string key="name">onAllClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onLinphoneClick:">
|
||||
<string key="name">onLinphoneClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="allButton">UIButton</string>
|
||||
<string key="linphoneButton">UIButton</string>
|
||||
<string key="tableController">ContactsTableViewController</string>
|
||||
<string key="tableView">UITableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="allButton">
|
||||
<string key="name">allButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="linphoneButton">
|
||||
<string key="name">linphoneButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="tableController">
|
||||
<string key="name">tableController</string>
|
||||
<string key="candidateClassName">ContactsTableViewController</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="tableView">
|
||||
<string key="name">tableView</string>
|
||||
<string key="candidateClassName">UITableView</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/ContactsViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
|
|
|
|||
|
|
@ -217,9 +217,9 @@
|
|||
// Go to Contact details view
|
||||
NSDictionary *dict = [[[NSDictionary alloc] initWithObjectsAndKeys:
|
||||
[[[NSArray alloc] initWithObjects:[addressField text], nil] autorelease]
|
||||
, @"newContact:",
|
||||
, @"setAddress:",
|
||||
nil] autorelease];
|
||||
[[PhoneMainView instance] changeView:PhoneView_ContactDetails dict:dict push:TRUE];
|
||||
[[PhoneMainView instance] changeView:PhoneView_Contacts dict:dict push:TRUE];
|
||||
}
|
||||
|
||||
- (IBAction)onBackClick: (id) event {
|
||||
|
|
|
|||
53
Classes/HistoryDetailsViewController.h
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
/* HistoryDetailsViewController.h
|
||||
*
|
||||
* Copyright (C) 2012 Belledonne Comunications, Grenoble, France
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "linphonecore.h"
|
||||
|
||||
#import <AddressBook/AddressBook.h>
|
||||
|
||||
@interface HistoryDetailsViewController : UIViewController {
|
||||
LinphoneCallLog *callLog;
|
||||
UIImageView *avatarImage;
|
||||
UILabel *addressLabel;
|
||||
UILabel *dateLabel;
|
||||
UILabel *dateHeaderLabel;
|
||||
UILabel *durationLabel;
|
||||
UILabel *durationHeaderLabel;
|
||||
UILabel *typeLabel;
|
||||
UILabel *typeHeaderLabel;
|
||||
UIButton *addressButton;
|
||||
}
|
||||
@property (nonatomic, retain) IBOutlet UIImageView *avatarImage;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *addressLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *dateLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *dateHeaderLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *durationLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *durationHeaderLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *typeLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *typeHeaderLabel;
|
||||
@property (nonatomic, retain) IBOutlet UIButton *addressButton;
|
||||
|
||||
@property (nonatomic, assign) LinphoneCallLog *callLog;
|
||||
|
||||
- (IBAction)onBackClick:(id)event;
|
||||
- (IBAction)onContactClick:(id)event;
|
||||
- (IBAction)onAddressClick:(id)event;
|
||||
|
||||
@end
|
||||
90
Classes/HistoryDetailsViewController.m
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
/* HistoryDetailsViewController.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 "HistoryDetailsViewController.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "FastAddressBook.h"
|
||||
|
||||
@implementation HistoryDetailsViewController
|
||||
|
||||
@synthesize callLog;
|
||||
@synthesize avatarImage;
|
||||
@synthesize addressLabel;
|
||||
@synthesize dateLabel;
|
||||
@synthesize dateHeaderLabel;
|
||||
@synthesize durationLabel;
|
||||
@synthesize durationHeaderLabel;
|
||||
@synthesize typeLabel;
|
||||
@synthesize typeHeaderLabel;
|
||||
@synthesize addressButton;
|
||||
|
||||
|
||||
#pragma mark - LifeCycle Functions
|
||||
|
||||
- (void)dealloc {
|
||||
[avatarImage release];
|
||||
[addressLabel release];
|
||||
[dateLabel release];
|
||||
[dateHeaderLabel release];
|
||||
[durationLabel release];
|
||||
[durationHeaderLabel release];
|
||||
[typeLabel release];
|
||||
[typeHeaderLabel release];
|
||||
[addressButton release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Property Functions
|
||||
|
||||
- (void)setCallLog:(LinphoneCallLog *)acallLog {
|
||||
self->callLog = acallLog;
|
||||
[self update];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)update {
|
||||
// Set up the cell...
|
||||
LinphoneAddress* partyToDisplay;
|
||||
if (callLog->dir == LinphoneCallIncoming) {
|
||||
partyToDisplay = callLog->from;
|
||||
} else {
|
||||
partyToDisplay = callLog->to;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Action Functions
|
||||
|
||||
- (IBAction)onBackClick:(id)event {
|
||||
[[PhoneMainView instance] popView];
|
||||
}
|
||||
|
||||
- (IBAction)onContactClick:(id)event {
|
||||
|
||||
}
|
||||
|
||||
- (IBAction)onAddressClick:(id)event {
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
836
Classes/HistoryDetailsViewController.xib
Normal file
|
|
@ -0,0 +1,836 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIImageView</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUILabel</string>
|
||||
<string>IBProxyObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</array>
|
||||
<object class="NSMutableDictionary" key="IBDocument.Metadata">
|
||||
<string key="NS.key.0">PluginDependencyRecalculationVersion</string>
|
||||
<integer value="1" key="NS.object.0"/>
|
||||
</object>
|
||||
<array class="NSMutableArray" key="IBDocument.RootObjects" id="1000">
|
||||
<object class="IBProxyObject" id="372490531">
|
||||
<string key="IBProxiedObjectIdentifier">IBFilesOwner</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBProxyObject" id="975951072">
|
||||
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="581237105">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIView" id="136975389">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">290</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIButton" id="455083905">
|
||||
<reference key="NSNextResponder" ref="136975389"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{160, 58}</string>
|
||||
<reference key="NSSuperview" ref="136975389"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="778261436"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<object class="IBUIAccessibilityConfiguration" key="IBUIAccessibilityConfiguration">
|
||||
<string key="IBUIAccessibilityLabel">Add contact</string>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<object class="NSColor" key="IBUINormalTitleShadowColor" id="30732699">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC41AA</bytes>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">contact_back_over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">contact_back_default.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="74407898">
|
||||
<int key="type">2</int>
|
||||
<double key="pointSize">15</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="255564883">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">15</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="778261436">
|
||||
<reference key="NSNextResponder" ref="136975389"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{160, 0}, {160, 58}}</string>
|
||||
<reference key="NSSuperview" ref="136975389"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="768037913"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">contact_bar_background.png</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrameSize">{320, 58}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="455083905"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
<object class="NSColorSpace" key="NSCustomColorSpace">
|
||||
<int key="NSID">2</int>
|
||||
</object>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="768037913">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIButton" id="801771731">
|
||||
<reference key="NSNextResponder" ref="768037913"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 100}</string>
|
||||
<reference key="NSSuperview" ref="768037913"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="7268130"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<object class="NSColor" key="IBUIHighlightedTitleColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<object class="NSColor" key="IBUINormalTitleColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA</bytes>
|
||||
</object>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="30732699"/>
|
||||
<reference key="IBUIFontDescription" ref="74407898"/>
|
||||
<reference key="IBUIFont" ref="255564883"/>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="162711893">
|
||||
<reference key="NSNextResponder" ref="768037913"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{-13, -5}, {131, 107}}</string>
|
||||
<reference key="NSSuperview" ref="768037913"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="801771731"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">avatar_shadow_small.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="7268130">
|
||||
<reference key="NSNextResponder" ref="768037913"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{20, 6}, {65, 65}}</string>
|
||||
<reference key="NSSuperview" ref="768037913"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="383035685"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">avatar_unknown_small.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="383035685">
|
||||
<reference key="NSNextResponder" ref="768037913"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{101, 37}, {199, 43}}</string>
|
||||
<reference key="NSSuperview" ref="768037913"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="943502497"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Contact1</string>
|
||||
<object class="NSColor" key="IBUITextColor" id="796303400">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MC4zMzMzMzMzMzMzAA</bytes>
|
||||
</object>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription">
|
||||
<int key="type">1</int>
|
||||
<double key="pointSize">22</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica</string>
|
||||
<double key="NSSize">22</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 58}, {320, 100}}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="162711893"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="576459619">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="943502497">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUILabel" id="355377987">
|
||||
<reference key="NSNextResponder" ref="943502497"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{49, 21}</string>
|
||||
<reference key="NSSuperview" ref="943502497"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="702111471"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Date:</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="819461290">
|
||||
<int key="type">2</int>
|
||||
<double key="pointSize">17</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="873933531">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">17</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="702111471">
|
||||
<reference key="NSNextResponder" ref="943502497"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{57, 0}, {223, 21}}</string>
|
||||
<reference key="NSSuperview" ref="943502497"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="244755503"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">11/11/2011 at 10:01</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription" id="1021244759">
|
||||
<int key="type">1</int>
|
||||
<double key="pointSize">17</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont" id="470142378">
|
||||
<string key="NSName">Helvetica</string>
|
||||
<double key="NSSize">17</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{20, 166}, {280, 21}}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="355377987"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="576459619"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="244755503">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUILabel" id="360513702">
|
||||
<reference key="NSNextResponder" ref="244755503"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{80, 21}</string>
|
||||
<reference key="NSSuperview" ref="244755503"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="96927361"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Duration:</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<reference key="IBUIFontDescription" ref="819461290"/>
|
||||
<reference key="IBUIFont" ref="873933531"/>
|
||||
</object>
|
||||
<object class="IBUILabel" id="96927361">
|
||||
<reference key="NSNextResponder" ref="244755503"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{88, 0}, {192, 21}}</string>
|
||||
<reference key="NSSuperview" ref="244755503"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="310438316"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">9:05</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<reference key="IBUIFontDescription" ref="1021244759"/>
|
||||
<reference key="IBUIFont" ref="470142378"/>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{20, 195}, {280, 21}}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="360513702"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="576459619"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIView" id="310438316">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUILabel" id="343964638">
|
||||
<reference key="NSNextResponder" ref="310438316"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{57, 21}</string>
|
||||
<reference key="NSSuperview" ref="310438316"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="593607241"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Type:</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<reference key="IBUIFontDescription" ref="819461290"/>
|
||||
<reference key="IBUIFont" ref="873933531"/>
|
||||
</object>
|
||||
<object class="IBUILabel" id="593607241">
|
||||
<reference key="NSNextResponder" ref="310438316"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{65, 0}, {215, 21}}</string>
|
||||
<reference key="NSSuperview" ref="310438316"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="614750242"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">outgoing call</string>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<reference key="IBUIFontDescription" ref="1021244759"/>
|
||||
<reference key="IBUIFont" ref="470142378"/>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{20, 224}, {280, 21}}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="343964638"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="576459619"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIButton" id="614750242">
|
||||
<reference key="NSNextResponder" ref="581237105"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{33, 273}, {255, 50}}</string>
|
||||
<reference key="NSSuperview" ref="581237105"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<int key="IBUIContentHorizontalAlignment">0</int>
|
||||
<int key="IBUIContentVerticalAlignment">0</int>
|
||||
<bool key="IBUIAdjustsImageWhenHighlighted">NO</bool>
|
||||
<string key="IBUINormalTitle">0102030405</string>
|
||||
<reference key="IBUINormalTitleColor" ref="796303400"/>
|
||||
<reference key="IBUINormalTitleShadowColor" ref="30732699"/>
|
||||
<object class="NSCustomResource" key="IBUIHighlightedBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_background_over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalBackgroundImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">button_background_default.png</string>
|
||||
</object>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription">
|
||||
<int key="type">2</int>
|
||||
<double key="pointSize">20</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica-Bold</string>
|
||||
<double key="NSSize">20</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{0, 20}, {320, 460}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="136975389"/>
|
||||
<reference key="IBUIBackgroundColor" ref="576459619"/>
|
||||
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">view</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="581237105"/>
|
||||
</object>
|
||||
<int key="connectionID">10</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">addressButton</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="614750242"/>
|
||||
</object>
|
||||
<int key="connectionID">41</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">addressLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="383035685"/>
|
||||
</object>
|
||||
<int key="connectionID">42</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">avatarImage</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="7268130"/>
|
||||
</object>
|
||||
<int key="connectionID">43</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dateHeaderLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="355377987"/>
|
||||
</object>
|
||||
<int key="connectionID">44</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dateLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="702111471"/>
|
||||
</object>
|
||||
<int key="connectionID">45</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">durationHeaderLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="360513702"/>
|
||||
</object>
|
||||
<int key="connectionID">46</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">durationLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="96927361"/>
|
||||
</object>
|
||||
<int key="connectionID">47</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">typeHeaderLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="343964638"/>
|
||||
</object>
|
||||
<int key="connectionID">48</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">typeLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="593607241"/>
|
||||
</object>
|
||||
<int key="connectionID">49</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onBackClick:</string>
|
||||
<reference key="source" ref="455083905"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onAddressClick:</string>
|
||||
<reference key="source" ref="614750242"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">39</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onContactClick:</string>
|
||||
<reference key="source" ref="801771731"/>
|
||||
<reference key="destination" ref="372490531"/>
|
||||
<int key="IBEventType">7</int>
|
||||
</object>
|
||||
<int key="connectionID">40</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
<array key="orderedObjects">
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">0</int>
|
||||
<array key="object" id="0"/>
|
||||
<reference key="children" ref="1000"/>
|
||||
<nil key="parent"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-1</int>
|
||||
<reference key="object" ref="372490531"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">File's Owner</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">-2</int>
|
||||
<reference key="object" ref="975951072"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">4</int>
|
||||
<reference key="object" ref="581237105"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="136975389"/>
|
||||
<reference ref="768037913"/>
|
||||
<reference ref="614750242"/>
|
||||
<reference ref="943502497"/>
|
||||
<reference ref="244755503"/>
|
||||
<reference ref="310438316"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">6</int>
|
||||
<reference key="object" ref="136975389"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="778261436"/>
|
||||
<reference ref="455083905"/>
|
||||
</array>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">navigationBar</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="778261436"/>
|
||||
<reference key="parent" ref="136975389"/>
|
||||
<string key="objectName">barBackground</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">9</int>
|
||||
<reference key="object" ref="455083905"/>
|
||||
<reference key="parent" ref="136975389"/>
|
||||
<string key="objectName">backButton</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">29</int>
|
||||
<reference key="object" ref="943502497"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="702111471"/>
|
||||
<reference ref="355377987"/>
|
||||
</array>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">dateView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">27</int>
|
||||
<reference key="object" ref="355377987"/>
|
||||
<reference key="parent" ref="943502497"/>
|
||||
<string key="objectName">dateHeaderLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">28</int>
|
||||
<reference key="object" ref="702111471"/>
|
||||
<reference key="parent" ref="943502497"/>
|
||||
<string key="objectName">dateLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">30</int>
|
||||
<reference key="object" ref="244755503"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="360513702"/>
|
||||
<reference ref="96927361"/>
|
||||
</array>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">durationView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">31</int>
|
||||
<reference key="object" ref="360513702"/>
|
||||
<reference key="parent" ref="244755503"/>
|
||||
<string key="objectName">durationHeaderLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="96927361"/>
|
||||
<reference key="parent" ref="244755503"/>
|
||||
<string key="objectName">durationLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">33</int>
|
||||
<reference key="object" ref="768037913"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="383035685"/>
|
||||
<reference ref="801771731"/>
|
||||
<reference ref="162711893"/>
|
||||
<reference ref="7268130"/>
|
||||
</array>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">headerView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">25</int>
|
||||
<reference key="object" ref="383035685"/>
|
||||
<reference key="parent" ref="768037913"/>
|
||||
<string key="objectName">addressLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="7268130"/>
|
||||
<reference key="parent" ref="768037913"/>
|
||||
<string key="objectName">avatarImage</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">24</int>
|
||||
<reference key="object" ref="162711893"/>
|
||||
<reference key="parent" ref="768037913"/>
|
||||
<string key="objectName">avatarShadowBackground</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">34</int>
|
||||
<reference key="object" ref="310438316"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="593607241"/>
|
||||
<reference ref="343964638"/>
|
||||
</array>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">typeView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">35</int>
|
||||
<reference key="object" ref="593607241"/>
|
||||
<reference key="parent" ref="310438316"/>
|
||||
<string key="objectName">typeLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">36</int>
|
||||
<reference key="object" ref="343964638"/>
|
||||
<reference key="parent" ref="310438316"/>
|
||||
<string key="objectName">typeHeaderLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">37</int>
|
||||
<reference key="object" ref="614750242"/>
|
||||
<reference key="parent" ref="581237105"/>
|
||||
<string key="objectName">addressButton</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">38</int>
|
||||
<reference key="object" ref="801771731"/>
|
||||
<reference key="parent" ref="768037913"/>
|
||||
<string key="objectName">headerButton</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
<string key="-1.CustomClassName">HistoryDetailsViewController</string>
|
||||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="24.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="25.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="28.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="29.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="30.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="31.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="34.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="35.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="36.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="37.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="37.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="38.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="8.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="9.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="9.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
|
||||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">49</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">HistoryDetailsViewController</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="onAddressClick:">id</string>
|
||||
<string key="onBackClick:">id</string>
|
||||
<string key="onContactClick:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="onAddressClick:">
|
||||
<string key="name">onAddressClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onBackClick:">
|
||||
<string key="name">onBackClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onContactClick:">
|
||||
<string key="name">onContactClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addressButton">UIButton</string>
|
||||
<string key="addressLabel">UILabel</string>
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="dateHeaderLabel">UILabel</string>
|
||||
<string key="dateLabel">UILabel</string>
|
||||
<string key="durationHeaderLabel">UILabel</string>
|
||||
<string key="durationLabel">UILabel</string>
|
||||
<string key="typeHeaderLabel">UILabel</string>
|
||||
<string key="typeLabel">UILabel</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addressButton">
|
||||
<string key="name">addressButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="addressLabel">
|
||||
<string key="name">addressLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="avatarImage">
|
||||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dateHeaderLabel">
|
||||
<string key="name">dateHeaderLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dateLabel">
|
||||
<string key="name">dateLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="durationHeaderLabel">
|
||||
<string key="name">durationHeaderLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="durationLabel">
|
||||
<string key="name">durationLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="typeHeaderLabel">
|
||||
<string key="name">typeHeaderLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="typeLabel">
|
||||
<string key="name">typeLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/HistoryDetailsViewController.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<real value="1296" key="NS.object.0"/>
|
||||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<dictionary class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="avatar_shadow_small.png">{262, 214}</string>
|
||||
<string key="avatar_unknown_small.png">{131, 131}</string>
|
||||
<string key="button_background_default.png">{550, 101}</string>
|
||||
<string key="button_background_over.png">{550, 101}</string>
|
||||
<string key="contact_back_default.png">{320, 117}</string>
|
||||
<string key="contact_back_over.png">{320, 117}</string>
|
||||
<string key="contact_bar_background.png">{5, 117}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
@ -21,6 +21,8 @@
|
|||
#import "UIHistoryCell.h"
|
||||
#import "LinphoneManager.h"
|
||||
#import "PhoneMainView.h"
|
||||
#import "UACellBackgroundView.h"
|
||||
#import "UILinphone.h"
|
||||
|
||||
@implementation HistoryTableViewController
|
||||
|
||||
|
|
@ -95,6 +97,10 @@
|
|||
UIHistoryCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId];
|
||||
if (cell == nil) {
|
||||
cell = [[[UIHistoryCell alloc] initWithIdentifier:kCellId] autorelease];
|
||||
// Background View
|
||||
UACellBackgroundView *selectedBackgroundView = [[[UACellBackgroundView alloc] initWithFrame:CGRectZero] autorelease];
|
||||
cell.selectedBackgroundView = selectedBackgroundView;
|
||||
[selectedBackgroundView setBackgroundColor:LINPHONE_TABLE_CELL_BACKGROUND_COLOR];
|
||||
}
|
||||
|
||||
LinphoneCallLog *log = [[callLogs objectAtIndex:[indexPath row]] pointerValue];
|
||||
|
|
|
|||
|
|
@ -180,7 +180,6 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
|
||||
#pragma mark -
|
||||
|
||||
|
||||
- (void)callUpdate:(LinphoneCall *)call state:(LinphoneCallState) state {
|
||||
// Update table
|
||||
[callTableView reloadData];
|
||||
|
|
@ -384,66 +383,6 @@ const NSInteger SECURE_BUTTON_TAG=5;
|
|||
[[PhoneMainView instance] fullScreen:false];
|
||||
}
|
||||
|
||||
- (void)transferPressed {
|
||||
/* allow only if call is active */
|
||||
if (!linphone_core_get_current_call([LinphoneManager getLc]))
|
||||
return;
|
||||
|
||||
/* build UIActionSheet */
|
||||
if (visibleActionSheet != nil) {
|
||||
[visibleActionSheet dismissWithClickedButtonIndex:visibleActionSheet.cancelButtonIndex animated:TRUE];
|
||||
}
|
||||
|
||||
CallDelegate* cd = [[CallDelegate alloc] init];
|
||||
cd.eventType = CD_TRANSFER_CALL;
|
||||
cd.delegate = self;
|
||||
cd.call = linphone_core_get_current_call([LinphoneManager getLc]);
|
||||
NSString* title = NSLocalizedString(@"Transfer to ...",nil);
|
||||
visibleActionSheet = [[UIActionSheet alloc] initWithTitle:title
|
||||
delegate:cd
|
||||
cancelButtonTitle:nil
|
||||
destructiveButtonTitle:nil // NSLocalizedString(@"Other...",nil)
|
||||
otherButtonTitles:nil];
|
||||
|
||||
// add button for each trasnfer-to valid call
|
||||
const MSList* calls = linphone_core_get_calls([LinphoneManager getLc]);
|
||||
while (calls) {
|
||||
LinphoneCall* call = (LinphoneCall*) calls->data;
|
||||
LinphoneCallAppData* data = ((LinphoneCallAppData*)linphone_call_get_user_pointer(call));
|
||||
if (call != cd.call && !linphone_call_get_current_params(call)->in_conference) {
|
||||
const LinphoneAddress* addr = linphone_call_get_remote_address(call);
|
||||
NSString* btnTitle = [NSString stringWithFormat : NSLocalizedString(@"%s",nil), (linphone_address_get_display_name(addr) ?linphone_address_get_display_name(addr):linphone_address_get_username(addr))];
|
||||
data->transferButtonIndex = [visibleActionSheet addButtonWithTitle:btnTitle];
|
||||
} else {
|
||||
data->transferButtonIndex = -1;
|
||||
}
|
||||
calls = calls->next;
|
||||
}
|
||||
|
||||
if (visibleActionSheet.numberOfButtons == 0) {
|
||||
[visibleActionSheet release];
|
||||
visibleActionSheet = nil;
|
||||
|
||||
//TODO
|
||||
/*[UICallButton enableTransforMode:YES];*/
|
||||
[[PhoneMainView instance] changeView:PhoneView_Dialer];
|
||||
} else {
|
||||
// add 'Other' option
|
||||
[visibleActionSheet addButtonWithTitle:NSLocalizedString(@"Other...",nil)];
|
||||
|
||||
// add cancel button on iphone
|
||||
if (![LinphoneManager runningOnIpad]) {
|
||||
[visibleActionSheet addButtonWithTitle:NSLocalizedString(@"Cancel",nil)];
|
||||
}
|
||||
|
||||
visibleActionSheet.actionSheetStyle = UIActionSheetStyleDefault;
|
||||
if ([LinphoneManager runningOnIpad]) {
|
||||
//[visibleActionSheet showFromRect:transfer.bounds inView:transfer animated:NO];
|
||||
} else
|
||||
[visibleActionSheet showInView:[[UIApplication sharedApplication].delegate window]];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)displayVideoCall {
|
||||
[self enableVideoDisplay: TRUE];
|
||||
}
|
||||
|
|
@ -545,31 +484,6 @@ static void hideSpinner(LinphoneCall* call, void* user_data) {
|
|||
visibleActionSheet = nil;
|
||||
break;
|
||||
}
|
||||
case CD_TRANSFER_CALL: {
|
||||
LinphoneCall* call = (LinphoneCall*)datas;
|
||||
// browse existing call and trasnfer to the one matching the btn id
|
||||
const MSList* calls = linphone_core_get_calls([LinphoneManager getLc]);
|
||||
while (calls) {
|
||||
LinphoneCall* call2 = (LinphoneCall*) calls->data;
|
||||
LinphoneCallAppData* data = ((LinphoneCallAppData*)linphone_call_get_user_pointer(call2));
|
||||
if (data->transferButtonIndex == buttonIndex) {
|
||||
linphone_core_transfer_call_to_another([LinphoneManager getLc], call, call2);
|
||||
return;
|
||||
}
|
||||
data->transferButtonIndex = -1;
|
||||
calls = calls->next;
|
||||
}
|
||||
if (![LinphoneManager runningOnIpad] && buttonIndex == (actionSheet.numberOfButtons - 1)) {
|
||||
// cancel button
|
||||
return;
|
||||
}
|
||||
// user must jhave pressed 'other...' button as we did not find a call
|
||||
// with the correct indice
|
||||
//TODO
|
||||
//[UICallButton enableTransforMode:YES];
|
||||
[[PhoneMainView instance] changeView:PhoneView_Dialer];
|
||||
break;
|
||||
}
|
||||
default:
|
||||
ms_error("Unhandled CallDelegate event of type: %d received - ignoring", type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,12 +32,13 @@
|
|||
UIVideoButton* videoButton;
|
||||
UIMicroButton* microButton;
|
||||
UISpeakerButton* speakerButton;
|
||||
UIButton* optionsButton;
|
||||
UIToggleButton* optionsButton;
|
||||
UIHangUpButton* hangupButton;
|
||||
UIView* padView;
|
||||
UIView* optionsView;
|
||||
UIButton* optionsAddButton;
|
||||
UIButton* optionsTransferButton;
|
||||
UIToggleButton* dialerButton;
|
||||
|
||||
//Key pad
|
||||
UIDigitButton* oneButton;
|
||||
|
|
@ -59,13 +60,14 @@
|
|||
@property (nonatomic, retain) IBOutlet UIVideoButton* videoButton;
|
||||
@property (nonatomic, retain) IBOutlet UIMicroButton* microButton;
|
||||
@property (nonatomic, retain) IBOutlet UISpeakerButton* speakerButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* optionsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIToggleButton* optionsButton;
|
||||
@property (nonatomic, retain) IBOutlet UIHangUpButton* hangupButton;
|
||||
@property (nonatomic, retain) IBOutlet UIView* padView;
|
||||
@property (nonatomic, retain) IBOutlet UIView* optionsView;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* optionsAddButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* optionsTransferButton;
|
||||
@property (nonatomic, retain) IBOutlet UIToggleButton* dialerButton;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* oneButton;
|
||||
@property (nonatomic, retain) IBOutlet UIButton* twoButton;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
|
||||
@synthesize optionsAddButton;
|
||||
@synthesize optionsTransferButton;
|
||||
@synthesize dialerButton;
|
||||
|
||||
@synthesize padView;
|
||||
@synthesize optionsView;
|
||||
|
|
@ -73,6 +74,7 @@
|
|||
|
||||
[optionsAddButton release];
|
||||
[optionsTransferButton release];
|
||||
[dialerButton release];
|
||||
|
||||
[oneButton release];
|
||||
[twoButton release];
|
||||
|
|
@ -156,6 +158,10 @@
|
|||
// Set selected+over background: IB lack !
|
||||
[optionsButton setImage:[UIImage imageNamed:@"options_over.png"]
|
||||
forState:(UIControlStateHighlighted | UIControlStateSelected)];
|
||||
|
||||
// Set selected+over background: IB lack !
|
||||
[dialerButton setImage:[UIImage imageNamed:@"dialer_alt_back_over.png"]
|
||||
forState:(UIControlStateHighlighted | UIControlStateSelected)];
|
||||
}
|
||||
|
||||
- (void)viewWillAppear:(BOOL)animated {
|
||||
|
|
@ -245,6 +251,7 @@
|
|||
#pragma mark -
|
||||
|
||||
- (void)showPad{
|
||||
[dialerButton setOn];
|
||||
if([padView isHidden]) {
|
||||
CGRect frame = [padView frame];
|
||||
int original_y = frame.origin.y;
|
||||
|
|
@ -267,6 +274,7 @@
|
|||
}
|
||||
|
||||
- (void)hidePad{
|
||||
[dialerButton setOff];
|
||||
if(![padView isHidden]) {
|
||||
CGRect frame = [padView frame];
|
||||
int original_y = frame.origin.y;
|
||||
|
|
@ -294,7 +302,7 @@
|
|||
}
|
||||
|
||||
- (void)showOptions{
|
||||
[optionsButton setSelected:TRUE];
|
||||
[optionsButton setOn];
|
||||
if([optionsView isHidden]) {
|
||||
CGRect frame = [optionsView frame];
|
||||
int original_y = frame.origin.y;
|
||||
|
|
@ -317,7 +325,7 @@
|
|||
}
|
||||
|
||||
- (void)hideOptions{
|
||||
[optionsButton setSelected:FALSE];
|
||||
[optionsButton setOff];
|
||||
if(![optionsView isHidden]) {
|
||||
CGRect frame = [optionsView frame];
|
||||
int original_y = frame.origin.y;
|
||||
|
|
|
|||
|
|
@ -672,6 +672,10 @@
|
|||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">dialer_alt_over.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUISelectedImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">dialer_alt_back_default.png</string>
|
||||
</object>
|
||||
<object class="NSCustomResource" key="IBUINormalImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">dialer_alt_default.png</string>
|
||||
|
|
@ -1131,6 +1135,9 @@
|
|||
<string key="-1.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="-2.CustomClassName">UIResponder</string>
|
||||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="10.CustomClassName">UIToggleButton</string>
|
||||
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="10.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="11.CustomClassName">UIMicroButton</string>
|
||||
<string key="11.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="3" key="11.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -1145,8 +1152,9 @@
|
|||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="59.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.CustomClassName">UIToggleButton</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="1" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<real value="2" key="6.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="62.CustomClassName">UIDigitButton</string>
|
||||
<string key="62.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="62.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -1238,6 +1246,7 @@
|
|||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="conferenceButton">UIButton</string>
|
||||
<string key="dialerButton">UIButton</string>
|
||||
<string key="eightButton">UIButton</string>
|
||||
<string key="fiveButton">UIButton</string>
|
||||
<string key="fourButton">UIButton</string>
|
||||
|
|
@ -1266,6 +1275,10 @@
|
|||
<string key="name">conferenceButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="dialerButton">
|
||||
<string key="name">dialerButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="eightButton">
|
||||
<string key="name">eightButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
|
|
@ -1468,6 +1481,7 @@
|
|||
<string key="background.png">{640, 523}</string>
|
||||
<string key="conference_default.png">{209, 136}</string>
|
||||
<string key="conference_over.png">{209, 136}</string>
|
||||
<string key="dialer_alt_back_default.png">{209, 136}</string>
|
||||
<string key="dialer_alt_default.png">{209, 136}</string>
|
||||
<string key="dialer_alt_over.png">{209, 136}</string>
|
||||
<string key="hangup_default.png">{222, 136}</string>
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{10, 8}, {27, 27}}</string>
|
||||
<reference key="NSSuperview" ref="316763236"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="394118737"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
|
|
@ -56,6 +57,7 @@
|
|||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{45, 0}, {60, 44}}</string>
|
||||
<reference key="NSSuperview" ref="316763236"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="641729677"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:328</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -91,6 +93,7 @@
|
|||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{110, 0}, {170, 44}}</string>
|
||||
<reference key="NSSuperview" ref="316763236"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="162769001"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:328</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -123,6 +126,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
|
||||
<reference key="NSSuperview" ref="316763236"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="753878244"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -161,7 +165,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
|
||||
<reference key="NSSuperview" ref="316763236"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -187,39 +191,15 @@
|
|||
</array>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="567463562"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="867293857">
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="812024104">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">list_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="1023335036">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="867293857"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
|
|
@ -239,22 +219,6 @@
|
|||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">backgroundView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="1023335036"/>
|
||||
</object>
|
||||
<int key="connectionID">28</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">selectedBackgroundView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="812024104"/>
|
||||
</object>
|
||||
<int key="connectionID">29</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">avatarImage</string>
|
||||
|
|
@ -353,18 +317,6 @@
|
|||
<reference key="parent" ref="316763236"/>
|
||||
<string key="objectName">chatContentLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">26</int>
|
||||
<reference key="object" ref="812024104"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">selectedBackground</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">27</int>
|
||||
<reference key="object" ref="1023335036"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">background</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="753878244"/>
|
||||
|
|
@ -385,8 +337,6 @@
|
|||
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="20.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="26.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="27.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="32.IBUIButtonInspectorSelectedEdgeInsetMetadataKey"/>
|
||||
<real value="1" key="32.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -397,7 +347,61 @@
|
|||
<nil key="sourceID"/>
|
||||
<int key="maxID">37</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIChatCell</string>
|
||||
<string key="superclassName">UITableViewCell</string>
|
||||
<dictionary class="NSMutableDictionary" key="actions">
|
||||
<string key="onDeleteClick:">id</string>
|
||||
<string key="onDetailsClick:">id</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="actionInfosByName">
|
||||
<object class="IBActionInfo" key="onDeleteClick:">
|
||||
<string key="name">onDeleteClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
<object class="IBActionInfo" key="onDetailsClick:">
|
||||
<string key="name">onDetailsClick:</string>
|
||||
<string key="candidateClassName">id</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="chatContentLabel">UILabel</string>
|
||||
<string key="deleteButton">UIButton</string>
|
||||
<string key="detailsButton">UIButton</string>
|
||||
<string key="displayNameLabel">UILabel</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="avatarImage">
|
||||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="chatContentLabel">
|
||||
<string key="name">chatContentLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="deleteButton">
|
||||
<string key="name">deleteButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="detailsButton">
|
||||
<string key="name">detailsButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="displayNameLabel">
|
||||
<string key="name">displayNameLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIChatCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
|
|
@ -412,7 +416,6 @@
|
|||
<string key="list_delete_over.png">{45, 45}</string>
|
||||
<string key="list_details_default.png">{45, 45}</string>
|
||||
<string key="list_details_over.png">{45, 45}</string>
|
||||
<string key="list_highlight.png">{640, 88}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
</data>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#import "ChatModel.h"
|
||||
|
||||
@interface UIChatRoomHeader : UIViewController {
|
||||
UILabel *contactLabel;
|
||||
UILabel *addressLabel;
|
||||
UIImageView *avatarImage;
|
||||
|
||||
NSString *contact;
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
@property (nonatomic, copy) NSString *contact;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UILabel *contactLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *addressLabel;
|
||||
@property (nonatomic, retain) IBOutlet UIImageView *avatarImage;
|
||||
|
||||
+ (CGFloat)height;
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
@implementation UIChatRoomHeader
|
||||
|
||||
@synthesize avatarImage;
|
||||
@synthesize contactLabel;
|
||||
@synthesize addressLabel;
|
||||
@synthesize contact;
|
||||
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
- (void)dealloc {
|
||||
[avatarImage release];
|
||||
[contactLabel release];
|
||||
[addressLabel release];
|
||||
[contact release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
- (void)update {
|
||||
if(contact != nil) {
|
||||
[avatarImage setImage:[UIImage imageNamed:@"avatar_unknown_small.png"]];
|
||||
[contactLabel setText:contact];
|
||||
[addressLabel setText:contact];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">1296</int>
|
||||
<string key="IBDocument.SystemVersion">11E53</string>
|
||||
<string key="IBDocument.SystemVersion">11D50</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.47</string>
|
||||
<string key="IBDocument.HIToolboxVersion">569.00</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
|
|
@ -69,9 +69,10 @@
|
|||
<object class="IBUILabel" id="683404399">
|
||||
<reference key="NSNextResponder" ref="1033790597"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{101, 27}, {199, 43}}</string>
|
||||
<string key="NSFrame">{{101, 37}, {199, 43}}</string>
|
||||
<reference key="NSSuperview" ref="1033790597"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
|
|
@ -129,11 +130,11 @@
|
|||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">contactLabel</string>
|
||||
<string key="label">addressLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="683404399"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
<int key="connectionID">12</int>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBMutableOrderedSet" key="objectRecords">
|
||||
|
|
@ -181,7 +182,7 @@
|
|||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="683404399"/>
|
||||
<reference key="parent" ref="1033790597"/>
|
||||
<string key="objectName">contactLabel</string>
|
||||
<string key="objectName">addressLabel</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
|
|
@ -199,7 +200,7 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">11</int>
|
||||
<int key="maxID">12</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -207,18 +208,18 @@
|
|||
<string key="className">UIChatRoomHeader</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addressLabel">UILabel</string>
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="contactLabel">UILabel</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addressLabel">
|
||||
<string key="name">addressLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="avatarImage">
|
||||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="contactLabel">
|
||||
<string key="name">contactLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
|
|
|
|||
|
|
@ -125,4 +125,19 @@
|
|||
[lastNameLabel setFrame: lastNameFrame];
|
||||
}
|
||||
|
||||
- (void)setHighlighted:(BOOL)highlighted {
|
||||
[self setHighlighted:highlighted animated:FALSE];
|
||||
}
|
||||
|
||||
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated {
|
||||
[super setHighlighted:highlighted animated:animated];
|
||||
if(highlighted) {
|
||||
[lastNameLabel setTextColor:[UIColor whiteColor]];
|
||||
[firstNameLabel setTextColor:[UIColor whiteColor]];
|
||||
} else {
|
||||
[lastNameLabel setTextColor:[UIColor blackColor]];
|
||||
[firstNameLabel setTextColor:[UIColor blackColor]];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@
|
|||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{6, 6}, {32, 32}}</string>
|
||||
<reference key="NSSuperview" ref="675878782"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="505648338"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
|
|
@ -51,6 +52,7 @@
|
|||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{46, 0}, {55, 44}}</string>
|
||||
<reference key="NSSuperview" ref="675878782"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="261477247"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:328</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
|
|
@ -63,10 +65,6 @@
|
|||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">John</string>
|
||||
<object class="NSColor" key="IBUITextColor" id="829378485">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MCAwIDAAA</bytes>
|
||||
</object>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
|
|
@ -86,7 +84,7 @@
|
|||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrame">{{111, 0}, {200, 44}}</string>
|
||||
<reference key="NSSuperview" ref="675878782"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<reference key="NSWindow"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:328</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
|
|
@ -98,7 +96,6 @@
|
|||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">Doe</string>
|
||||
<reference key="IBUITextColor" ref="829378485"/>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">1</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
|
|
@ -116,39 +113,15 @@
|
|||
</array>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="275930832"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="318755954">
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="770414954">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">list_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="278307539">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="318755954"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
|
|
@ -168,22 +141,6 @@
|
|||
</object>
|
||||
<int key="connectionID">18</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">selectedBackgroundView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="770414954"/>
|
||||
</object>
|
||||
<int key="connectionID">20</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">backgroundView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="278307539"/>
|
||||
</object>
|
||||
<int key="connectionID">22</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">avatarImage</string>
|
||||
|
|
@ -234,18 +191,6 @@
|
|||
<reference key="parent" ref="675878782"/>
|
||||
<string key="objectName">lastName</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">19</int>
|
||||
<reference key="object" ref="770414954"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">selectedBackground</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">21</int>
|
||||
<reference key="object" ref="278307539"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">background</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="275930832"/>
|
||||
|
|
@ -261,8 +206,6 @@
|
|||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="10.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="16.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="19.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
</dictionary>
|
||||
|
|
@ -272,7 +215,37 @@
|
|||
<nil key="sourceID"/>
|
||||
<int key="maxID">24</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes"/>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
<object class="IBPartialClassDescription">
|
||||
<string key="className">UIContactCell</string>
|
||||
<string key="superclassName">UITableViewCell</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="firstNameLabel">UILabel</string>
|
||||
<string key="lastNameLabel">UILabel</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="avatarImage">
|
||||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="firstNameLabel">
|
||||
<string key="name">firstNameLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="lastNameLabel">
|
||||
<string key="name">lastNameLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
</dictionary>
|
||||
<object class="IBClassDescriptionSource" key="sourceIdentifier">
|
||||
<string key="majorKey">IBProjectSource</string>
|
||||
<string key="minorKey">./Classes/UIContactCell.h</string>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<int key="IBDocument.localizationMode">0</int>
|
||||
<string key="IBDocument.TargetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
|
|
@ -281,10 +254,6 @@
|
|||
</object>
|
||||
<bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool>
|
||||
<int key="IBDocument.defaultPropertyAccessControl">3</int>
|
||||
<object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes">
|
||||
<string key="NS.key.0">list_highlight.png</string>
|
||||
<string key="NS.object.0">{640, 88}</string>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
#import <AddressBook/AddressBook.h>
|
||||
|
||||
@interface UIContactDetailsHeader : UIViewController<UITableViewDelegate, UITableViewDataSource, UITextFieldDelegate> {
|
||||
UILabel *contactLabel;
|
||||
UILabel *addressLabel;
|
||||
UIImageView *avatarImage;
|
||||
UIView *normalView;
|
||||
UIView *editView;
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
@property (nonatomic, assign) ABRecordRef contact;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UILabel *contactLabel;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *addressLabel;
|
||||
@property (nonatomic, retain) IBOutlet UIImageView *avatarImage;
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIView *normalView;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
@implementation UIContactDetailsHeader
|
||||
|
||||
@synthesize avatarImage;
|
||||
@synthesize contactLabel;
|
||||
@synthesize addressLabel;
|
||||
@synthesize contact;
|
||||
@synthesize normalView;
|
||||
@synthesize editView;
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
|
||||
- (void)dealloc {
|
||||
[avatarImage release];
|
||||
[contactLabel release];
|
||||
[addressLabel release];
|
||||
[normalView release];
|
||||
[editView release];
|
||||
[tableView release];
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
|
||||
// Contact label
|
||||
{
|
||||
[contactLabel setText:[FastAddressBook getContactDisplayName:contact]];
|
||||
[addressLabel setText:[FastAddressBook getContactDisplayName:contact]];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@
|
|||
<string key="NSFrame">{{20, 6}, {65, 65}}</string>
|
||||
<reference key="NSSuperview" ref="1033790597"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="451441616"/>
|
||||
<reference key="NSNextKeyView" ref="959860357"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -74,9 +74,10 @@
|
|||
<object class="IBUILabel" id="683404399">
|
||||
<reference key="NSNextResponder" ref="959860357"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrame">{{14, 37}, {199, 43}}</string>
|
||||
<string key="NSFrame">{{0, 37}, {199, 43}}</string>
|
||||
<reference key="NSSuperview" ref="959860357"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="451441616"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
|
|
@ -102,7 +103,7 @@
|
|||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{93, 0}, {227, 80}}</string>
|
||||
<string key="NSFrame">{{101, 0}, {219, 80}}</string>
|
||||
<reference key="NSSuperview" ref="1033790597"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="683404399"/>
|
||||
|
|
@ -120,10 +121,9 @@
|
|||
<object class="IBUITableView" id="579848711">
|
||||
<reference key="NSNextResponder" ref="451441616"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{227, 130}</string>
|
||||
<string key="NSFrameSize">{219, 130}</string>
|
||||
<reference key="NSSuperview" ref="451441616"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="959860357"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">10</int>
|
||||
|
|
@ -193,7 +193,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<float key="IBUISectionFooterHeight">10</float>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{93, 0}, {227, 130}}</string>
|
||||
<string key="NSFrame">{{101, 0}, {219, 130}}</string>
|
||||
<reference key="NSSuperview" ref="1033790597"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="579848711"/>
|
||||
|
|
@ -229,14 +229,6 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
</object>
|
||||
<int key="connectionID">9</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">contactLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="683404399"/>
|
||||
</object>
|
||||
<int key="connectionID">11</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">editView</string>
|
||||
|
|
@ -261,6 +253,14 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
</object>
|
||||
<int key="connectionID">20</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">addressLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="683404399"/>
|
||||
</object>
|
||||
<int key="connectionID">21</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">dataSource</string>
|
||||
|
|
@ -342,7 +342,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<int key="objectID">8</int>
|
||||
<reference key="object" ref="683404399"/>
|
||||
<reference key="parent" ref="959860357"/>
|
||||
<string key="objectName">contactLabel</string>
|
||||
<string key="objectName">addressLabel</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">15</int>
|
||||
|
|
@ -368,7 +368,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">20</int>
|
||||
<int key="maxID">21</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -376,6 +376,7 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="className">UIContactDetailsHeader</string>
|
||||
<string key="superclassName">UIViewController</string>
|
||||
<dictionary class="NSMutableDictionary" key="outlets">
|
||||
<string key="addressLabel">UILabel</string>
|
||||
<string key="avatarImage">UIImageView</string>
|
||||
<string key="contactLabel">UILabel</string>
|
||||
<string key="editView">UIView</string>
|
||||
|
|
@ -383,6 +384,10 @@ AAgACAAIAAEAAQABAAE</bytes>
|
|||
<string key="tableView">UITableView</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
<object class="IBToOneOutletInfo" key="addressLabel">
|
||||
<string key="name">addressLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="avatarImage">
|
||||
<string key="name">avatarImage</string>
|
||||
<string key="candidateClassName">UIImageView</string>
|
||||
|
|
|
|||
|
|
@ -129,7 +129,6 @@
|
|||
<string key="NSFrame">{{276, 0}, {44, 44}}</string>
|
||||
<reference key="NSSuperview" ref="702431052"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
|
|
@ -158,39 +157,12 @@
|
|||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="811339934"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor" id="682184802">
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="40800487">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">list_highlight.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIImageView" id="183666818">
|
||||
<reference key="NSNextResponder"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{320, 44}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<reference key="IBUIBackgroundColor" ref="682184802"/>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
</array>
|
||||
<object class="IBObjectContainer" key="IBDocument.Objects">
|
||||
<array class="NSMutableArray" key="connectionRecords">
|
||||
|
|
@ -226,22 +198,6 @@
|
|||
</object>
|
||||
<int key="connectionID">17</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">selectedBackgroundView</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="40800487"/>
|
||||
</object>
|
||||
<int key="connectionID">22</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">backgroundView</string>
|
||||
<reference key="source" ref="841351856"/>
|
||||
<reference key="destination" ref="183666818"/>
|
||||
</object>
|
||||
<int key="connectionID">24</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onDetails:</string>
|
||||
|
|
@ -315,18 +271,6 @@
|
|||
<reference key="parent" ref="702431052"/>
|
||||
<string key="objectName">deleteButton</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">21</int>
|
||||
<reference key="object" ref="40800487"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">selectedBackground</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">23</int>
|
||||
<reference key="object" ref="183666818"/>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">background</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
|
|
@ -338,8 +282,6 @@
|
|||
<string key="15.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="2" key="15.IBUIButtonInspectorSelectedEdgeInsetMetadataKey"/>
|
||||
<real value="1" key="15.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
<string key="21.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="23.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="6.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="7.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
|
|
@ -415,7 +357,6 @@
|
|||
<string key="list_delete_over.png">{45, 45}</string>
|
||||
<string key="list_details_default.png">{45, 45}</string>
|
||||
<string key="list_details_over.png">{45, 45}</string>
|
||||
<string key="list_highlight.png">{640, 88}</string>
|
||||
</dictionary>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
</data>
|
||||
|
|
|
|||
25
Classes/LinphoneUI/UILinphone.h
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
/* UILinphone.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.
|
||||
*/
|
||||
|
||||
#ifndef UILINPHONE_H
|
||||
#define UILINPHONE_H
|
||||
|
||||
#define LINPHONE_TABLE_CELL_BACKGROUND_COLOR [UIColor colorWithRed:207.0f/255.0f green:76.0f/255.0f blue:41.0f/255.0f alpha:1.0f]
|
||||
|
||||
#endif
|
||||
|
|
@ -27,7 +27,9 @@
|
|||
/* MODIFICATION Remove chat
|
||||
UIButton *chatButton;
|
||||
*/
|
||||
UIButton *moreButton;
|
||||
UIButton *moreButton;
|
||||
UIView *historyNotificationView;
|
||||
UILabel *historyNotificationLabel;
|
||||
}
|
||||
|
||||
@property (nonatomic, retain) IBOutlet UIButton* historyButton;
|
||||
|
|
@ -38,6 +40,9 @@
|
|||
@property (nonatomic, retain) IBOutlet UIButton* chatButton;
|
||||
*/
|
||||
@property (nonatomic, retain) IBOutlet UIButton* moreButton;
|
||||
@property (nonatomic, retain) IBOutlet UIView *historyNotificationView;
|
||||
@property (nonatomic, retain) IBOutlet UILabel *historyNotificationLabel;
|
||||
|
||||
-(IBAction) onHistoryClick: (id) event;
|
||||
-(IBAction) onContactsClick: (id) event;
|
||||
-(IBAction) onDialerClick: (id) event;
|
||||
|
|
@ -46,4 +51,5 @@
|
|||
-(IBAction) onChatClick: (id) event;
|
||||
*/
|
||||
-(IBAction) onMoreClick: (id) event;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@
|
|||
*/
|
||||
@synthesize moreButton;
|
||||
|
||||
@synthesize historyNotificationView;
|
||||
@synthesize historyNotificationLabel;
|
||||
|
||||
#pragma mark - Lifecycle Functions
|
||||
|
||||
|
|
@ -46,6 +48,11 @@
|
|||
[dialerButton release];
|
||||
[settingsButton release];
|
||||
[moreButton release];
|
||||
/*
|
||||
[chatButton release];
|
||||
*/
|
||||
[historyNotificationView release];
|
||||
[historyNotificationLabel release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
|
@ -60,7 +67,16 @@
|
|||
selector:@selector(changeViewEvent:)
|
||||
name:@"LinphoneMainViewChange"
|
||||
object:nil];
|
||||
[self update:[[PhoneMainView instance] currentView]];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self
|
||||
selector:@selector(callUpdate:)
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
[self updateView:[[PhoneMainView instance] currentView]];
|
||||
if([LinphoneManager isLcReady]) {
|
||||
[self updateMissed:linphone_core_get_missed_calls_count([LinphoneManager getLc])];
|
||||
} else {
|
||||
[self updateMissed:0];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
|
|
@ -69,21 +85,83 @@
|
|||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneMainViewChange"
|
||||
object:nil];
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self
|
||||
name:@"LinphoneCallUpdate"
|
||||
object:nil];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Event Functions
|
||||
|
||||
- (void)callUpdate: (NSNotification*) notif {
|
||||
//LinphoneCall *call = [[notif.userInfo objectForKey: @"call"] pointerValue];
|
||||
//LinphoneCallState state = [[notif.userInfo objectForKey: @"state"] intValue];
|
||||
[self updateMissed:linphone_core_get_missed_calls_count([LinphoneManager getLc])];
|
||||
}
|
||||
|
||||
- (void)changeViewEvent: (NSNotification*) notif {
|
||||
NSNumber *viewNumber = [notif.userInfo objectForKey: @"view"];
|
||||
if(viewNumber != nil)
|
||||
[self update:[viewNumber intValue]];
|
||||
[self updateView:[viewNumber intValue]];
|
||||
}
|
||||
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)update:(PhoneView) view {
|
||||
- (void)updateMissed:(int)missedCall {
|
||||
if (missedCall > 0) {
|
||||
if([historyNotificationView isHidden]) {
|
||||
historyNotificationView.transform = CGAffineTransformIdentity;
|
||||
[self startShakeAnimation:@"Shake" target:historyNotificationView];
|
||||
[historyNotificationView setHidden:FALSE];
|
||||
}
|
||||
[historyNotificationLabel setText:[NSString stringWithFormat:@"%i", missedCall]];
|
||||
} else {
|
||||
if(![historyNotificationView isHidden]) {
|
||||
[self stopShakeAnimation:@"Shake" target:historyNotificationView];
|
||||
CGAffineTransform startCGA = [historyNotificationView transform];
|
||||
[UIView animateWithDuration:0.4
|
||||
delay:0
|
||||
options:UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAllowUserInteraction
|
||||
animations:^{
|
||||
historyNotificationView.transform = CGAffineTransformConcat(startCGA, CGAffineTransformMakeScale(0.01f, 0.01f));
|
||||
}
|
||||
completion:^(BOOL finished){
|
||||
[historyNotificationView setHidden:TRUE];
|
||||
}
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)startShakeAnimation:(NSString *)animationID target:(UIView *)target {
|
||||
[target setTransform:CGAffineTransformMakeTranslation(0, -4)];
|
||||
[UIView animateWithDuration: 0.3
|
||||
delay: 0
|
||||
options: UIViewAnimationOptionRepeat |
|
||||
UIViewAnimationOptionAutoreverse |
|
||||
UIViewAnimationOptionAllowUserInteraction |
|
||||
UIViewAnimationOptionCurveEaseIn
|
||||
animations:^{
|
||||
[target setTransform:CGAffineTransformMakeTranslation(0, 4)];
|
||||
}
|
||||
completion:^(BOOL finished){
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
- (void)stopShakeAnimation:(NSString *)animationID target:(UIView *)target {
|
||||
[target.layer removeAnimationForKey:animationID];
|
||||
}
|
||||
|
||||
- (void)updateView:(PhoneView) view {
|
||||
// Reset missed call
|
||||
if(view == PhoneView_History) {
|
||||
linphone_core_reset_missed_calls_count([LinphoneManager getLc]);
|
||||
[self updateMissed:0];
|
||||
}
|
||||
|
||||
// Update buttons
|
||||
if(view == PhoneView_History) {
|
||||
historyButton.selected = TRUE;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,11 @@
|
|||
<string key="NS.object.0">1181</string>
|
||||
</object>
|
||||
<array key="IBDocument.IntegratedClassDependencies">
|
||||
<string>IBProxyObject</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUIButton</string>
|
||||
<string>IBUIImageView</string>
|
||||
<string>IBUIView</string>
|
||||
<string>IBUILabel</string>
|
||||
<string>IBProxyObject</string>
|
||||
</array>
|
||||
<array key="IBDocument.PluginDependencies">
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
|
|
@ -41,7 +43,7 @@
|
|||
<string key="NSFrame">{{0, 11}, {320, 66}}</string>
|
||||
<reference key="NSSuperview" ref="1018893129"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="617445003"/>
|
||||
<reference key="NSNextKeyView" ref="698962606"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
|
|
@ -96,6 +98,71 @@
|
|||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUIView" id="698962606">
|
||||
<reference key="NSNextResponder" ref="1018893129"/>
|
||||
<int key="NSvFlags">-2147483356</int>
|
||||
<array class="NSMutableArray" key="NSSubviews">
|
||||
<object class="IBUIImageView" id="307047814">
|
||||
<reference key="NSNextResponder" ref="698962606"/>
|
||||
<int key="NSvFlags">274</int>
|
||||
<string key="NSFrameSize">{21, 21}</string>
|
||||
<reference key="NSSuperview" ref="698962606"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="364959328"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<object class="NSCustomResource" key="IBUIImage">
|
||||
<string key="NSClassName">NSImage</string>
|
||||
<string key="NSResourceName">history_notification.png</string>
|
||||
</object>
|
||||
</object>
|
||||
<object class="IBUILabel" id="364959328">
|
||||
<reference key="NSNextResponder" ref="698962606"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
<string key="NSFrameSize">{21, 21}</string>
|
||||
<reference key="NSSuperview" ref="698962606"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="617445003"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<bool key="IBUIOpaque">NO</bool>
|
||||
<bool key="IBUIClipsSubviews">YES</bool>
|
||||
<int key="IBUIContentMode">7</int>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
<string key="IBUIText">99</string>
|
||||
<object class="NSColor" key="IBUITextColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MQA</bytes>
|
||||
</object>
|
||||
<nil key="IBUIHighlightedColor"/>
|
||||
<int key="IBUIBaselineAdjustment">0</int>
|
||||
<float key="IBUIMinimumFontSize">10</float>
|
||||
<int key="IBUITextAlignment">1</int>
|
||||
<object class="IBUIFontDescription" key="IBUIFontDescription">
|
||||
<int key="type">1</int>
|
||||
<double key="pointSize">14</double>
|
||||
</object>
|
||||
<object class="NSFont" key="IBUIFont">
|
||||
<string key="NSName">Helvetica</string>
|
||||
<double key="NSSize">14</double>
|
||||
<int key="NSfFlags">16</int>
|
||||
</object>
|
||||
</object>
|
||||
</array>
|
||||
<string key="NSFrame">{{38, 5}, {21, 21}}</string>
|
||||
<reference key="NSSuperview" ref="1018893129"/>
|
||||
<reference key="NSWindow"/>
|
||||
<reference key="NSNextKeyView" ref="307047814"/>
|
||||
<string key="NSReuseIdentifierKey">_NS:9</string>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
</object>
|
||||
<bool key="IBUIAutoresizesSubviews">NO</bool>
|
||||
<bool key="IBUIUserInteractionEnabled">NO</bool>
|
||||
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
|
||||
</object>
|
||||
<object class="IBUIButton" id="617445003">
|
||||
<reference key="NSNextResponder" ref="1018893129"/>
|
||||
<int key="NSvFlags">292</int>
|
||||
|
|
@ -287,6 +354,22 @@
|
|||
</object>
|
||||
<int key="connectionID">31</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">historyNotificationLabel</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="364959328"/>
|
||||
</object>
|
||||
<int key="connectionID">35</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchOutletConnection" key="connection">
|
||||
<string key="label">historyNotificationView</string>
|
||||
<reference key="source" ref="372490531"/>
|
||||
<reference key="destination" ref="698962606"/>
|
||||
</object>
|
||||
<int key="connectionID">36</int>
|
||||
</object>
|
||||
<object class="IBConnectionRecord">
|
||||
<object class="IBCocoaTouchEventConnection" key="connection">
|
||||
<string key="label">onMoreClick:</string>
|
||||
|
|
@ -362,6 +445,7 @@
|
|||
<reference ref="55915342"/>
|
||||
<reference ref="83510153"/>
|
||||
<reference ref="562688945"/>
|
||||
<reference ref="698962606"/>
|
||||
</array>
|
||||
<reference key="parent" ref="0"/>
|
||||
<string key="objectName">mainTabBar</string>
|
||||
|
|
@ -403,6 +487,28 @@
|
|||
<reference key="parent" ref="1018893129"/>
|
||||
<string key="objectName">more</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">32</int>
|
||||
<reference key="object" ref="698962606"/>
|
||||
<array class="NSMutableArray" key="children">
|
||||
<reference ref="307047814"/>
|
||||
<reference ref="364959328"/>
|
||||
</array>
|
||||
<reference key="parent" ref="1018893129"/>
|
||||
<string key="objectName">historyNotificationView</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">33</int>
|
||||
<reference key="object" ref="307047814"/>
|
||||
<reference key="parent" ref="698962606"/>
|
||||
<string key="objectName">historyNotificationImage</string>
|
||||
</object>
|
||||
<object class="IBObjectRecord">
|
||||
<int key="objectID">34</int>
|
||||
<reference key="object" ref="364959328"/>
|
||||
<reference key="parent" ref="698962606"/>
|
||||
<string key="objectName">historyNotificationLabel</string>
|
||||
</object>
|
||||
</array>
|
||||
</object>
|
||||
<dictionary class="NSMutableDictionary" key="flattenedProperties">
|
||||
|
|
@ -412,6 +518,9 @@
|
|||
<string key="-2.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<dictionary class="NSMutableDictionary" key="3.IBAttributePlaceholdersKey"/>
|
||||
<string key="3.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="32.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="33.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="34.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="4.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="5.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<real value="0.0" key="5.IBUIButtonInspectorSelectedStateConfigurationMetadataKey"/>
|
||||
|
|
@ -428,7 +537,7 @@
|
|||
<nil key="activeLocalization"/>
|
||||
<dictionary class="NSMutableDictionary" key="localizations"/>
|
||||
<nil key="sourceID"/>
|
||||
<int key="maxID">31</int>
|
||||
<int key="maxID">36</int>
|
||||
</object>
|
||||
<object class="IBClassDescriber" key="IBDocument.Classes">
|
||||
<array class="NSMutableArray" key="referencedPartialClassDescriptions">
|
||||
|
|
@ -469,6 +578,8 @@
|
|||
<string key="dialerButton">UIButton</string>
|
||||
<string key="historyButton">UIButton</string>
|
||||
<string key="moreButton">UIButton</string>
|
||||
<string key="historyNotificationLabel">UILabel</string>
|
||||
<string key="historyNotificationView">UIView</string>
|
||||
<string key="settingsButton">UIButton</string>
|
||||
</dictionary>
|
||||
<dictionary class="NSMutableDictionary" key="toOneOutletInfosByName">
|
||||
|
|
@ -488,6 +599,14 @@
|
|||
<string key="name">moreButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="historyNotificationLabel">
|
||||
<string key="name">historyNotificationLabel</string>
|
||||
<string key="candidateClassName">UILabel</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="historyNotificationView">
|
||||
<string key="name">historyNotificationView</string>
|
||||
<string key="candidateClassName">UIView</string>
|
||||
</object>
|
||||
<object class="IBToOneOutletInfo" key="settingsButton">
|
||||
<string key="name">settingsButton</string>
|
||||
<string key="candidateClassName">UIButton</string>
|
||||
|
|
@ -516,6 +635,7 @@
|
|||
<string key="dialer_over.png">{128, 154}</string>
|
||||
<string key="dialer_selected.png">{128, 154}</string>
|
||||
<string key="history_default.png">{128, 154}</string>
|
||||
<string key="history_notification.png">{43, 43}</string>
|
||||
<string key="history_over.png">{128, 154}</string>
|
||||
<string key="history_selected.png">{128, 154}</string>
|
||||
<string key="more_default.png">{128, 154}</string>
|
||||
|
|
|
|||
|
|
@ -73,8 +73,6 @@
|
|||
[self.view addSubview: navigationController.view];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated {
|
||||
[super viewWillDisappear:animated];
|
||||
if ([[UIDevice currentDevice].systemVersion doubleValue] < 5.0) {
|
||||
|
|
|
|||
17
Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h
Executable file
|
|
@ -0,0 +1,17 @@
|
|||
//
|
||||
// TPKeyboardAvoidingScrollView.h
|
||||
//
|
||||
// Created by Michael Tyson on 11/04/2011.
|
||||
// Copyright 2011 A Tasty Pixel. All rights reserved.
|
||||
//
|
||||
|
||||
@interface TPKeyboardAvoidingScrollView : UIScrollView {
|
||||
UIEdgeInsets _priorInset;
|
||||
BOOL _priorInsetSaved;
|
||||
BOOL _keyboardVisible;
|
||||
CGRect _keyboardRect;
|
||||
CGSize _originalContentSize;
|
||||
}
|
||||
|
||||
- (void)adjustOffsetToIdealIfNeeded;
|
||||
@end
|
||||
186
Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m
Executable file
|
|
@ -0,0 +1,186 @@
|
|||
//
|
||||
// TPKeyboardAvoidingScrollView.m
|
||||
//
|
||||
// Created by Michael Tyson on 11/04/2011.
|
||||
// Copyright 2011 A Tasty Pixel. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TPKeyboardAvoidingScrollView.h"
|
||||
|
||||
#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey")
|
||||
|
||||
@interface TPKeyboardAvoidingScrollView ()
|
||||
- (UIView*)findFirstResponderBeneathView:(UIView*)view;
|
||||
- (UIEdgeInsets)contentInsetForKeyboard;
|
||||
- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space;
|
||||
- (CGRect)keyboardRect;
|
||||
@end
|
||||
|
||||
@implementation TPKeyboardAvoidingScrollView
|
||||
|
||||
- (void)setup {
|
||||
_priorInsetSaved = NO;
|
||||
if ( CGSizeEqualToSize(self.contentSize, CGSizeZero) ) {
|
||||
self.contentSize = self.bounds.size;
|
||||
}
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
|
||||
}
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame {
|
||||
if ( !(self = [super initWithFrame:frame]) ) return nil;
|
||||
[self setup];
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)awakeFromNib {
|
||||
[self setup];
|
||||
}
|
||||
|
||||
-(void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
#if !__has_feature(objc_arc)
|
||||
[super dealloc];
|
||||
#endif
|
||||
}
|
||||
|
||||
-(void)setFrame:(CGRect)frame {
|
||||
[super setFrame:frame];
|
||||
|
||||
CGSize contentSize = _originalContentSize;
|
||||
contentSize.width = MAX(contentSize.width, self.frame.size.width);
|
||||
contentSize.height = MAX(contentSize.height, self.frame.size.height);
|
||||
[super setContentSize:contentSize];
|
||||
|
||||
if ( _keyboardVisible ) {
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setContentSize:(CGSize)contentSize {
|
||||
_originalContentSize = contentSize;
|
||||
|
||||
contentSize.width = MAX(contentSize.width, self.frame.size.width);
|
||||
contentSize.height = MAX(contentSize.height, self.frame.size.height);
|
||||
[super setContentSize:contentSize];
|
||||
|
||||
if ( _keyboardVisible ) {
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
[[self findFirstResponderBeneathView:self] resignFirstResponder];
|
||||
[super touchesEnded:touches withEvent:event];
|
||||
}
|
||||
|
||||
- (void)keyboardWillShow:(NSNotification*)notification {
|
||||
_keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
||||
_keyboardVisible = YES;
|
||||
|
||||
UIView *firstResponder = [self findFirstResponderBeneathView:self];
|
||||
if ( !firstResponder ) {
|
||||
// No child view is the first responder - nothing to do here
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_priorInsetSaved) {
|
||||
_priorInset = self.contentInset;
|
||||
_priorInsetSaved = YES;
|
||||
}
|
||||
|
||||
// Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
|
||||
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
|
||||
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
[self setContentOffset:CGPointMake(self.contentOffset.x,
|
||||
[self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y])
|
||||
animated:YES];
|
||||
[self setScrollIndicatorInsets:self.contentInset];
|
||||
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (void)keyboardWillHide:(NSNotification*)notification {
|
||||
_keyboardRect = CGRectZero;
|
||||
_keyboardVisible = NO;
|
||||
|
||||
// Restore dimensions to prior size
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
|
||||
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
|
||||
self.contentInset = _priorInset;
|
||||
[self setScrollIndicatorInsets:self.contentInset];
|
||||
_priorInsetSaved = NO;
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (UIView*)findFirstResponderBeneathView:(UIView*)view {
|
||||
// Search recursively for first responder
|
||||
for ( UIView *childView in view.subviews ) {
|
||||
if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView;
|
||||
UIView *result = [self findFirstResponderBeneathView:childView];
|
||||
if ( result ) return result;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIEdgeInsets)contentInsetForKeyboard {
|
||||
UIEdgeInsets newInset = self.contentInset;
|
||||
CGRect keyboardRect = [self keyboardRect];
|
||||
newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height));
|
||||
return newInset;
|
||||
}
|
||||
|
||||
-(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space {
|
||||
|
||||
// Convert the rect to get the view's distance from the top of the scrollView.
|
||||
CGRect rect = [view convertRect:view.bounds toView:self];
|
||||
|
||||
// Set starting offset to that point
|
||||
CGFloat offset = rect.origin.y;
|
||||
|
||||
|
||||
if ( self.contentSize.height - offset < space ) {
|
||||
// Scroll to the bottom
|
||||
offset = self.contentSize.height - space;
|
||||
} else {
|
||||
if ( view.bounds.size.height < space ) {
|
||||
// Center vertically if there's room
|
||||
offset -= floor((space-view.bounds.size.height)/2.0);
|
||||
}
|
||||
if ( offset + space > self.contentSize.height ) {
|
||||
// Clamp to content size
|
||||
offset = self.contentSize.height - space;
|
||||
}
|
||||
}
|
||||
|
||||
if (offset < 0) offset = 0;
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
-(void)adjustOffsetToIdealIfNeeded {
|
||||
|
||||
// Only do this if the keyboard is already visible
|
||||
if ( !_keyboardVisible ) return;
|
||||
|
||||
CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom;
|
||||
|
||||
CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]);
|
||||
|
||||
[self setContentOffset:idealOffset animated:YES];
|
||||
}
|
||||
|
||||
- (CGRect)keyboardRect {
|
||||
CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil];
|
||||
if ( keyboardRect.origin.y == 0 ) {
|
||||
CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil];
|
||||
keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height);
|
||||
}
|
||||
return keyboardRect;
|
||||
}
|
||||
|
||||
@end
|
||||
16
Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h
Executable file
|
|
@ -0,0 +1,16 @@
|
|||
//
|
||||
// TPKeyboardAvoidingTableView.h
|
||||
//
|
||||
// Created by Michael Tyson on 11/04/2011.
|
||||
// Copyright 2011 A Tasty Pixel. All rights reserved.
|
||||
//
|
||||
|
||||
@interface TPKeyboardAvoidingTableView : UITableView {
|
||||
UIEdgeInsets _priorInset;
|
||||
BOOL _priorInsetSaved;
|
||||
BOOL _keyboardVisible;
|
||||
CGRect _keyboardRect;
|
||||
}
|
||||
|
||||
- (void)adjustOffsetToIdealIfNeeded;
|
||||
@end
|
||||
173
Classes/Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m
Executable file
|
|
@ -0,0 +1,173 @@
|
|||
//
|
||||
// TPKeyboardAvoidingTableView.m
|
||||
//
|
||||
// Created by Michael Tyson on 11/04/2011.
|
||||
// Copyright 2011 A Tasty Pixel. All rights reserved.
|
||||
//
|
||||
|
||||
#import "TPKeyboardAvoidingTableView.h"
|
||||
|
||||
#define _UIKeyboardFrameEndUserInfoKey (&UIKeyboardFrameEndUserInfoKey != NULL ? UIKeyboardFrameEndUserInfoKey : @"UIKeyboardBoundsUserInfoKey")
|
||||
|
||||
@interface TPKeyboardAvoidingTableView ()
|
||||
- (UIView*)findFirstResponderBeneathView:(UIView*)view;
|
||||
- (UIEdgeInsets)contentInsetForKeyboard;
|
||||
- (CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space;
|
||||
- (CGRect)keyboardRect;
|
||||
@end
|
||||
|
||||
@implementation TPKeyboardAvoidingTableView
|
||||
|
||||
- (void)setup {
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
|
||||
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
|
||||
}
|
||||
|
||||
-(id)initWithFrame:(CGRect)frame {
|
||||
if ( !(self = [super initWithFrame:frame]) ) return nil;
|
||||
[self setup];
|
||||
return self;
|
||||
}
|
||||
|
||||
-(id)initWithCoder:(NSCoder *)aDecoder {
|
||||
if ( !(self = [super initWithCoder:aDecoder]) ) return nil;
|
||||
[self setup];
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)dealloc {
|
||||
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
||||
#if !__has_feature(objc_arc)
|
||||
[super dealloc];
|
||||
#endif
|
||||
}
|
||||
|
||||
-(void)setFrame:(CGRect)frame {
|
||||
[super setFrame:frame];
|
||||
if ( _keyboardVisible ) {
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
}
|
||||
}
|
||||
|
||||
-(void)setContentSize:(CGSize)contentSize {
|
||||
[super setContentSize:contentSize];
|
||||
if ( _keyboardVisible ) {
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
}
|
||||
}
|
||||
|
||||
- (void) touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
|
||||
[[self findFirstResponderBeneathView:self] resignFirstResponder];
|
||||
[super touchesEnded:touches withEvent:event];
|
||||
}
|
||||
|
||||
- (void)keyboardWillShow:(NSNotification*)notification {
|
||||
_keyboardRect = [[[notification userInfo] objectForKey:_UIKeyboardFrameEndUserInfoKey] CGRectValue];
|
||||
_keyboardVisible = YES;
|
||||
|
||||
UIView *firstResponder = [self findFirstResponderBeneathView:self];
|
||||
if ( !firstResponder ) {
|
||||
// No child view is the first responder - nothing to do here
|
||||
return;
|
||||
}
|
||||
|
||||
if (!_priorInsetSaved) {
|
||||
_priorInset = self.contentInset;
|
||||
_priorInsetSaved = YES;
|
||||
}
|
||||
|
||||
// Shrink view's inset by the keyboard's height, and scroll to show the text field/view being edited
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
|
||||
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
|
||||
|
||||
self.contentInset = [self contentInsetForKeyboard];
|
||||
[self setContentOffset:CGPointMake(self.contentOffset.x,
|
||||
[self idealOffsetForView:firstResponder withSpace:[self keyboardRect].origin.y - self.bounds.origin.y])
|
||||
animated:YES];
|
||||
[self setScrollIndicatorInsets:self.contentInset];
|
||||
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (void)keyboardWillHide:(NSNotification*)notification {
|
||||
_keyboardRect = CGRectZero;
|
||||
_keyboardVisible = NO;
|
||||
|
||||
// Restore dimensions to prior size
|
||||
[UIView beginAnimations:nil context:NULL];
|
||||
[UIView setAnimationCurve:[[[notification userInfo] objectForKey:UIKeyboardAnimationCurveUserInfoKey] intValue]];
|
||||
[UIView setAnimationDuration:[[[notification userInfo] objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue]];
|
||||
self.contentInset = _priorInset;
|
||||
[self setScrollIndicatorInsets:self.contentInset];
|
||||
_priorInsetSaved = NO;
|
||||
[UIView commitAnimations];
|
||||
}
|
||||
|
||||
- (UIView*)findFirstResponderBeneathView:(UIView*)view {
|
||||
// Search recursively for first responder
|
||||
for ( UIView *childView in view.subviews ) {
|
||||
if ( [childView respondsToSelector:@selector(isFirstResponder)] && [childView isFirstResponder] ) return childView;
|
||||
UIView *result = [self findFirstResponderBeneathView:childView];
|
||||
if ( result ) return result;
|
||||
}
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (UIEdgeInsets)contentInsetForKeyboard {
|
||||
UIEdgeInsets newInset = self.contentInset;
|
||||
CGRect keyboardRect = [self keyboardRect];
|
||||
newInset.bottom = keyboardRect.size.height - ((keyboardRect.origin.y+keyboardRect.size.height) - (self.bounds.origin.y+self.bounds.size.height));
|
||||
return newInset;
|
||||
}
|
||||
|
||||
-(CGFloat)idealOffsetForView:(UIView *)view withSpace:(CGFloat)space {
|
||||
|
||||
// Convert the rect to get the view's distance from the top of the scrollView.
|
||||
CGRect rect = [view convertRect:view.bounds toView:self];
|
||||
|
||||
// Set starting offset to that point
|
||||
CGFloat offset = rect.origin.y;
|
||||
|
||||
|
||||
if ( self.contentSize.height - offset < space ) {
|
||||
// Scroll to the bottom
|
||||
offset = self.contentSize.height - space;
|
||||
} else {
|
||||
if ( view.bounds.size.height < space ) {
|
||||
// Center vertically if there's room
|
||||
offset -= floor((space-view.bounds.size.height)/2.0);
|
||||
}
|
||||
if ( offset + space > self.contentSize.height ) {
|
||||
// Clamp to content size
|
||||
offset = self.contentSize.height - space;
|
||||
}
|
||||
}
|
||||
|
||||
if (offset < 0) offset = 0;
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
-(void)adjustOffsetToIdealIfNeeded {
|
||||
|
||||
// Only do this if the keyboard is already visible
|
||||
if ( !_keyboardVisible ) return;
|
||||
|
||||
CGFloat visibleSpace = self.bounds.size.height - self.contentInset.top - self.contentInset.bottom;
|
||||
|
||||
CGPoint idealOffset = CGPointMake(0, [self idealOffsetForView:[self findFirstResponderBeneathView:self] withSpace:visibleSpace]);
|
||||
|
||||
[self setContentOffset:idealOffset animated:YES];
|
||||
}
|
||||
|
||||
- (CGRect)keyboardRect {
|
||||
CGRect keyboardRect = [self convertRect:_keyboardRect fromView:nil];
|
||||
if ( keyboardRect.origin.y == 0 ) {
|
||||
CGRect screenBounds = [self convertRect:[UIScreen mainScreen].bounds fromView:nil];
|
||||
keyboardRect.origin = CGPointMake(0, screenBounds.size.height - keyboardRect.size.height);
|
||||
}
|
||||
return keyboardRect;
|
||||
}
|
||||
|
||||
@end
|
||||
30
Classes/Utils/UACellBackgroundView/UACellBackgroundView.h
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//
|
||||
// UACellBackgroundView.h
|
||||
// Ambiance
|
||||
//
|
||||
// Created by Matt Coneybeare on 1/31/10.
|
||||
// Copyright 2010 Urban Apps LLC. All rights reserved.
|
||||
//
|
||||
// Modified by Diorcet Yann on 07/12/12
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
typedef enum {
|
||||
UACellBackgroundViewPositionSingle = 0,
|
||||
UACellBackgroundViewPositionTop,
|
||||
UACellBackgroundViewPositionBottom,
|
||||
UACellBackgroundViewPositionMiddle
|
||||
} UACellBackgroundViewPosition;
|
||||
|
||||
@interface UACellBackgroundView : UIView {
|
||||
UACellBackgroundViewPosition position;
|
||||
BOOL automaticPositioning;
|
||||
}
|
||||
|
||||
@property(nonatomic) UACellBackgroundViewPosition position;
|
||||
@property(nonatomic, copy) UIColor *backgroundColor;
|
||||
@property(assign) BOOL automaticPositioning;
|
||||
|
||||
@end
|
||||
274
Classes/Utils/UACellBackgroundView/UACellBackgroundView.m
Normal file
|
|
@ -0,0 +1,274 @@
|
|||
//
|
||||
// UACellBackgroundView.m
|
||||
// Ambiance
|
||||
//
|
||||
// Created by Matt Coneybeare on 1/31/10.
|
||||
// Copyright 2010 Urban Apps LLC. All rights reserved.
|
||||
//
|
||||
// Modified by Diorcet Yann on 07/12/12
|
||||
|
||||
#define kDefaultMargin 10
|
||||
|
||||
#import "UACellBackgroundView.h"
|
||||
|
||||
static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth,float ovalHeight);
|
||||
|
||||
@implementation UACellBackgroundView
|
||||
|
||||
@synthesize position;
|
||||
@synthesize backgroundColor;
|
||||
@synthesize automaticPositioning;
|
||||
|
||||
- (void)initUACellBackgroundView {
|
||||
[super setBackgroundColor:[UIColor clearColor]];
|
||||
self->automaticPositioning = TRUE;
|
||||
}
|
||||
|
||||
- (id)init {
|
||||
self = [super init];
|
||||
if(self != nil) {
|
||||
[self initUACellBackgroundView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder {
|
||||
self = [super initWithCoder:aDecoder];
|
||||
if(self != nil) {
|
||||
[self initUACellBackgroundView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame {
|
||||
self = [super initWithFrame:frame];
|
||||
if(self != nil) {
|
||||
[self initUACellBackgroundView];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (BOOL)isOpaque {
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)setBackgroundColor:(UIColor *)abackgroundColor {
|
||||
if(self->backgroundColor != nil) {
|
||||
[self->backgroundColor release];
|
||||
}
|
||||
self->backgroundColor = [[UIColor alloc]initWithCGColor:abackgroundColor.CGColor];
|
||||
[self setNeedsDisplay];
|
||||
}
|
||||
|
||||
- (void)layoutSubviews {
|
||||
[super layoutSubviews];
|
||||
|
||||
if(!automaticPositioning)
|
||||
return;
|
||||
|
||||
//
|
||||
// Auto found position
|
||||
//
|
||||
|
||||
UIView *view = [self superview];
|
||||
// Find TableViewCell
|
||||
if(view != nil && ![view isKindOfClass:[UITableView class]]) view = [view superview];
|
||||
|
||||
UIView *cellView = [self superview];
|
||||
// Find TableViewCell
|
||||
if(cellView != nil && ![cellView isKindOfClass:[UITableViewCell class]]) cellView = [cellView superview];
|
||||
|
||||
if(view != nil && cellView != nil) {
|
||||
UITableViewCell *cell = (UITableViewCell*)cellView;
|
||||
UITableView *tableView = (UITableView*)view;
|
||||
|
||||
if([tableView style] == UITableViewStyleGrouped) {
|
||||
NSIndexPath *path = [tableView indexPathForCell:cell];
|
||||
if(path) {
|
||||
int count = [tableView numberOfRowsInSection:[path section]];
|
||||
// Set Position for background view
|
||||
if([path row] == 0) {
|
||||
if([path row] == (count - 1)) {
|
||||
[self setPosition:UACellBackgroundViewPositionSingle];
|
||||
} else {
|
||||
[self setPosition:UACellBackgroundViewPositionTop];
|
||||
}
|
||||
} else if([path row] == (count - 1)) {
|
||||
[self setPosition:UACellBackgroundViewPositionBottom];
|
||||
} else {
|
||||
[self setPosition:UACellBackgroundViewPositionMiddle];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
[self setPosition:UACellBackgroundViewPositionMiddle];
|
||||
}
|
||||
}
|
||||
[self setNeedsDisplay];
|
||||
}
|
||||
|
||||
- (void)drawRect:(CGRect)aRect {
|
||||
// Drawing code
|
||||
|
||||
CGContextRef c = UIGraphicsGetCurrentContext();
|
||||
|
||||
int lineWidth = 1;
|
||||
|
||||
CGRect rect = [self bounds];
|
||||
CGFloat minx = CGRectGetMinX(rect), midx = CGRectGetMidX(rect), maxx = CGRectGetMaxX(rect);
|
||||
CGFloat miny = CGRectGetMinY(rect), midy = CGRectGetMidY(rect), maxy = CGRectGetMaxY(rect);
|
||||
miny -= 1;
|
||||
|
||||
CGFloat locations[2] = { 0.0, 1.0 };
|
||||
CGColorSpaceRef myColorspace = CGColorSpaceCreateDeviceRGB();
|
||||
CGGradientRef myGradient = nil;
|
||||
CGFloat redColor, greenColor, blueColor, alphaColor;
|
||||
[[self backgroundColor] getRed:&redColor green:&greenColor blue:&blueColor alpha:&alphaColor];
|
||||
CGFloat components[8] = {redColor, greenColor, blueColor, alphaColor, redColor * 0.766f, greenColor * 0.766f, blueColor * 0.766f, alphaColor};
|
||||
CGContextSetStrokeColorWithColor(c, [[UIColor grayColor] CGColor]);
|
||||
CGContextSetLineWidth(c, lineWidth);
|
||||
CGContextSetAllowsAntialiasing(c, YES);
|
||||
CGContextSetShouldAntialias(c, YES);
|
||||
|
||||
if (position == UACellBackgroundViewPositionTop) {
|
||||
|
||||
miny += 1;
|
||||
|
||||
CGMutablePathRef path = CGPathCreateMutable();
|
||||
CGPathMoveToPoint(path, NULL, minx, maxy);
|
||||
CGPathAddArcToPoint(path, NULL, minx, miny, midx, miny, kDefaultMargin);
|
||||
CGPathAddArcToPoint(path, NULL, maxx, miny, maxx, maxy, kDefaultMargin);
|
||||
CGPathAddLineToPoint(path, NULL, maxx, maxy);
|
||||
CGPathAddLineToPoint(path, NULL, minx, maxy);
|
||||
CGPathCloseSubpath(path);
|
||||
|
||||
// Fill and stroke the path
|
||||
CGContextSaveGState(c);
|
||||
CGContextAddPath(c, path);
|
||||
CGContextClip(c);
|
||||
|
||||
myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, 2);
|
||||
CGContextDrawLinearGradient(c, myGradient, CGPointMake(minx,miny), CGPointMake(minx,maxy), 0);
|
||||
|
||||
CGContextAddPath(c, path);
|
||||
CGPathRelease(path);
|
||||
CGContextStrokePath(c);
|
||||
CGContextRestoreGState(c);
|
||||
|
||||
} else if (position == UACellBackgroundViewPositionBottom) {
|
||||
|
||||
CGMutablePathRef path = CGPathCreateMutable();
|
||||
CGPathMoveToPoint(path, NULL, minx, miny);
|
||||
CGPathAddArcToPoint(path, NULL, minx, maxy, midx, maxy, kDefaultMargin);
|
||||
CGPathAddArcToPoint(path, NULL, maxx, maxy, maxx, miny, kDefaultMargin);
|
||||
CGPathAddLineToPoint(path, NULL, maxx, miny);
|
||||
CGPathAddLineToPoint(path, NULL, minx, miny);
|
||||
CGPathCloseSubpath(path);
|
||||
|
||||
// Fill and stroke the path
|
||||
CGContextSaveGState(c);
|
||||
CGContextAddPath(c, path);
|
||||
CGContextClip(c);
|
||||
|
||||
myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, 2);
|
||||
CGContextDrawLinearGradient(c, myGradient, CGPointMake(minx,miny), CGPointMake(minx,maxy), 0);
|
||||
|
||||
CGContextAddPath(c, path);
|
||||
CGPathRelease(path);
|
||||
CGContextStrokePath(c);
|
||||
CGContextRestoreGState(c);
|
||||
|
||||
|
||||
} else if (position == UACellBackgroundViewPositionMiddle) {
|
||||
|
||||
CGMutablePathRef path = CGPathCreateMutable();
|
||||
CGPathMoveToPoint(path, NULL, minx, miny);
|
||||
CGPathAddLineToPoint(path, NULL, maxx, miny);
|
||||
CGPathAddLineToPoint(path, NULL, maxx, maxy);
|
||||
CGPathAddLineToPoint(path, NULL, minx, maxy);
|
||||
CGPathAddLineToPoint(path, NULL, minx, miny);
|
||||
CGPathCloseSubpath(path);
|
||||
|
||||
// Fill and stroke the path
|
||||
CGContextSaveGState(c);
|
||||
CGContextAddPath(c, path);
|
||||
CGContextClip(c);
|
||||
|
||||
myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, 2);
|
||||
CGContextDrawLinearGradient(c, myGradient, CGPointMake(minx,miny), CGPointMake(minx,maxy), 0);
|
||||
|
||||
CGContextAddPath(c, path);
|
||||
CGPathRelease(path);
|
||||
CGContextStrokePath(c);
|
||||
CGContextRestoreGState(c);
|
||||
|
||||
} else if (position == UACellBackgroundViewPositionSingle) {
|
||||
miny += 1;
|
||||
|
||||
CGMutablePathRef path = CGPathCreateMutable();
|
||||
CGPathMoveToPoint(path, NULL, minx, midy);
|
||||
CGPathAddArcToPoint(path, NULL, minx, miny, midx, miny, kDefaultMargin);
|
||||
CGPathAddArcToPoint(path, NULL, maxx, miny, maxx, midy, kDefaultMargin);
|
||||
CGPathAddArcToPoint(path, NULL, maxx, maxy, midx, maxy, kDefaultMargin);
|
||||
CGPathAddArcToPoint(path, NULL, minx, maxy, minx, midy, kDefaultMargin);
|
||||
CGPathCloseSubpath(path);
|
||||
|
||||
|
||||
// Fill and stroke the path
|
||||
CGContextSaveGState(c);
|
||||
CGContextAddPath(c, path);
|
||||
CGContextClip(c);
|
||||
|
||||
|
||||
myGradient = CGGradientCreateWithColorComponents(myColorspace, components, locations, 2);
|
||||
CGContextDrawLinearGradient(c, myGradient, CGPointMake(minx,miny), CGPointMake(minx,maxy), 0);
|
||||
|
||||
CGContextAddPath(c, path);
|
||||
CGPathRelease(path);
|
||||
CGContextStrokePath(c);
|
||||
CGContextRestoreGState(c);
|
||||
}
|
||||
|
||||
CGColorSpaceRelease(myColorspace);
|
||||
CGGradientRelease(myGradient);
|
||||
return;
|
||||
}
|
||||
|
||||
- (void)dealloc {
|
||||
[backgroundColor release];
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (void)setPosition:(UACellBackgroundViewPosition)newPosition {
|
||||
if (position != newPosition) {
|
||||
position = newPosition;
|
||||
[self setNeedsDisplay];
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
static void addRoundedRectToPath(CGContextRef context, CGRect rect, float ovalWidth,float ovalHeight) {
|
||||
float fw, fh;
|
||||
|
||||
if (ovalWidth == 0 || ovalHeight == 0) {// 1
|
||||
CGContextAddRect(context, rect);
|
||||
return;
|
||||
}
|
||||
|
||||
CGContextSaveGState(context);// 2
|
||||
|
||||
CGContextTranslateCTM (context, CGRectGetMinX(rect),// 3
|
||||
CGRectGetMinY(rect));
|
||||
CGContextScaleCTM (context, ovalWidth, ovalHeight);// 4
|
||||
fw = CGRectGetWidth (rect) / ovalWidth;// 5
|
||||
fh = CGRectGetHeight (rect) / ovalHeight;// 6
|
||||
|
||||
CGContextMoveToPoint(context, fw, fh/2); // 7
|
||||
CGContextAddArcToPoint(context, fw, fh, fw/2, fh, 1);// 8
|
||||
CGContextAddArcToPoint(context, 0, fh, 0, fh/2, 1);// 9
|
||||
CGContextAddArcToPoint(context, 0, 0, fw/2, 0, 1);// 10
|
||||
CGContextAddArcToPoint(context, fw, 0, fw, fh/2, 1); // 11
|
||||
CGContextClosePath(context);// 12
|
||||
|
||||
CGContextRestoreGState(context);// 13
|
||||
}
|
||||
BIN
Resources/cancel_default.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
Resources/cancel_over.png
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
Resources/contact_cancel_default.png
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
Resources/contact_cancel_over.png
Normal file
|
After Width: | Height: | Size: 4.4 KiB |
BIN
Resources/dialer_alt_back_default.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
Resources/dialer_alt_back_over.png
Normal file
|
After Width: | Height: | Size: 4.1 KiB |
BIN
Resources/dialer_alt_background.png
Normal file
|
After Width: | Height: | Size: 3.3 KiB |
BIN
Resources/history_notification.png
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 5.1 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 5.3 KiB |
|
|
@ -148,6 +148,10 @@
|
|||
7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0B13E830E400EFC6DC /* libvpx.a */; };
|
||||
70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; };
|
||||
70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; };
|
||||
C90FAA7915AF54E6002091CB /* HistoryDetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsViewController.m */; };
|
||||
C90FAA7A15AF54E6002091CB /* HistoryDetailsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C90FAA7715AF54E6002091CB /* HistoryDetailsViewController.m */; };
|
||||
C90FAA7B15AF54E6002091CB /* HistoryDetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C90FAA7815AF54E6002091CB /* HistoryDetailsViewController.xib */; };
|
||||
C90FAA7C15AF54E6002091CB /* HistoryDetailsViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C90FAA7815AF54E6002091CB /* HistoryDetailsViewController.xib */; };
|
||||
C9C8254315AE204D00D493FA /* options_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8253F15AE204D00D493FA /* options_add_disabled.png */; };
|
||||
C9C8254415AE204D00D493FA /* options_add_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8253F15AE204D00D493FA /* options_add_disabled.png */; };
|
||||
C9C8254515AE204D00D493FA /* options_transfer_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = C9C8254015AE204D00D493FA /* options_transfer_disabled.png */; };
|
||||
|
|
@ -172,8 +176,6 @@
|
|||
D3128FF415AABE4E00A2147A /* contact_edit_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FE915AABE4E00A2147A /* contact_edit_default.png */; };
|
||||
D3128FF515AABE4E00A2147A /* contact_edit_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FEA15AABE4E00A2147A /* contact_edit_over.png */; };
|
||||
D3128FF615AABE4E00A2147A /* contact_edit_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3128FEA15AABE4E00A2147A /* contact_edit_over.png */; };
|
||||
D3196D2D15A3199D007FEEBA /* list_highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D2C15A3199D007FEEBA /* list_highlight.png */; };
|
||||
D3196D2E15A3199D007FEEBA /* list_highlight.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D2C15A3199D007FEEBA /* list_highlight.png */; };
|
||||
D3196D3415A321E3007FEEBA /* options_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D3015A321E2007FEEBA /* options_add_default.png */; };
|
||||
D3196D3515A321E3007FEEBA /* options_add_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D3015A321E2007FEEBA /* options_add_default.png */; };
|
||||
D3196D3615A321E3007FEEBA /* options_add_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3196D3115A321E2007FEEBA /* options_add_over.png */; };
|
||||
|
|
@ -524,6 +526,20 @@
|
|||
D3D6A3B4159B0EFE005F692C /* options_disabled.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A3A9159B0EFE005F692C /* options_disabled.png */; };
|
||||
D3D6A3B5159B0EFE005F692C /* options_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A3AA159B0EFE005F692C /* options_over.png */; };
|
||||
D3D6A3B6159B0EFE005F692C /* options_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3D6A3AA159B0EFE005F692C /* options_over.png */; };
|
||||
D3E84F1E15B00F4100420DAC /* cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1715B00F4100420DAC /* cancel_default.png */; };
|
||||
D3E84F1F15B00F4100420DAC /* cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1715B00F4100420DAC /* cancel_default.png */; };
|
||||
D3E84F2015B00F4100420DAC /* cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1815B00F4100420DAC /* cancel_over.png */; };
|
||||
D3E84F2115B00F4100420DAC /* cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1815B00F4100420DAC /* cancel_over.png */; };
|
||||
D3E84F2615B00F4100420DAC /* dialer_alt_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1B15B00F4100420DAC /* dialer_alt_back_default.png */; };
|
||||
D3E84F2715B00F4100420DAC /* dialer_alt_back_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1B15B00F4100420DAC /* dialer_alt_back_default.png */; };
|
||||
D3E84F2815B00F4100420DAC /* dialer_alt_back_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1C15B00F4100420DAC /* dialer_alt_back_over.png */; };
|
||||
D3E84F2915B00F4100420DAC /* dialer_alt_back_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1C15B00F4100420DAC /* dialer_alt_back_over.png */; };
|
||||
D3E84F2A15B00F4100420DAC /* dialer_alt_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1D15B00F4100420DAC /* dialer_alt_background.png */; };
|
||||
D3E84F2B15B00F4100420DAC /* dialer_alt_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F1D15B00F4100420DAC /* dialer_alt_background.png */; };
|
||||
D3E84F3815B011AF00420DAC /* contact_cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3615B011AF00420DAC /* contact_cancel_default.png */; };
|
||||
D3E84F3915B011AF00420DAC /* contact_cancel_default.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3615B011AF00420DAC /* contact_cancel_default.png */; };
|
||||
D3E84F3A15B011AF00420DAC /* contact_cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3715B011AF00420DAC /* contact_cancel_over.png */; };
|
||||
D3E84F3B15B011AF00420DAC /* contact_cancel_over.png in Resources */ = {isa = PBXBuildFile; fileRef = D3E84F3715B011AF00420DAC /* contact_cancel_over.png */; };
|
||||
D3E8F68615ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D3E8F68415ADE0580065A226 /* UIContactDetailsFooter.m */; };
|
||||
D3E8F68715ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = D3E8F68415ADE0580065A226 /* UIContactDetailsFooter.m */; };
|
||||
D3E8F68815ADE05B0065A226 /* UIContactDetailsFooter.xib in Resources */ = {isa = PBXBuildFile; fileRef = D3E8F68515ADE05A0065A226 /* UIContactDetailsFooter.xib */; };
|
||||
|
|
@ -712,6 +728,14 @@
|
|||
D3F9A9B415AEBC060045320F /* more_selected.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9AE15AEBC060045320F /* more_selected.png */; };
|
||||
D3F9A9B615AEBD2D0045320F /* contact_edit_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9B515AEBD2D0045320F /* contact_edit_background.png */; };
|
||||
D3F9A9B715AEBD2D0045320F /* contact_edit_background.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9B515AEBD2D0045320F /* contact_edit_background.png */; };
|
||||
D3F9A9DB15AEEB940045320F /* history_notification.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9DA15AEEB940045320F /* history_notification.png */; };
|
||||
D3F9A9DC15AEEB940045320F /* history_notification.png in Resources */ = {isa = PBXBuildFile; fileRef = D3F9A9DA15AEEB940045320F /* history_notification.png */; };
|
||||
D3F9A9E215AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */; };
|
||||
D3F9A9E315AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */; };
|
||||
D3F9A9E415AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */; };
|
||||
D3F9A9E515AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */; };
|
||||
D3F9A9EE15AF277E0045320F /* UACellBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */; };
|
||||
D3F9A9EF15AF277E0045320F /* UACellBackgroundView.m in Sources */ = {isa = PBXBuildFile; fileRef = D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */; };
|
||||
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 */
|
||||
|
|
@ -1035,6 +1059,9 @@
|
|||
70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
|
||||
70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
|
||||
8D1107310486CEB800E47090 /* linphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "linphone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
|
||||
C90FAA7615AF54E6002091CB /* HistoryDetailsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HistoryDetailsViewController.h; sourceTree = "<group>"; };
|
||||
C90FAA7715AF54E6002091CB /* HistoryDetailsViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HistoryDetailsViewController.m; sourceTree = "<group>"; };
|
||||
C90FAA7815AF54E6002091CB /* HistoryDetailsViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HistoryDetailsViewController.xib; sourceTree = "<group>"; };
|
||||
C9C8253F15AE204D00D493FA /* options_add_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_add_disabled.png; path = Resources/options_add_disabled.png; sourceTree = "<group>"; };
|
||||
C9C8254015AE204D00D493FA /* options_transfer_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_transfer_disabled.png; path = Resources/options_transfer_disabled.png; sourceTree = "<group>"; };
|
||||
C9C8254115AE204D00D493FA /* transfer_call_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = transfer_call_default.png; path = Resources/transfer_call_default.png; sourceTree = "<group>"; };
|
||||
|
|
@ -1048,7 +1075,6 @@
|
|||
D3128FE815AABE4E00A2147A /* contact_back_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_back_over.png; path = Resources/contact_back_over.png; sourceTree = "<group>"; };
|
||||
D3128FE915AABE4E00A2147A /* contact_edit_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_edit_default.png; path = Resources/contact_edit_default.png; sourceTree = "<group>"; };
|
||||
D3128FEA15AABE4E00A2147A /* contact_edit_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_edit_over.png; path = Resources/contact_edit_over.png; sourceTree = "<group>"; };
|
||||
D3196D2C15A3199D007FEEBA /* list_highlight.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = list_highlight.png; path = Resources/list_highlight.png; sourceTree = "<group>"; };
|
||||
D3196D3015A321E2007FEEBA /* options_add_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_add_default.png; path = Resources/options_add_default.png; sourceTree = "<group>"; };
|
||||
D3196D3115A321E2007FEEBA /* options_add_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_add_over.png; path = Resources/options_add_over.png; sourceTree = "<group>"; };
|
||||
D3196D3215A321E3007FEEBA /* options_transfer_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_transfer_default.png; path = Resources/options_transfer_default.png; sourceTree = "<group>"; };
|
||||
|
|
@ -1289,6 +1315,14 @@
|
|||
D3D6A3A8159B0EFE005F692C /* options_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_default.png; path = Resources/options_default.png; sourceTree = "<group>"; };
|
||||
D3D6A3A9159B0EFE005F692C /* options_disabled.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_disabled.png; path = Resources/options_disabled.png; sourceTree = "<group>"; };
|
||||
D3D6A3AA159B0EFE005F692C /* options_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = options_over.png; path = Resources/options_over.png; sourceTree = "<group>"; };
|
||||
D3E84F1715B00F4100420DAC /* cancel_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_default.png; path = Resources/cancel_default.png; sourceTree = "<group>"; };
|
||||
D3E84F1815B00F4100420DAC /* cancel_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = cancel_over.png; path = Resources/cancel_over.png; sourceTree = "<group>"; };
|
||||
D3E84F1B15B00F4100420DAC /* dialer_alt_back_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dialer_alt_back_default.png; path = Resources/dialer_alt_back_default.png; sourceTree = "<group>"; };
|
||||
D3E84F1C15B00F4100420DAC /* dialer_alt_back_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dialer_alt_back_over.png; path = Resources/dialer_alt_back_over.png; sourceTree = "<group>"; };
|
||||
D3E84F1D15B00F4100420DAC /* dialer_alt_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dialer_alt_background.png; path = Resources/dialer_alt_background.png; sourceTree = "<group>"; };
|
||||
D3E84F3615B011AF00420DAC /* contact_cancel_default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_cancel_default.png; path = Resources/contact_cancel_default.png; sourceTree = "<group>"; };
|
||||
D3E84F3715B011AF00420DAC /* contact_cancel_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_cancel_over.png; path = Resources/contact_cancel_over.png; sourceTree = "<group>"; };
|
||||
D3E84F3C15B018A600420DAC /* UILinphone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UILinphone.h; sourceTree = "<group>"; };
|
||||
D3E8F68315ADE0570065A226 /* UIContactDetailsFooter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIContactDetailsFooter.h; sourceTree = "<group>"; };
|
||||
D3E8F68415ADE0580065A226 /* UIContactDetailsFooter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIContactDetailsFooter.m; sourceTree = "<group>"; };
|
||||
D3E8F68515ADE05A0065A226 /* UIContactDetailsFooter.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UIContactDetailsFooter.xib; sourceTree = "<group>"; };
|
||||
|
|
@ -1401,6 +1435,13 @@
|
|||
D3F9A9AD15AEBC060045320F /* more_over.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = more_over.png; path = Resources/more_over.png; sourceTree = "<group>"; };
|
||||
D3F9A9AE15AEBC060045320F /* more_selected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = more_selected.png; path = Resources/more_selected.png; sourceTree = "<group>"; };
|
||||
D3F9A9B515AEBD2D0045320F /* contact_edit_background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = contact_edit_background.png; path = Resources/contact_edit_background.png; sourceTree = "<group>"; };
|
||||
D3F9A9DA15AEEB940045320F /* history_notification.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = history_notification.png; path = Resources/history_notification.png; sourceTree = "<group>"; };
|
||||
D3F9A9DE15AF100D0045320F /* TPKeyboardAvoidingScrollView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPKeyboardAvoidingScrollView.h; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.h; sourceTree = "<group>"; };
|
||||
D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPKeyboardAvoidingScrollView.m; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingScrollView.m; sourceTree = "<group>"; };
|
||||
D3F9A9E015AF100D0045320F /* TPKeyboardAvoidingTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TPKeyboardAvoidingTableView.h; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.h; sourceTree = "<group>"; };
|
||||
D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TPKeyboardAvoidingTableView.m; path = Utils/TPKeyboardAvoiding/TPKeyboardAvoidingTableView.m; sourceTree = "<group>"; };
|
||||
D3F9A9EC15AF277D0045320F /* UACellBackgroundView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UACellBackgroundView.h; path = Utils/UACellBackgroundView/UACellBackgroundView.h; sourceTree = "<group>"; };
|
||||
D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = UACellBackgroundView.m; path = Utils/UACellBackgroundView/UACellBackgroundView.m; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
|
|
@ -1542,6 +1583,9 @@
|
|||
2218A92212FBE1340088A667 /* FirstLoginViewController.h */,
|
||||
2218A92312FBE1340088A667 /* FirstLoginViewController.m */,
|
||||
2218A92412FBE1340088A667 /* FirstLoginViewController.xib */,
|
||||
C90FAA7615AF54E6002091CB /* HistoryDetailsViewController.h */,
|
||||
C90FAA7715AF54E6002091CB /* HistoryDetailsViewController.m */,
|
||||
C90FAA7815AF54E6002091CB /* HistoryDetailsViewController.xib */,
|
||||
D3ED3EA41587334B006C0DE4 /* HistoryTableViewController.h */,
|
||||
D3ED3EA51587334C006C0DE4 /* HistoryTableViewController.m */,
|
||||
D3ED3EB515873928006C0DE4 /* HistoryViewController.h */,
|
||||
|
|
@ -1843,6 +1887,7 @@
|
|||
D31C9C96158A1CDE00756B45 /* UIHistoryCell.h */,
|
||||
D31C9C97158A1CDE00756B45 /* UIHistoryCell.m */,
|
||||
D31AC4AF158A29C600C2638B /* UIHistoryCell.xib */,
|
||||
D3E84F3C15B018A600420DAC /* UILinphone.h */,
|
||||
D32409C1158B49A600C8C119 /* UILongTouchButton.h */,
|
||||
D32409C2158B49A600C8C119 /* UILongTouchButton.m */,
|
||||
D3ED3E841586291B006C0DE4 /* UIMainBar.h */,
|
||||
|
|
@ -2074,6 +2119,8 @@
|
|||
D31C9C8F158A1C1000756B45 /* call_status_outgoing.png */,
|
||||
D3F9A9A315AEBA460045320F /* castel_icon_57.png */,
|
||||
D3F9A9A415AEBA460045320F /* castel_icon_72.png */,
|
||||
D3E84F1715B00F4100420DAC /* cancel_default.png */,
|
||||
D3E84F1815B00F4100420DAC /* cancel_over.png */,
|
||||
D36C43CC158F2F370048BA40 /* cell_call.png */,
|
||||
D3211BB8159C8A820098460B /* cell_call_first.png */,
|
||||
D38D14AD15A30B3D008497E8 /* cell_call_first_highlight.png */,
|
||||
|
|
@ -2104,6 +2151,8 @@
|
|||
D3128FE815AABE4E00A2147A /* contact_back_over.png */,
|
||||
D378906915AC37C800BD776C /* contact_bar_background.png */,
|
||||
D3F9A9B515AEBD2D0045320F /* contact_edit_background.png */,
|
||||
D3E84F3615B011AF00420DAC /* contact_cancel_default.png */,
|
||||
D3E84F3715B011AF00420DAC /* contact_cancel_over.png */,
|
||||
D3128FE915AABE4E00A2147A /* contact_edit_default.png */,
|
||||
D3128FEA15AABE4E00A2147A /* contact_edit_over.png */,
|
||||
D37C638D15AAD251009D0BAC /* contact_number.png */,
|
||||
|
|
@ -2123,6 +2172,9 @@
|
|||
D3F83F761582253100336684 /* decline_default.png */,
|
||||
D3F83F771582253100336684 /* decline_over.png */,
|
||||
D3ED3E441585FB8C006C0DE4 /* dialer_address_background.png */,
|
||||
D3E84F1B15B00F4100420DAC /* dialer_alt_back_default.png */,
|
||||
D3E84F1C15B00F4100420DAC /* dialer_alt_back_over.png */,
|
||||
D3E84F1D15B00F4100420DAC /* dialer_alt_background.png */,
|
||||
D36C43CF158F2F370048BA40 /* dialer_alt_default.png */,
|
||||
D36C43D0158F2F370048BA40 /* dialer_alt_over.png */,
|
||||
D38327ED1580FE3A00FA0D23 /* dialer_default.png */,
|
||||
|
|
@ -2140,6 +2192,7 @@
|
|||
D3ED3E9515872EF1006C0DE4 /* history_edit_over.png */,
|
||||
D3ED3E9715872EF1006C0DE4 /* history_missed_default.png */,
|
||||
D3ED3E9615872EF1006C0DE4 /* history_missed_selected.png */,
|
||||
D3F9A9DA15AEEB940045320F /* history_notification.png */,
|
||||
D3F26BF515986DAD005F9CAB /* history_ok_default.png */,
|
||||
D3F26BF615986DAD005F9CAB /* history_ok_over.png */,
|
||||
D38327FD158100E400FA0D23 /* history_over.png */,
|
||||
|
|
@ -2155,7 +2208,6 @@
|
|||
D3EA5417159858A80037DC6B /* list_delete_over.png */,
|
||||
D354981815876FE7000081D8 /* list_details_default.png */,
|
||||
D354981915876FE7000081D8 /* list_details_over.png */,
|
||||
D3196D2C15A3199D007FEEBA /* list_highlight.png */,
|
||||
D3F83EF4158205A100336684 /* micro_off_default.png */,
|
||||
D35EA76115A2DF8D003E025D /* micro_off_disabled.png */,
|
||||
D3F83EF5158205A100336684 /* micro_off_over.png */,
|
||||
|
|
@ -2260,13 +2312,15 @@
|
|||
D326483415887D4400930C67 /* Utils */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D38935F715A6D06800A3A3AA /* CPAnimation */,
|
||||
D3F26BEA159869A6005F9CAB /* AbstractCall.h */,
|
||||
D3F26BEB159869A6005F9CAB /* AbstractCall.m */,
|
||||
D38935F715A6D06800A3A3AA /* CPAnimation */,
|
||||
D32B9DFA15A2F131000B6DEC /* FastAddressBook.h */,
|
||||
D32B9DFB15A2F131000B6DEC /* FastAddressBook.m */,
|
||||
D326483615887D5200930C67 /* OrderedDictionary.h */,
|
||||
D326483715887D5200930C67 /* OrderedDictionary.m */,
|
||||
D3F9A9DD15AF0FFE0045320F /* TPKeyboardAvoiding */,
|
||||
D3F9A9EB15AF27620045320F /* UACellBackgroundView */,
|
||||
);
|
||||
name = Utils;
|
||||
sourceTree = "<group>";
|
||||
|
|
@ -2387,6 +2441,26 @@
|
|||
path = Settings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D3F9A9DD15AF0FFE0045320F /* TPKeyboardAvoiding */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D3F9A9DE15AF100D0045320F /* TPKeyboardAvoidingScrollView.h */,
|
||||
D3F9A9DF15AF100D0045320F /* TPKeyboardAvoidingScrollView.m */,
|
||||
D3F9A9E015AF100D0045320F /* TPKeyboardAvoidingTableView.h */,
|
||||
D3F9A9E115AF100D0045320F /* TPKeyboardAvoidingTableView.m */,
|
||||
);
|
||||
name = TPKeyboardAvoiding;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
D3F9A9EB15AF27620045320F /* UACellBackgroundView */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
D3F9A9EC15AF277D0045320F /* UACellBackgroundView.h */,
|
||||
D3F9A9ED15AF277D0045320F /* UACellBackgroundView.m */,
|
||||
);
|
||||
name = UACellBackgroundView;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
|
|
@ -2662,7 +2736,6 @@
|
|||
D35EA76515A2DF8D003E025D /* micro_on_disabled.png in Resources */,
|
||||
D38D14AF15A30B3D008497E8 /* cell_call_first_highlight.png in Resources */,
|
||||
D38D14B115A30B3D008497E8 /* cell_call_highlight.png in Resources */,
|
||||
D3196D2D15A3199D007FEEBA /* list_highlight.png in Resources */,
|
||||
D3196D3415A321E3007FEEBA /* options_add_default.png in Resources */,
|
||||
D3196D3615A321E3007FEEBA /* options_add_over.png in Resources */,
|
||||
D3196D3815A321E3007FEEBA /* options_transfer_default.png in Resources */,
|
||||
|
|
@ -2724,6 +2797,15 @@
|
|||
D3F9A9B115AEBC060045320F /* more_over.png in Resources */,
|
||||
D3F9A9B315AEBC060045320F /* more_selected.png in Resources */,
|
||||
D3F9A9B615AEBD2D0045320F /* contact_edit_background.png in Resources */,
|
||||
C90FAA7B15AF54E6002091CB /* HistoryDetailsViewController.xib in Resources */,
|
||||
D3F9A9DB15AEEB940045320F /* history_notification.png in Resources */,
|
||||
D3E84F1E15B00F4100420DAC /* cancel_default.png in Resources */,
|
||||
D3E84F2015B00F4100420DAC /* cancel_over.png in Resources */,
|
||||
D3E84F2615B00F4100420DAC /* dialer_alt_back_default.png in Resources */,
|
||||
D3E84F2815B00F4100420DAC /* dialer_alt_back_over.png in Resources */,
|
||||
D3E84F2A15B00F4100420DAC /* dialer_alt_background.png in Resources */,
|
||||
D3E84F3815B011AF00420DAC /* contact_cancel_default.png in Resources */,
|
||||
D3E84F3A15B011AF00420DAC /* contact_cancel_over.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -2901,7 +2983,6 @@
|
|||
D35EA76615A2DF8D003E025D /* micro_on_disabled.png in Resources */,
|
||||
D38D14B015A30B3D008497E8 /* cell_call_first_highlight.png in Resources */,
|
||||
D38D14B215A30B3D008497E8 /* cell_call_highlight.png in Resources */,
|
||||
D3196D2E15A3199D007FEEBA /* list_highlight.png in Resources */,
|
||||
D3196D3515A321E3007FEEBA /* options_add_default.png in Resources */,
|
||||
D3196D3715A321E3007FEEBA /* options_add_over.png in Resources */,
|
||||
D3196D3915A321E3007FEEBA /* options_transfer_default.png in Resources */,
|
||||
|
|
@ -2963,6 +3044,15 @@
|
|||
D3F9A9B215AEBC060045320F /* more_over.png in Resources */,
|
||||
D3F9A9B415AEBC060045320F /* more_selected.png in Resources */,
|
||||
D3F9A9B715AEBD2D0045320F /* contact_edit_background.png in Resources */,
|
||||
C90FAA7C15AF54E6002091CB /* HistoryDetailsViewController.xib in Resources */,
|
||||
D3F9A9DC15AEEB940045320F /* history_notification.png in Resources */,
|
||||
D3E84F1F15B00F4100420DAC /* cancel_default.png in Resources */,
|
||||
D3E84F2115B00F4100420DAC /* cancel_over.png in Resources */,
|
||||
D3E84F2715B00F4100420DAC /* dialer_alt_back_default.png in Resources */,
|
||||
D3E84F2915B00F4100420DAC /* dialer_alt_back_over.png in Resources */,
|
||||
D3E84F2B15B00F4100420DAC /* dialer_alt_background.png in Resources */,
|
||||
D3E84F3915B011AF00420DAC /* contact_cancel_default.png in Resources */,
|
||||
D3E84F3B15B011AF00420DAC /* contact_cancel_over.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -3045,6 +3135,10 @@
|
|||
D378906515AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */,
|
||||
D378907515AC448A00BD776C /* UIView+ModalStack.m in Sources */,
|
||||
D3E8F68615ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */,
|
||||
C90FAA7915AF54E6002091CB /* HistoryDetailsViewController.m in Sources */,
|
||||
D3F9A9E215AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */,
|
||||
D3F9A9E415AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */,
|
||||
D3F9A9EE15AF277E0045320F /* UACellBackgroundView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
@ -3124,6 +3218,10 @@
|
|||
D378906615AC373B00BD776C /* ContactDetailsLabelViewController.m in Sources */,
|
||||
D378907615AC448A00BD776C /* UIView+ModalStack.m in Sources */,
|
||||
D3E8F68715ADE05B0065A226 /* UIContactDetailsFooter.m in Sources */,
|
||||
C90FAA7A15AF54E6002091CB /* HistoryDetailsViewController.m in Sources */,
|
||||
D3F9A9E315AF100D0045320F /* TPKeyboardAvoidingScrollView.m in Sources */,
|
||||
D3F9A9E515AF100D0045320F /* TPKeyboardAvoidingTableView.m in Sources */,
|
||||
D3F9A9EF15AF277E0045320F /* UACellBackgroundView.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
|
|
|||