mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-02 06:06:57 +02:00
@@ -147,6 +147,13 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
|
||||
@implementation RoomSettingsViewController
|
||||
|
||||
- (void)finalizeInit
|
||||
{
|
||||
[super finalizeInit];
|
||||
|
||||
_selectedRoomSettingsField = RoomSettingsViewControllerFieldNone;
|
||||
}
|
||||
|
||||
- (void)initWithSession:(MXSession *)session andRoomId:(NSString *)roomId
|
||||
{
|
||||
[super initWithSession:session andRoomId:roomId];
|
||||
@@ -244,6 +251,17 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)viewDidAppear:(BOOL)animated
|
||||
{
|
||||
[super viewDidAppear:animated];
|
||||
|
||||
// Edit the selected field if any
|
||||
if (_selectedRoomSettingsField != RoomSettingsViewControllerFieldNone)
|
||||
{
|
||||
self.selectedRoomSettingsField = _selectedRoomSettingsField;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)viewWillDisappear:(BOOL)animated
|
||||
{
|
||||
[super viewWillDisappear:animated];
|
||||
@@ -371,6 +389,44 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
||||
- (void)setSelectedRoomSettingsField:(RoomSettingsViewControllerField)selectedRoomSettingsField
|
||||
{
|
||||
// Check whether the view controller is already embedded inside a navigation controller
|
||||
if (self.navigationController)
|
||||
{
|
||||
[self dismissFirstResponder];
|
||||
|
||||
switch (selectedRoomSettingsField)
|
||||
{
|
||||
case RoomSettingsViewControllerFieldName:
|
||||
{
|
||||
[self editRoomName];
|
||||
break;
|
||||
}
|
||||
case RoomSettingsViewControllerFieldTopic:
|
||||
{
|
||||
[self editRoomTopic];
|
||||
break;
|
||||
}
|
||||
case RoomSettingsViewControllerFieldAvatar:
|
||||
{
|
||||
[self onRoomAvatarTap:nil];
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// This selection will be applied when the view controller will become active (see 'viewDidAppear')
|
||||
_selectedRoomSettingsField = selectedRoomSettingsField;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - private
|
||||
|
||||
- (void)editRoomName
|
||||
@@ -428,6 +484,8 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
{
|
||||
[addAddressTextField resignFirstResponder];
|
||||
}
|
||||
|
||||
_selectedRoomSettingsField = RoomSettingsViewControllerFieldNone;
|
||||
}
|
||||
|
||||
- (void)startActivityIndicator
|
||||
|
||||
Reference in New Issue
Block a user