diff --git a/Classes/AboutView.m b/Classes/AboutView.m index 1c17f0837..abe327561 100644 --- a/Classes/AboutView.m +++ b/Classes/AboutView.m @@ -89,6 +89,6 @@ static UICompositeViewDescription *compositeDescription = nil; } - (IBAction)onDialerBackClick:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; + [PhoneMainView.instance popCurrentView]; } @end diff --git a/Classes/AssistantLinkView.m b/Classes/AssistantLinkView.m index 2a169c500..145ffac70 100644 --- a/Classes/AssistantLinkView.m +++ b/Classes/AssistantLinkView.m @@ -272,7 +272,7 @@ void assistant_activate_phone_number_link(LinphoneAccountCreator *creator, Linph } - (IBAction)onDialerClick:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; + [PhoneMainView.instance popCurrentView]; } - (IBAction)onPhoneNumberDisclosureClick:(id)sender { diff --git a/Classes/AssistantView.h b/Classes/AssistantView.h index 7a0866cba..1b2c17ad0 100644 --- a/Classes/AssistantView.h +++ b/Classes/AssistantView.h @@ -85,7 +85,6 @@ - (void)fillDefaultValues; - (IBAction)onBackClick:(id)sender; -- (IBAction)onDialerClick:(id)sender; - (IBAction)onGotoCreateAccountClick:(id)sender; - (IBAction)onGotoLinphoneLoginClick:(id)sender; diff --git a/Classes/AssistantView.m b/Classes/AssistantView.m index c322a0e66..3fcba82d0 100644 --- a/Classes/AssistantView.m +++ b/Classes/AssistantView.m @@ -446,7 +446,6 @@ static UICompositeViewDescription *compositeDescription = nil; static BOOL placement_done = NO; // indicates if the button placement has been done in the assistant choice view - _backButton.hidden = (view == _welcomeView); if (view == _welcomeView) { BOOL show_logo = [LinphoneManager.instance lpConfigBoolForKey:@"show_assistant_logo_in_choice_view_preference"]; @@ -1576,15 +1575,19 @@ void assistant_is_account_linked(LinphoneAccountCreator *creator, LinphoneAccoun UIView *view = [historyViews lastObject]; [historyViews removeLastObject]; [self changeView:view back:TRUE animation:TRUE]; + } else if (currentView == _welcomeView) { + [PhoneMainView.instance popCurrentView]; } else { [self changeView:_welcomeView back:TRUE animation:TRUE]; } + } else { + [self onDialerClick:nil]; } } - (IBAction)onDialerClick:(id)sender { - [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; -} + [PhoneMainView.instance popToView:DialerView.compositeViewDescription]; + } - (IBAction)onLinkTap:(id)sender { NSString *url = @"http://linphone.org/free-sip-service.html&action=recover"; diff --git a/Classes/Base.lproj/AboutView.xib b/Classes/Base.lproj/AboutView.xib index 2c8fc0d04..e209e95e9 100644 --- a/Classes/Base.lproj/AboutView.xib +++ b/Classes/Base.lproj/AboutView.xib @@ -1,11 +1,11 @@ - + - + @@ -38,14 +38,14 @@ - - + - - + - - + - - - - + + @@ -97,7 +77,6 @@ - @@ -106,11 +85,9 @@ - - + + - - diff --git a/Classes/Base.lproj/ShopView.xib b/Classes/Base.lproj/ShopView.xib index 3e494c1a7..032ec7e1a 100644 --- a/Classes/Base.lproj/ShopView.xib +++ b/Classes/Base.lproj/ShopView.xib @@ -1,8 +1,11 @@ - - + + + + + - + @@ -15,37 +18,37 @@ - + - + - + - + - - + + @@ -62,12 +65,12 @@ - - + - + + + - - - - - - - diff --git a/Classes/SettingsView.h b/Classes/SettingsView.h index 5fb0e72ce..ce43ef5f5 100644 --- a/Classes/SettingsView.h +++ b/Classes/SettingsView.h @@ -27,6 +27,7 @@ : UIViewController { @private LinphoneCoreSettingsStore *settingsStore; + BOOL isRoot; } @property(nonatomic, strong) IBOutlet UINavigationController *navigationController; diff --git a/Classes/SettingsView.m b/Classes/SettingsView.m index e0e711453..7875f6063 100644 --- a/Classes/SettingsView.m +++ b/Classes/SettingsView.m @@ -736,7 +736,7 @@ void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStat } - (void)settingsViewControllerWillAppear:(IASKAppSettingsViewController *)sender { - _backButton.hidden = (sender.file == nil || [sender.file isEqualToString:@"Root"]); + isRoot = (sender.file == nil || [sender.file isEqualToString:@"Root"]); _titleLabel.text = sender.title; // going to account: fill account specific info @@ -1093,6 +1093,11 @@ void update_hash_cbs(LinphoneAccountCreator *creator, LinphoneAccountCreatorStat } - (IBAction)onBackClick:(id)sender { - [_settingsController.navigationController popViewControllerAnimated:YES]; + if (isRoot) { + [_settingsController.navigationController popViewControllerAnimated:NO]; + [PhoneMainView.instance popCurrentView]; + } else { + [_settingsController.navigationController popViewControllerAnimated:YES]; + } } @end