Commit 55d76d0c authored by Chris Lu's avatar Chris Lu Committed by Commit Bot

[ios] Implement Translate Infobar modal button actions

This change adds targets for the remaining buttons to their appropriate
InfobarTranslateModalDelegate methods.

Bug: 1014959
Change-Id: I6d665d708a424559c9e406e9b67b4af554787a4a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1936287
Commit-Queue: Chris Lu <thegreenfrog@chromium.org>
Reviewed-by: default avatarSergio Collazos <sczs@chromium.org>
Cr-Commit-Position: refs/heads/master@{#719320}
parent 93a4996e
...@@ -177,15 +177,74 @@ typedef NS_ENUM(NSInteger, ItemType) { ...@@ -177,15 +177,74 @@ typedef NS_ENUM(NSInteger, ItemType) {
ItemType itemType = static_cast<ItemType>( ItemType itemType = static_cast<ItemType>(
[self.tableViewModel itemTypeForIndexPath:indexPath]); [self.tableViewModel itemTypeForIndexPath:indexPath]);
// TODO(crbug.com/1014959): implement other button actions. switch (itemType) {
if (itemType == ItemTypeTranslateButton) { case ItemTypeTranslateButton: {
TableViewTextButtonCell* tableViewTextButtonCell = TableViewTextButtonCell* tableViewTextButtonCell =
base::mac::ObjCCastStrict<TableViewTextButtonCell>(cell); base::mac::ObjCCastStrict<TableViewTextButtonCell>(cell);
[tableViewTextButtonCell.button tableViewTextButtonCell.selectionStyle =
addTarget:self.infobarModalDelegate UITableViewCellSelectionStyleNone;
action:@selector(modalInfobarButtonWasAccepted:) [tableViewTextButtonCell.button
forControlEvents:UIControlEventTouchUpInside]; addTarget:self.infobarModalDelegate
tableViewTextButtonCell.selectionStyle = UITableViewCellSelectionStyleNone; action:@selector(modalInfobarButtonWasAccepted:)
forControlEvents:UIControlEventTouchUpInside];
break;
}
case ItemTypeAlwaysTranslateSource: {
TableViewTextButtonCell* tableViewTextButtonCell =
base::mac::ObjCCastStrict<TableViewTextButtonCell>(cell);
tableViewTextButtonCell.selectionStyle =
UITableViewCellSelectionStyleNone;
if (self.shouldAlwaysTranslate) {
[tableViewTextButtonCell.button
addTarget:self.infobarModalDelegate
action:@selector(undoAlwaysTranslateSourceLanguage)
forControlEvents:UIControlEventTouchUpInside];
} else {
[tableViewTextButtonCell.button
addTarget:self.infobarModalDelegate
action:@selector(alwaysTranslateSourceLanguage)
forControlEvents:UIControlEventTouchUpInside];
}
break;
}
case ItemTypeNeverTranslateSource: {
TableViewTextButtonCell* tableViewTextButtonCell =
base::mac::ObjCCastStrict<TableViewTextButtonCell>(cell);
tableViewTextButtonCell.selectionStyle =
UITableViewCellSelectionStyleNone;
if (self.isTranslatableLanguage) {
[tableViewTextButtonCell.button
addTarget:self.infobarModalDelegate
action:@selector(neverTranslateSourceLanguage)
forControlEvents:UIControlEventTouchUpInside];
} else {
[tableViewTextButtonCell.button
addTarget:self.infobarModalDelegate
action:@selector(undoNeverTranslateSourceLanguage)
forControlEvents:UIControlEventTouchUpInside];
}
break;
}
case ItemTypeNeverTranslateSite: {
TableViewTextButtonCell* tableViewTextButtonCell =
base::mac::ObjCCastStrict<TableViewTextButtonCell>(cell);
tableViewTextButtonCell.selectionStyle =
UITableViewCellSelectionStyleNone;
if (self.isSiteBlacklisted) {
[tableViewTextButtonCell.button
addTarget:self.infobarModalDelegate
action:@selector(undoNeverTranslateSite)
forControlEvents:UIControlEventTouchUpInside];
} else {
[tableViewTextButtonCell.button addTarget:self.infobarModalDelegate
action:@selector(neverTranslateSite)
forControlEvents:UIControlEventTouchUpInside];
}
break;
}
case ItemTypeSourceLanguage:
case ItemTypeTargetLanguage:
break;
} }
return cell; return cell;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment