| Index: chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm
|
| ===================================================================
|
| --- chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm (revision 157463)
|
| +++ chrome/browser/ui/cocoa/infobars/translate_infobar_base.mm (working copy)
|
| @@ -99,20 +99,6 @@
|
|
|
| @implementation TranslateInfoBarControllerBase
|
|
|
| -- (id)initWithDelegate:(InfoBarDelegate*)delegate
|
| - owner:(InfoBarService*)owner {
|
| - if ((self = [super initWithDelegate:delegate owner:owner])) {
|
| - originalLanguageMenuModel_.reset(
|
| - new LanguagesMenuModel([self delegate],
|
| - LanguagesMenuModel::ORIGINAL));
|
| -
|
| - targetLanguageMenuModel_.reset(
|
| - new LanguagesMenuModel([self delegate],
|
| - LanguagesMenuModel::TARGET));
|
| - }
|
| - return self;
|
| -}
|
| -
|
| - (TranslateInfoBarDelegate*)delegate {
|
| return reinterpret_cast<TranslateInfoBarDelegate*>(delegate_);
|
| }
|
| @@ -131,7 +117,7 @@
|
| fromLanguagePopUp_.reset([[NSPopUpButton alloc] initWithFrame:bogusFrame
|
| pullsDown:NO]);
|
| toLanguagePopUp_.reset([[NSPopUpButton alloc] initWithFrame:bogusFrame
|
| - pullsDown:NO]);
|
| + pullsDown:NO]);
|
| showOriginalButton_.reset([[NSButton alloc] init]);
|
| translateMessageButton_.reset([[NSButton alloc] init]);
|
| }
|
| @@ -141,7 +127,9 @@
|
| DCHECK_NE(TranslateInfoBarDelegate::kNoIndex, newLanguageIdxSizeT);
|
| if (newLanguageIdxSizeT == [self delegate]->original_language_index())
|
| return;
|
| - [self delegate]->SetOriginalLanguage(newLanguageIdxSizeT);
|
| + [self delegate]->set_original_language_index(newLanguageIdxSizeT);
|
| + if ([self delegate]->type() == TranslateInfoBarDelegate::AFTER_TRANSLATE)
|
| + [self delegate]->Translate();
|
| int commandId = IDC_TRANSLATE_ORIGINAL_LANGUAGE_BASE + newLanguageIdx;
|
| int newMenuIdx = [fromLanguagePopUp_ indexOfItemWithTag:commandId];
|
| [fromLanguagePopUp_ selectItemAtIndex:newMenuIdx];
|
| @@ -152,7 +140,9 @@
|
| DCHECK_NE(TranslateInfoBarDelegate::kNoIndex, newLanguageIdxSizeT);
|
| if (newLanguageIdxSizeT == [self delegate]->target_language_index())
|
| return;
|
| - [self delegate]->SetTargetLanguage(newLanguageIdxSizeT);
|
| + [self delegate]->set_target_language_index(newLanguageIdxSizeT);
|
| + if ([self delegate]->type() == TranslateInfoBarDelegate::AFTER_TRANSLATE)
|
| + [self delegate]->Translate();
|
| int commandId = IDC_TRANSLATE_TARGET_LANGUAGE_BASE + newLanguageIdx;
|
| int newMenuIdx = [toLanguagePopUp_ indexOfItemWithTag:commandId];
|
| [toLanguagePopUp_ selectItemAtIndex:newMenuIdx];
|
| @@ -241,18 +231,13 @@
|
| NSMenu* optionsMenu = [optionsPopUp_ menu];
|
| [optionsMenu setAutoenablesItems:NO];
|
| for (int i = 0; i < optionsMenuModel_->GetItemCount(); ++i) {
|
| - NSString* title = base::SysUTF16ToNSString(
|
| - optionsMenuModel_->GetLabelAt(i));
|
| - int cmd = optionsMenuModel_->GetCommandIdAt(i);
|
| - bool checked = optionsMenuModel_->IsItemCheckedAt(i);
|
| - bool enabled = optionsMenuModel_->IsEnabledAt(i);
|
| AddMenuItem(optionsMenu,
|
| self,
|
| @selector(optionsMenuChanged:),
|
| - title,
|
| - cmd,
|
| - enabled,
|
| - checked);
|
| + base::SysUTF16ToNSString(optionsMenuModel_->GetLabelAt(i)),
|
| + optionsMenuModel_->GetCommandIdAt(i),
|
| + optionsMenuModel_->IsEnabledAt(i),
|
| + optionsMenuModel_->IsItemCheckedAt(i));
|
| }
|
| }
|
|
|
| @@ -263,50 +248,30 @@
|
| - (void)populateLanguageMenus {
|
| NSMenu* originalLanguageMenu = [fromLanguagePopUp_ menu];
|
| [originalLanguageMenu setAutoenablesItems:NO];
|
| - int selectedMenuIndex = 0;
|
| - int selectedLangIndex =
|
| - static_cast<int>([self delegate]->original_language_index());
|
| - for (int i = 0; i < originalLanguageMenuModel_->GetItemCount(); ++i) {
|
| - NSString* title = base::SysUTF16ToNSString(
|
| - originalLanguageMenuModel_->GetLabelAt(i));
|
| - int cmd = originalLanguageMenuModel_->GetCommandIdAt(i);
|
| - bool checked = (cmd == selectedLangIndex);
|
| - if (checked)
|
| - selectedMenuIndex = i;
|
| - bool enabled = originalLanguageMenuModel_->IsEnabledAt(i);
|
| - cmd += IDC_TRANSLATE_ORIGINAL_LANGUAGE_BASE;
|
| + NSMenu* targetLanguageMenu = [toLanguagePopUp_ menu];
|
| + [targetLanguageMenu setAutoenablesItems:NO];
|
| + for (size_t i = 0; i < [self delegate]->num_languages(); ++i) {
|
| + NSString* title =
|
| + base::SysUTF16ToNSString([self delegate]->language_name_at(i));
|
| AddMenuItem(originalLanguageMenu,
|
| self,
|
| @selector(languageMenuChanged:),
|
| title,
|
| - cmd,
|
| - enabled,
|
| - checked);
|
| - }
|
| - [fromLanguagePopUp_ selectItemAtIndex:selectedMenuIndex];
|
| -
|
| - NSMenu* targetLanguageMenu = [toLanguagePopUp_ menu];
|
| - [targetLanguageMenu setAutoenablesItems:NO];
|
| - selectedLangIndex =
|
| - static_cast<int>([self delegate]->target_language_index());
|
| - for (int i = 0; i < targetLanguageMenuModel_->GetItemCount(); ++i) {
|
| - NSString* title = base::SysUTF16ToNSString(
|
| - targetLanguageMenuModel_->GetLabelAt(i));
|
| - int cmd = targetLanguageMenuModel_->GetCommandIdAt(i);
|
| - bool checked = (cmd == selectedLangIndex);
|
| - if (checked)
|
| - selectedMenuIndex = i;
|
| - bool enabled = targetLanguageMenuModel_->IsEnabledAt(i);
|
| - cmd += IDC_TRANSLATE_TARGET_LANGUAGE_BASE;
|
| + IDC_TRANSLATE_ORIGINAL_LANGUAGE_BASE + i,
|
| + i != [self delegate]->target_language_index(),
|
| + i == [self delegate]->original_language_index());
|
| AddMenuItem(targetLanguageMenu,
|
| self,
|
| @selector(languageMenuChanged:),
|
| title,
|
| - cmd,
|
| - enabled,
|
| - checked);
|
| + IDC_TRANSLATE_TARGET_LANGUAGE_BASE + i,
|
| + i != [self delegate]->original_language_index(),
|
| + i == [self delegate]->target_language_index());
|
| }
|
| - [toLanguagePopUp_ selectItemAtIndex:selectedMenuIndex];
|
| + [fromLanguagePopUp_
|
| + selectItemAtIndex:([self delegate]->original_language_index())];
|
| + [toLanguagePopUp_
|
| + selectItemAtIndex:([self delegate]->target_language_index())];
|
| }
|
|
|
| - (void)addAdditionalControls {
|
|
|