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 57b25d066fd8301325fa6991d5e2b715f3f3cd2c..e8bfea617a51317f420f49cc2c853fb30e5dd72f 100644 |
| --- a/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| +++ b/chrome/browser/ui/cocoa/translate/translate_bubble_controller.mm |
| @@ -10,6 +10,7 @@ |
| #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" |
| @@ -17,9 +18,11 @@ |
| #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/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 +103,7 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| - (void)handleCancelButtonPressed; |
| - (void)handleShowOriginalButtonPressed; |
| - (void)handleAdvancedLinkButtonPressed; |
| +- (void)handleLanguageSettingsLinkButtonPressed; |
| - (void)handleDenialPopUpButtonNopeSelected; |
| - (void)handleDenialPopUpButtonNeverTranslateLanguageSelected; |
| - (void)handleDenialPopUpButtonNeverTranslateSiteSelected; |
| @@ -436,6 +440,13 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| action:@selector(handleCancelButtonPressed) |
| toView:view]; |
| + NSString* message = l10n_util::GetNSStringWithFixup( |
| + IDS_TRANSLATE_BUBBLE_LANGUAGE_SETTINGS); |
| + advancedLanguageSettingsLinkButton_ = |
| + [self addLinkButtonWithText:message |
|
groby-ooo-7-16
2016/05/12 01:23:40
I think advancedLanguageSettingsLinkButton_ can be
ftang
2016/05/12 04:45:21
Done.
|
| + action:@selector(handleLanguageSettingsLinkButtonPressed) |
| + toView:view]; |
| + |
| // Layout |
| CGFloat textLabelWidth = NSWidth([sourceLanguageLabel frame]); |
| if (textLabelWidth < NSWidth([targetLanguageLabel frame])) |
| @@ -446,7 +457,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)]; |
| + |
| + // The height of the buttons and link are different. Place the |
| + // origin of the link up. |
|
groby-ooo-7-16
2016/05/12 01:23:40
Up relative to what? Do you mean center it w/ the
ftang
2016/05/12 04:45:21
Done.
|
| + yPos = (NSHeight([advancedDoneButton_ frame]) - |
| + NSHeight([advancedLanguageSettingsLinkButton_ frame])) / 2; |
| + |
| + [advancedLanguageSettingsLinkButton_ setFrameOrigin:NSMakePoint(0, yPos)]; |
| + |
| + yPos = NSHeight([advancedDoneButton_ frame]) + |
| kUnrelatedControlVerticalSpacing; |
| if (alwaysTranslateCheckbox_) { |
| @@ -630,6 +650,14 @@ const CGFloat kContentWidth = kWindowWidth - 2 * kFramePadding; |
| [self switchView:TranslateBubbleModel::VIEW_STATE_ADVANCED]; |
| } |
| +- (void)handleLanguageSettingsLinkButtonPressed { |
| + GURL url = chrome::GetSettingsUrl(chrome::kLanguageOptionsSubPage); |
|
groby-ooo-7-16
2016/05/12 01:23:39
It would be nice if this could be a shared functio
ftang
2016/05/12 04:45:21
are you talking about TranslateBubbleModel ?
ftang
2016/05/12 06:16:02
I try to move it to TranslateBubbleModel or Transl
|
| + webContents_->OpenURL( |
| + content::OpenURLParams(url, content::Referrer(), NEW_FOREGROUND_TAB, |
| + ui::PAGE_TRANSITION_LINK, false)); |
| + [self close]; |
| +} |
| + |
| - (void)handleDenialPopUpButtonNopeSelected { |
| model_->DeclineTranslation(); |
| [self close]; |