#include "chrome/browser/translate/translate_ui_delegate.h"
#include "chrome/browser/ui/translate/translate_bubble_model_impl.h"
#include "chrome/common/url_constants.h"
+#include "components/translate/core/browser/translate_download_manager.h"
#include "content/public/browser/web_contents.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
TranslateTabHelper* translate_tab_helper =
TranslateTabHelper::FromWebContents(web_contents);
*source = translate_tab_helper->GetLanguageState().original_language();
+ *source = TranslateDownloadManager::GetLanguageCode(*source);
Profile* profile =
Profile::FromBrowserContext(web_contents->GetBrowserContext());
// static
void TranslateBubbleView::ShowBubble(views::View* anchor_view,
content::WebContents* web_contents,
- TranslateBubbleModel::ViewState type,
+ TranslateTabHelper::TranslateStep step,
TranslateErrors::Type error_type) {
if (IsShowing()) {
// When the user reads the advanced setting panel, the bubble should not be
TranslateBubbleModel::VIEW_STATE_ADVANCED) {
return;
}
- if (type != TranslateBubbleModel::VIEW_STATE_ERROR)
- translate_bubble_view_->SwitchView(type);
- else
+ if (step != TranslateTabHelper::TRANSLATE_ERROR) {
+ TranslateBubbleModel::ViewState state =
+ TranslateBubbleModelImpl::TranslateStepToViewState(step);
+ translate_bubble_view_->SwitchView(state);
+ } else {
translate_bubble_view_->SwitchToErrorView(error_type);
+ }
return;
}
scoped_ptr<TranslateUIDelegate> ui_delegate(
new TranslateUIDelegate(web_contents, source_language, target_language));
scoped_ptr<TranslateBubbleModel> model(
- new TranslateBubbleModelImpl(type, ui_delegate.Pass()));
+ new TranslateBubbleModelImpl(step, ui_delegate.Pass()));
TranslateBubbleView* view = new TranslateBubbleView(anchor_view,
model.Pass(),
error_type,
return gfx::Size(width, height);
}
-void TranslateBubbleView::OnSelectedIndexChanged(views::Combobox* combobox) {
- HandleComboboxSelectedIndexChanged(static_cast<ComboboxID>(combobox->id()));
-}
-
-void TranslateBubbleView::OnComboboxTextButtonClicked(
- views::Combobox* combobox) {
- if (combobox != denial_combobox_)
- return;
-
- denial_button_clicked_ = true;
- int index = combobox->selected_index();
- switch (index) {
- case TranslateDenialComboboxModel::INDEX_NOPE:
- break;
- case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_LANGUAGE:
- model_->SetNeverTranslateLanguage(true);
- break;
- case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_SITE:
- model_->SetNeverTranslateSite(true);
- break;
- default:
- NOTREACHED();
- break;
- }
- StartFade(false);
+void TranslateBubbleView::OnPerformAction(views::Combobox* combobox) {
+ HandleComboboxPerformAction(static_cast<ComboboxID>(combobox->id()));
}
void TranslateBubbleView::LinkClicked(views::Link* source, int event_flags) {
}
}
-void TranslateBubbleView::HandleComboboxSelectedIndexChanged(
+void TranslateBubbleView::HandleComboboxPerformAction(
TranslateBubbleView::ComboboxID sender_id) {
switch (sender_id) {
case COMBOBOX_ID_DENIAL: {
- // do nothing
+ denial_button_clicked_ = true;
+ int index = denial_combobox_->selected_index();
+ switch (index) {
+ case TranslateDenialComboboxModel::INDEX_NOPE:
+ break;
+ case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_LANGUAGE:
+ model_->SetNeverTranslateLanguage(true);
+ break;
+ case TranslateDenialComboboxModel::INDEX_NEVER_TRANSLATE_SITE:
+ model_->SetNeverTranslateSite(true);
+ break;
+ default:
+ NOTREACHED();
+ break;
+ }
+ StartFade(false);
break;
}
case COMBOBOX_ID_SOURCE_LANGUAGE: {
new TranslateDenialComboboxModel(original_language_name));
denial_combobox_->set_id(COMBOBOX_ID_DENIAL);
denial_combobox_->set_listener(this);
- denial_combobox_->SetStyle(views::Combobox::STYLE_NOTIFY_ON_CLICK);
+ denial_combobox_->SetStyle(views::Combobox::STYLE_ACTION);
views::View* view = new views::View();
views::GridLayout* layout = new views::GridLayout(view);
layout->AddPaddingRow(0, views::kUnrelatedControlVerticalSpacing);
layout->StartRow(0, COLUMN_SET_ID_CONTENT);
- layout->AddView(denial_combobox_);
layout->AddView(CreateLabelButton(
this,
l10n_util::GetStringUTF16(IDS_TRANSLATE_BUBBLE_ACCEPT),
BUTTON_ID_TRANSLATE));
+ layout->AddView(denial_combobox_);
return view;
}
layout->AddView(CreateLink(this,
IDS_TRANSLATE_BUBBLE_LANGUAGE_SETTINGS,
LINK_ID_LANGUAGE_SETTINGS));
- advanced_cancel_button_ = CreateLabelButton(
- this, l10n_util::GetStringUTF16(IDS_CANCEL), BUTTON_ID_CANCEL);
- layout->AddView(advanced_cancel_button_);
advanced_done_button_ = CreateLabelButton(
this, l10n_util::GetStringUTF16(IDS_DONE), BUTTON_ID_DONE);
advanced_done_button_->SetIsDefault(true);
+ advanced_cancel_button_ = CreateLabelButton(
+ this, l10n_util::GetStringUTF16(IDS_CANCEL), BUTTON_ID_CANCEL);
layout->AddView(advanced_done_button_);
+ layout->AddView(advanced_cancel_button_);
UpdateAdvancedView();