mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-28 23:32:41 +00:00
Display the list of ignored users in user settings #451
This commit is contained in:
parent
083fd1d89f
commit
6b9c107b7b
2 changed files with 71 additions and 8 deletions
|
@ -200,6 +200,7 @@
|
|||
|
||||
"settings_user_settings" = "USER SETTINGS";
|
||||
"settings_notifications_settings" = "NOTIFICATION SETTINGS";
|
||||
"settings_ignored_users" = "IGNORED USERS";
|
||||
"settings_advanced" = "ADVANCED";
|
||||
"settings_other" = "OTHER";
|
||||
"settings_labs" = "LABS";
|
||||
|
|
|
@ -30,10 +30,11 @@
|
|||
#define SETTINGS_SECTION_SIGN_OUT_INDEX 0
|
||||
#define SETTINGS_SECTION_USER_SETTINGS_INDEX 1
|
||||
#define SETTINGS_SECTION_NOTIFICATIONS_SETTINGS_INDEX 2
|
||||
#define SETTINGS_SECTION_ADVANCED_INDEX 3
|
||||
#define SETTINGS_SECTION_OTHER_INDEX 4
|
||||
#define SETTINGS_SECTION_LABS_INDEX 5
|
||||
#define SETTINGS_SECTION_COUNT 6
|
||||
#define SETTINGS_SECTION_IGNORED_USERS_INDEX 3
|
||||
#define SETTINGS_SECTION_ADVANCED_INDEX 4
|
||||
#define SETTINGS_SECTION_OTHER_INDEX 5
|
||||
#define SETTINGS_SECTION_LABS_INDEX 6
|
||||
#define SETTINGS_SECTION_COUNT 7
|
||||
|
||||
#define NOTIFICATION_SETTINGS_ENABLE_PUSH_INDEX 0
|
||||
#define NOTIFICATION_SETTINGS_GLOBAL_SETTINGS_INDEX 1
|
||||
|
@ -56,6 +57,8 @@
|
|||
#define LABS_VOIP_INDEX 0
|
||||
#define LABS_COUNT 1
|
||||
|
||||
#define SECTION_TITLE_PADDING_WHEN_HIDDEN 0.01f
|
||||
|
||||
typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
||||
|
||||
|
||||
|
@ -555,6 +558,11 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
|||
{
|
||||
count = NOTIFICATION_SETTINGS_COUNT;
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_IGNORED_USERS_INDEX)
|
||||
{
|
||||
MXSession* session = [[AppDelegate theDelegate].mxSessions objectAtIndex:0];
|
||||
count = session.ignoredUsers.count;
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_ADVANCED_INDEX)
|
||||
{
|
||||
count = 1;
|
||||
|
@ -840,6 +848,20 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
|||
cell = globalInfoCell;
|
||||
}
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_IGNORED_USERS_INDEX)
|
||||
{
|
||||
MXKTableViewCell *privacyPolicyCell = [tableView dequeueReusableCellWithIdentifier:[MXKTableViewCell defaultReuseIdentifier]];
|
||||
if (!privacyPolicyCell)
|
||||
{
|
||||
privacyPolicyCell = [[MXKTableViewCell alloc] init];
|
||||
privacyPolicyCell.textLabel.font = [UIFont systemFontOfSize:17];
|
||||
}
|
||||
|
||||
privacyPolicyCell.textLabel.text = session.ignoredUsers[indexPath.row];
|
||||
privacyPolicyCell.textLabel.textColor = kVectorTextColorBlack;
|
||||
|
||||
cell = privacyPolicyCell;
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_ADVANCED_INDEX)
|
||||
{
|
||||
MXKTableViewCell *configCell = [tableView dequeueReusableCellWithIdentifier:[MXKTableViewCell defaultReuseIdentifier]];
|
||||
|
@ -996,10 +1018,34 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
|||
{
|
||||
return 30;
|
||||
}
|
||||
|
||||
else if (section == SETTINGS_SECTION_IGNORED_USERS_INDEX)
|
||||
{
|
||||
MXSession* session = [[AppDelegate theDelegate].mxSessions objectAtIndex:0];
|
||||
if (session.ignoredUsers.count == 0)
|
||||
{
|
||||
// Hide this section
|
||||
return SECTION_TITLE_PADDING_WHEN_HIDDEN;
|
||||
}
|
||||
}
|
||||
|
||||
return 60;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
|
||||
{
|
||||
if (section == SETTINGS_SECTION_IGNORED_USERS_INDEX)
|
||||
{
|
||||
MXSession* session = [[AppDelegate theDelegate].mxSessions objectAtIndex:0];
|
||||
if (session.ignoredUsers.count == 0)
|
||||
{
|
||||
// Hide this section
|
||||
return SECTION_TITLE_PADDING_WHEN_HIDDEN;
|
||||
}
|
||||
}
|
||||
|
||||
return [super tableView:tableView heightForFooterInSection:section];
|
||||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
|
||||
{
|
||||
UIView *sectionHeader = [[UIView alloc] initWithFrame:[tableView rectForHeaderInSection:section]];
|
||||
|
@ -1022,6 +1068,19 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
|||
{
|
||||
sectionLabel.text = NSLocalizedStringFromTable(@"settings_notifications_settings", @"Vector", nil);
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_IGNORED_USERS_INDEX)
|
||||
{
|
||||
MXSession* session = [[AppDelegate theDelegate].mxSessions objectAtIndex:0];
|
||||
if (session.ignoredUsers.count)
|
||||
{
|
||||
sectionLabel.text = NSLocalizedStringFromTable(@"settings_ignored_users", @"Vector", nil);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Hide this section
|
||||
sectionHeader = nil;
|
||||
}
|
||||
}
|
||||
else if (section == SETTINGS_SECTION_ADVANCED_INDEX)
|
||||
{
|
||||
sectionLabel.text = NSLocalizedStringFromTable(@"settings_advanced", @"Vector", nil);
|
||||
|
@ -1035,9 +1094,12 @@ typedef void (^blockSettingsViewController_onReadyToDestroy)();
|
|||
sectionLabel.text = NSLocalizedStringFromTable(@"settings_labs", @"Vector", nil);
|
||||
}
|
||||
|
||||
[sectionLabel sizeToFit];
|
||||
sectionLabel.frame = CGRectMake(10, sectionHeader.frame.size.height - sectionLabel.frame.size.height - 5, sectionHeader.frame.size.width - 20, sectionLabel.frame.size.height);
|
||||
[sectionHeader addSubview:sectionLabel];
|
||||
if (sectionHeader)
|
||||
{
|
||||
[sectionLabel sizeToFit];
|
||||
sectionLabel.frame = CGRectMake(10, sectionHeader.frame.size.height - sectionLabel.frame.size.height - 5, sectionHeader.frame.size.width - 20, sectionLabel.frame.size.height);
|
||||
[sectionHeader addSubview:sectionLabel];
|
||||
}
|
||||
|
||||
return sectionHeader;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue