Conference creation on iPad

This commit is contained in:
Christophe Deschamps 2022-10-19 09:53:01 +02:00
parent f2d7155aa2
commit ef94fd8eb8
9 changed files with 25 additions and 3 deletions

View file

@ -55,6 +55,9 @@
- (IBAction)onNextClick:(id)sender; - (IBAction)onNextClick:(id)sender;
- (IBAction)onChiffreClick:(id)sender; - (IBAction)onChiffreClick:(id)sender;
-(void) unfragmentCompositeDescription;
-(void) fragmentCompositeDescription;
@end @end
#endif /* ChatConversationCreateView_h */ #endif /* ChatConversationCreateView_h */

View file

@ -45,6 +45,17 @@ static UICompositeViewDescription *compositeDescription = nil;
return self.class.compositeViewDescription; return self.class.compositeViewDescription;
} }
-(void) unfragmentCompositeDescription {
compositeDescription.isLeftFragment = true;
compositeDescription.otherFragment = nil;
}
-(void) fragmentCompositeDescription {
compositeDescription.otherFragment = IPAD ? NSStringFromClass(ChatsListView.class) : nil;
compositeDescription.isLeftFragment = false;
}
- (void)viewDidLoad { - (void)viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
@ -126,7 +137,7 @@ static UICompositeViewDescription *compositeDescription = nil;
_chiffreButton.frame = buttonFrame; _chiffreButton.frame = buttonFrame;
_waitView.hidden = YES; _waitView.hidden = YES;
_backButton.hidden = IPAD; _backButton.hidden = IPAD && !(_isForVoipConference||_isForOngoingVoipConference);
if(_tableController.contactsGroup.count == 0) { if(_tableController.contactsGroup.count == 0) {
if (!_isForEditing) if (!_isForEditing)
_nextButton.enabled = FALSE; _nextButton.enabled = FALSE;

View file

@ -270,6 +270,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (IBAction)onBackClick:(id)sender { - (IBAction)onBackClick:(id)sender {
if(_create) { if(_create) {
ChatConversationCreateView *view = VIEW(ChatConversationCreateView); ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
[view fragmentCompositeDescription];
view.tableController.contactsGroup = [_contacts mutableCopy]; view.tableController.contactsGroup = [_contacts mutableCopy];
view.tableController.notFirstTime = TRUE; view.tableController.notFirstTime = TRUE;
view.isForEditing = FALSE; view.isForEditing = FALSE;
@ -296,6 +297,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (IBAction)onAddClick:(id)sender { - (IBAction)onAddClick:(id)sender {
if (_create || _imAdmin) { if (_create || _imAdmin) {
ChatConversationCreateView *view = VIEW(ChatConversationCreateView); ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
[view fragmentCompositeDescription];
view.tableController.notFirstTime = TRUE; view.tableController.notFirstTime = TRUE;
view.isForEditing = !_create; view.isForEditing = !_create;
view.isGroupChat = TRUE; view.isGroupChat = TRUE;

View file

@ -125,6 +125,7 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo
[LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"create_chat"]; [LinphoneManager.instance lpConfigSetBool:FALSE forKey:@"create_chat"];
} else if (![self selectFirstRow]) { } else if (![self selectFirstRow]) {
ChatConversationCreateView *view = VIEW(ChatConversationCreateView); ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
[view fragmentCompositeDescription];
view.tableController.notFirstTime = FALSE; view.tableController.notFirstTime = FALSE;
view.isForVoipConference = FALSE; view.isForVoipConference = FALSE;
[PhoneMainView.instance changeCurrentView:view.compositeViewDescription]; [PhoneMainView.instance changeCurrentView:view.compositeViewDescription];

View file

@ -117,6 +117,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)newChatCreate:(BOOL)isGroup { - (void)newChatCreate:(BOOL)isGroup {
ChatConversationCreateView *view = VIEW(ChatConversationCreateView); ChatConversationCreateView *view = VIEW(ChatConversationCreateView);
[view fragmentCompositeDescription];
view.isForEditing = false; view.isForEditing = false;
view.isGroupChat = isGroup; view.isGroupChat = isGroup;
view.tableController.notFirstTime = FALSE; view.tableController.notFirstTime = FALSE;

View file

@ -352,6 +352,7 @@
- (BOOL)handleShortcut:(UIApplicationShortcutItem *)shortcutItem { - (BOOL)handleShortcut:(UIApplicationShortcutItem *)shortcutItem {
BOOL success = NO; BOOL success = NO;
if ([shortcutItem.type isEqualToString:@"linphone.phone.action.newMessage"]) { if ([shortcutItem.type isEqualToString:@"linphone.phone.action.newMessage"]) {
[VIEW(ChatConversationCreateView) fragmentCompositeDescription];
[PhoneMainView.instance changeCurrentView:ChatConversationCreateView.compositeViewDescription]; [PhoneMainView.instance changeCurrentView:ChatConversationCreateView.compositeViewDescription];
success = YES; success = YES;
} }

View file

@ -238,6 +238,7 @@ import SVProgressHUD
func goBackParticipantsListSelection() { func goBackParticipantsListSelection() {
let view: ChatConversationCreateView = VIEW(ChatConversationCreateView.compositeViewDescription()) let view: ChatConversationCreateView = VIEW(ChatConversationCreateView.compositeViewDescription())
view.unfragmentCompositeDescription()
let addresses = ConferenceSchedulingViewModel.shared.selectedAddresses.value!.map { (address) in String(address.asStringUriOnly()) } let addresses = ConferenceSchedulingViewModel.shared.selectedAddresses.value!.map { (address) in String(address.asStringUriOnly()) }
view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray
view.tableController.notFirstTime = true view.tableController.notFirstTime = true

View file

@ -226,7 +226,8 @@ import IQKeyboardManager
func gotoParticipantsListSelection() { func gotoParticipantsListSelection() {
let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription()); let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription())
view.unfragmentCompositeDescription()
let addresses = ConferenceSchedulingViewModel.shared.selectedAddresses.value!.map { (address) in String(address.asStringUriOnly()) } let addresses = ConferenceSchedulingViewModel.shared.selectedAddresses.value!.map { (address) in String(address.asStringUriOnly()) }
view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray
view.isForEditing = false view.isForEditing = false

View file

@ -103,7 +103,8 @@ import linphonesw
} }
func gotoParticipantsListSelection() { func gotoParticipantsListSelection() {
let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription()); let view: ChatConversationCreateView = self.VIEW(ChatConversationCreateView.compositeViewDescription())
view.unfragmentCompositeDescription()
let addresses = ConferenceViewModel.shared.conferenceParticipants.value!.map { (data) in String(data.participant.address!.asStringUriOnly()) } let addresses = ConferenceViewModel.shared.conferenceParticipants.value!.map { (data) in String(data.participant.address!.asStringUriOnly()) }
view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray view.tableController.contactsGroup = (addresses as NSArray).mutableCopy() as? NSMutableArray
view.isForEditing = false view.isForEditing = false