| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/views/infobars/before_translate_infobar.h" | 5 #include "chrome/browser/ui/views/infobars/before_translate_infobar.h" |
| 6 | 6 |
| 7 #include "base/utf_string_conversions.h" | 7 #include "base/utf_string_conversions.h" |
| 8 #include "chrome/browser/translate/translate_infobar_delegate.h" | 8 #include "chrome/browser/translate/translate_infobar_delegate.h" |
| 9 #include "grit/generated_resources.h" | 9 #include "grit/generated_resources.h" |
| 10 #include "ui/base/l10n/l10n_util.h" | 10 #include "ui/base/l10n/l10n_util.h" |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 154 (kButtonButtonSpacing + | 154 (kButtonButtonSpacing + |
| 155 never_translate_button_->GetPreferredSize().width())) + | 155 never_translate_button_->GetPreferredSize().width())) + |
| 156 ((always_translate_button_ == NULL) ? 0 : | 156 ((always_translate_button_ == NULL) ? 0 : |
| 157 (kButtonButtonSpacing + | 157 (kButtonButtonSpacing + |
| 158 always_translate_button_->GetPreferredSize().width())) + | 158 always_translate_button_->GetPreferredSize().width())) + |
| 159 (kEndOfLabelSpacing + options_menu_button_->GetPreferredSize().width()); | 159 (kEndOfLabelSpacing + options_menu_button_->GetPreferredSize().width()); |
| 160 } | 160 } |
| 161 | 161 |
| 162 void BeforeTranslateInfoBar::ButtonPressed(views::Button* sender, | 162 void BeforeTranslateInfoBar::ButtonPressed(views::Button* sender, |
| 163 const views::Event& event) { | 163 const views::Event& event) { |
| 164 if (!owned()) |
| 165 return; // We're closing; don't call anything, it might access the owner. |
| 164 TranslateInfoBarDelegate* delegate = GetDelegate(); | 166 TranslateInfoBarDelegate* delegate = GetDelegate(); |
| 165 if (sender == accept_button_) { | 167 if (sender == accept_button_) { |
| 166 delegate->Translate(); | 168 delegate->Translate(); |
| 167 } else if (sender == deny_button_) { | 169 } else if (sender == deny_button_) { |
| 168 delegate->TranslationDeclined(); | 170 delegate->TranslationDeclined(); |
| 169 RemoveSelf(); | 171 RemoveSelf(); |
| 170 } else if (sender == never_translate_button_) { | 172 } else if (sender == never_translate_button_) { |
| 171 delegate->NeverTranslatePageLanguage(); | 173 delegate->NeverTranslatePageLanguage(); |
| 172 } else if (sender == always_translate_button_) { | 174 } else if (sender == always_translate_button_) { |
| 173 delegate->AlwaysTranslatePageLanguage(); | 175 delegate->AlwaysTranslatePageLanguage(); |
| 174 } else { | 176 } else { |
| 175 TranslateInfoBarBase::ButtonPressed(sender, event); | 177 TranslateInfoBarBase::ButtonPressed(sender, event); |
| 176 } | 178 } |
| 177 } | 179 } |
| 178 | 180 |
| 179 void BeforeTranslateInfoBar::OriginalLanguageChanged() { | 181 void BeforeTranslateInfoBar::OriginalLanguageChanged() { |
| 180 // Tests can call this function when the infobar has never been added to a | 182 // Tests can call this function when the infobar has never been added to a |
| 181 // view hierarchy and thus there is no button. | 183 // view hierarchy and thus there is no button. |
| 182 if (language_menu_button_) { | 184 if (language_menu_button_) { |
| 183 UpdateLanguageButtonText(language_menu_button_, | 185 UpdateLanguageButtonText(language_menu_button_, |
| 184 LanguagesMenuModel::ORIGINAL); | 186 LanguagesMenuModel::ORIGINAL); |
| 185 } | 187 } |
| 186 } | 188 } |
| 187 | 189 |
| 188 void BeforeTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) { | 190 void BeforeTranslateInfoBar::RunMenu(View* source, const gfx::Point& pt) { |
| 191 if (!owned()) |
| 192 return; // We're closing; don't call anything, it might access the owner. |
| 189 ui::MenuModel* menu_model = NULL; | 193 ui::MenuModel* menu_model = NULL; |
| 190 views::MenuButton* button = NULL; | 194 views::MenuButton* button = NULL; |
| 191 views::MenuItemView::AnchorPosition anchor = views::MenuItemView::TOPLEFT; | 195 views::MenuItemView::AnchorPosition anchor = views::MenuItemView::TOPLEFT; |
| 192 if (source == language_menu_button_) { | 196 if (source == language_menu_button_) { |
| 193 menu_model = &languages_menu_model_; | 197 menu_model = &languages_menu_model_; |
| 194 button = language_menu_button_; | 198 button = language_menu_button_; |
| 195 } else { | 199 } else { |
| 196 DCHECK_EQ(options_menu_button_, source); | 200 DCHECK_EQ(options_menu_button_, source); |
| 197 menu_model = &options_menu_model_; | 201 menu_model = &options_menu_model_; |
| 198 button = options_menu_button_; | 202 button = options_menu_button_; |
| 199 anchor = views::MenuItemView::TOPRIGHT; | 203 anchor = views::MenuItemView::TOPRIGHT; |
| 200 } | 204 } |
| 201 RunMenuAt(menu_model, button, anchor); | 205 RunMenuAt(menu_model, button, anchor); |
| 202 // TODO(pkasting): this may be deleted after rewrite. | |
| 203 } | 206 } |
| OLD | NEW |