Chromium Code Reviews| Index: chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| diff --git a/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm b/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| index 74d0f3b6a96f190cd3e0f456450c3ccb7a2a3d2b..a4096b7bceb7930b641997af0e54cdcb22265ae3 100644 |
| --- a/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| +++ b/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| @@ -10,16 +10,20 @@ |
| #include "base/mac/scoped_nsobject.h" |
| #include "base/macros.h" |
| #include "base/strings/sys_string_conversions.h" |
| +#include "chrome/browser/ui/chrome_pages.h" |
| #import "chrome/browser/ui/cocoa/browser_window_controller.h" |
| #import "chrome/browser/ui/cocoa/bubble_combobox.h" |
| #import "chrome/browser/ui/cocoa/info_bubble_view.h" |
| #import "chrome/browser/ui/cocoa/info_bubble_window.h" |
| #import "chrome/browser/ui/cocoa/toolbar/toolbar_controller.h" |
| #include "chrome/browser/ui/translate/language_combobox_model.h" |
| -#include "chrome/browser/ui/translate/translate_bubble_model_impl.h" |
| +#include "chrome/browser/ui/translate/translate_bubble_model.h" |
| +#include "chrome/browser/ui/translate/translate_bubble_view_state_transition.h" |
| +#include "chrome/common/url_constants.h" |
| #include "chrome/grit/generated_resources.h" |
| #include "components/translate/core/browser/translate_ui_delegate.h" |
| #include "content/public/browser/browser_context.h" |
| +#include "content/public/common/referrer.h" |
| #include "grit/components_strings.h" |
| #include "ui/base/cocoa/cocoa_base_utils.h" |
| #import "ui/base/cocoa/controls/hyperlink_button_cell.h" |
| @@ -100,6 +104,7 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| - (void)handleCancelButtonPressed; |
| - (void)handleShowOriginalButtonPressed; |
| - (void)handleAdvancedLinkButtonPressed; |
| +- (void)handleLanguageSettingsLinkButtonPressed; |
| - (void)handleDenialPopUpButtonNopeSelected; |
| - (void)handleDenialPopUpButtonNeverTranslateLanguageSelected; |
| - (void)handleDenialPopUpButtonNeverTranslateSiteSelected; |
| @@ -440,6 +445,14 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| action:@selector(handleCancelButtonPressed) |
| toView:view]; |
| + NSString* message = l10n_util::GetNSStringWithFixup( |
| + IDS_TRANSLATE_BUBBLE_LANGUAGE_SETTINGS); |
| + action = @selector(handleLanguageSettingsLinkButtonPressed); |
| + NSButton* advancedLanguageSettingsLinkButton = |
|
groby-ooo-7-16
2016/05/18 23:08:16
Why is this a button? Should this be a hyperlink?
ftang
2016/05/18 23:57:42
I just reuse the pre-existing addLinkButtonWithTex
groby-ooo-7-16
2016/05/19 01:38:09
I was thinking of HyperLinkTextView - but addLinkB
|
| + [self addLinkButtonWithText:message |
| + action:action |
| + toView:view]; |
| + |
| // Layout |
| CGFloat textLabelWidth = NSWidth([sourceLanguageLabel frame]); |
| if (textLabelWidth < NSWidth([targetLanguageLabel frame])) |
| @@ -450,7 +463,16 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| [advancedDoneButton_ setFrameOrigin:NSMakePoint(0, yPos)]; |
| [advancedCancelButton_ setFrameOrigin:NSMakePoint(0, yPos)]; |
| - yPos += NSHeight([advancedDoneButton_ frame]) + |
| + [advancedLanguageSettingsLinkButton setFrameOrigin:NSMakePoint(0, yPos)]; |
| + |
| + // Vertical center the advancedLanguageSettingsLinkButton with the |
| + // advancedDoneButton_. |
| + yPos = (NSHeight([advancedDoneButton_ frame]) - |
|
groby-ooo-7-16
2016/05/19 01:38:09
You don't want to center this with the button - yo
|
| + NSHeight([advancedLanguageSettingsLinkButton frame])) / 2; |
| + |
| + [advancedLanguageSettingsLinkButton setFrameOrigin:NSMakePoint(0, yPos)]; |
| + |
| + yPos = NSHeight([advancedDoneButton_ frame]) + |
| kUnrelatedControlVerticalSpacing; |
| if (alwaysTranslateCheckbox_) { |
| @@ -634,6 +656,15 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| [self switchView:TranslateBubbleModel::VIEW_STATE_ADVANCED]; |
| } |
| +- (void)handleLanguageSettingsLinkButtonPressed { |
| + GURL url = chrome::GetSettingsUrl(chrome::kLanguageOptionsSubPage); |
| + webContents_->OpenURL( |
| + content::OpenURLParams(url, content::Referrer(), NEW_FOREGROUND_TAB, |
| + ui::PAGE_TRANSITION_LINK, false)); |
| + translate::ReportUiAction(translate::SETTINGS_LINK_CLICKED); |
| + [self close]; |
| +} |
| + |
| - (void)handleDenialPopUpButtonNopeSelected { |
| model_->DeclineTranslation(); |
| [self close]; |