From e5ae91cc2bc8dc02ba02da8871b21bbd2627f49f Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 29 Apr 2016 11:49:15 +0200 Subject: [PATCH] sidemenu: display local primary contact when no account configured --- Classes/Base.lproj/SideMenuView.xib | 27 +++++++++++++++------------ Classes/SideMenuView.h | 3 ++- Classes/SideMenuView.m | 18 +++++++++++++----- 3 files changed, 30 insertions(+), 18 deletions(-) diff --git a/Classes/Base.lproj/SideMenuView.xib b/Classes/Base.lproj/SideMenuView.xib index 9e99f1e38..156ef1800 100644 --- a/Classes/Base.lproj/SideMenuView.xib +++ b/Classes/Base.lproj/SideMenuView.xib @@ -1,16 +1,17 @@ - + - + - + + @@ -54,17 +55,19 @@ - + + + + + + + + - + diff --git a/Classes/SideMenuView.h b/Classes/SideMenuView.h index 312c10ec3..ac71355c6 100644 --- a/Classes/SideMenuView.h +++ b/Classes/SideMenuView.h @@ -16,7 +16,8 @@ @property(strong, nonatomic) IBOutlet UISwipeGestureRecognizer *swipeGestureRecognizer; @property(weak, nonatomic) IBOutlet UIRoundedImageView *avatarImage; @property(weak, nonatomic) IBOutlet UILabel *nameLabel; -@property(weak, nonatomic) IBOutlet UIButton *addressButton; +@property(weak, nonatomic) IBOutlet UILabel *addressLabel; +@property(weak, nonatomic) IBOutlet UIImageView *presenceImage; @property(strong, nonatomic) IBOutlet SideMenuTableView *sideMenuTableViewController; @property(weak, nonatomic) IBOutlet UIView *grayBackground; - (IBAction)onLateralSwipe:(id)sender; diff --git a/Classes/SideMenuView.m b/Classes/SideMenuView.m index f084a900f..0026cd396 100644 --- a/Classes/SideMenuView.m +++ b/Classes/SideMenuView.m @@ -56,14 +56,22 @@ const LinphoneAddress *addr = linphone_proxy_config_get_identity_address(default_proxy); [ContactDisplay setDisplayNameLabel:_nameLabel forAddress:addr]; char *as_string = linphone_address_as_string_uri_only(addr); - [_addressButton setTitle:[NSString stringWithUTF8String:as_string] forState:UIControlStateNormal]; + _addressLabel.text = [NSString stringWithUTF8String:as_string]; ms_free(as_string); - [_addressButton setImage:[StatusBarView imageForState:linphone_proxy_config_get_state(default_proxy)] - forState:UIControlStateNormal]; + _presenceImage.image = [StatusBarView imageForState:linphone_proxy_config_get_state(default_proxy)]; } else { _nameLabel.text = @"No account"; - [_addressButton setTitle:NSLocalizedString(@"No address", nil) forState:UIControlStateNormal]; - [_addressButton setImage:nil forState:UIControlStateNormal]; + // display direct IP:port address so that we can be reached + LinphoneAddress *addr = linphone_core_get_primary_contact_parsed(LC); + if (addr) { + char *as_string = linphone_address_as_string_uri_only(addr); + _addressLabel.text = [NSString stringWithFormat:@"%s", as_string]; + ms_free(as_string); + linphone_address_destroy(addr); + } else { + _addressLabel.text = NSLocalizedString(@"No address", nil); + } + _presenceImage.image = nil; } _avatarImage.image = [LinphoneUtils selfAvatar]; }