mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-05-02 14:16:59 +02:00
Banned user list should be shown in room settings #450
This commit is contained in:
@@ -36,8 +36,9 @@
|
||||
#define ROOM_SETTINGS_ROOM_ACCESS_SECTION_INDEX 1
|
||||
#define ROOM_SETTINGS_HISTORY_VISIBILITY_SECTION_INDEX 2
|
||||
#define ROOM_SETTINGS_ROOM_ADDRESSES_SECTION_INDEX 3
|
||||
#define ROOM_SETTINGS_ADVANCED_SECTION_INDEX 4
|
||||
#define ROOM_SETTINGS_SECTION_COUNT 5
|
||||
#define ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX 4
|
||||
#define ROOM_SETTINGS_ADVANCED_SECTION_INDEX 5
|
||||
#define ROOM_SETTINGS_SECTION_COUNT 6
|
||||
|
||||
#define ROOM_SETTINGS_MAIN_SECTION_ROW_PHOTO 0
|
||||
#define ROOM_SETTINGS_MAIN_SECTION_ROW_NAME 1
|
||||
@@ -60,6 +61,8 @@
|
||||
|
||||
#define ROOM_TOPIC_CELL_HEIGHT 124
|
||||
|
||||
#define SECTION_TITLE_PADDING_WHEN_HIDDEN 0.01f
|
||||
|
||||
NSString *const kRoomSettingsAvatarKey = @"kRoomSettingsAvatarKey";
|
||||
NSString *const kRoomSettingsAvatarURLKey = @"kRoomSettingsAvatarURLKey";
|
||||
NSString *const kRoomSettingsNameKey = @"kRoomSettingsNameKey";
|
||||
@@ -1504,6 +1507,10 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (section == ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX)
|
||||
{
|
||||
count = [mxRoomState membersWithMembership:MXMembershipBan].count;
|
||||
}
|
||||
else if (section == ROOM_SETTINGS_ADVANCED_SECTION_INDEX)
|
||||
{
|
||||
count = 1;
|
||||
@@ -1526,6 +1533,18 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
{
|
||||
return NSLocalizedStringFromTable(@"room_details_addresses_section", @"Vector", nil);
|
||||
}
|
||||
else if (section == ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX)
|
||||
{
|
||||
if ([mxRoomState membersWithMembership:MXMembershipBan].count)
|
||||
{
|
||||
return NSLocalizedStringFromTable(@"room_details_banned_users_section", @"Vector", nil);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hide this section
|
||||
return nil;
|
||||
}
|
||||
}
|
||||
else if (section == ROOM_SETTINGS_ADVANCED_SECTION_INDEX)
|
||||
{
|
||||
return NSLocalizedStringFromTable(@"room_details_advanced_section", @"Vector", nil);
|
||||
@@ -1534,6 +1553,32 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
|
||||
{
|
||||
if (section == ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX && [mxRoomState membersWithMembership:MXMembershipBan].count == 0)
|
||||
{
|
||||
// Hide this section
|
||||
return SECTION_TITLE_PADDING_WHEN_HIDDEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [super tableView:tableView heightForHeaderInSection:section];
|
||||
}
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
|
||||
{
|
||||
if (section == ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX && [mxRoomState membersWithMembership:MXMembershipBan].count == 0)
|
||||
{
|
||||
// Hide this section
|
||||
return SECTION_TITLE_PADDING_WHEN_HIDDEN;
|
||||
}
|
||||
else
|
||||
{
|
||||
return [super tableView:tableView heightForFooterInSection:section];
|
||||
}
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
if (indexPath.section == ROOM_SETTINGS_MAIN_SECTION_INDEX)
|
||||
@@ -2000,6 +2045,28 @@ NSString *const kRoomSettingsAdvancedCellViewIdentifier = @"kRoomSettingsAdvance
|
||||
cell = addressCell;
|
||||
}
|
||||
}
|
||||
else if (indexPath.section == ROOM_SETTINGS_BANNED_USERS_SECTION_INDEX)
|
||||
{
|
||||
UITableViewCell *addressCell = [tableView dequeueReusableCellWithIdentifier:kRoomSettingsAddressCellViewIdentifier forIndexPath:indexPath];
|
||||
|
||||
addressCell.textLabel.font = [UIFont systemFontOfSize:16];
|
||||
addressCell.textLabel.textColor = kVectorTextColorBlack;
|
||||
addressCell.textLabel.lineBreakMode = NSLineBreakByTruncatingMiddle;
|
||||
addressCell.accessoryView = nil;
|
||||
addressCell.accessoryType = UITableViewCellAccessoryNone;
|
||||
addressCell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
|
||||
while (addressCell.textLabel.gestureRecognizers.count)
|
||||
{
|
||||
[addressCell.textLabel removeGestureRecognizer:addressCell.textLabel.gestureRecognizers[0]];
|
||||
}
|
||||
addressCell.textLabel.userInteractionEnabled = NO;
|
||||
|
||||
MXRoomMember *bannedMember = [mxRoomState membersWithMembership:MXMembershipBan][indexPath.row];
|
||||
addressCell.textLabel.text = bannedMember.userId;
|
||||
|
||||
cell = addressCell;
|
||||
}
|
||||
else if (indexPath.section == ROOM_SETTINGS_ADVANCED_SECTION_INDEX)
|
||||
{
|
||||
cell = [tableView dequeueReusableCellWithIdentifier:kRoomSettingsAdvancedCellViewIdentifier];
|
||||
|
||||
Reference in New Issue
Block a user