Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(415)

Side by Side Diff: chrome/browser/ui/views/translate/translate_bubble_view.cc

Issue 203223002: Translate bubble for Mac OS X (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: groby's review Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/translate/translate_bubble_view.h" 5 #include "chrome/browser/ui/views/translate/translate_bubble_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 views::Link* CreateLink(views::LinkListener* listener, 50 views::Link* CreateLink(views::LinkListener* listener,
51 int resource_id, 51 int resource_id,
52 int id) { 52 int id) {
53 views::Link* link = new views::Link( 53 views::Link* link = new views::Link(
54 l10n_util::GetStringUTF16(resource_id)); 54 l10n_util::GetStringUTF16(resource_id));
55 link->set_listener(listener); 55 link->set_listener(listener);
56 link->set_id(id); 56 link->set_id(id);
57 return link; 57 return link;
58 } 58 }
59 59
60 void GetTranslateLanguages(content::WebContents* web_contents,
61 std::string* source,
62 std::string* target) {
63 DCHECK(source != NULL);
64 DCHECK(target != NULL);
65
66 TranslateTabHelper* translate_tab_helper =
67 TranslateTabHelper::FromWebContents(web_contents);
68 *source = translate_tab_helper->GetLanguageState().original_language();
69 *source = TranslateDownloadManager::GetLanguageCode(*source);
70
71 Profile* profile =
72 Profile::FromBrowserContext(web_contents->GetBrowserContext());
73 Profile* original_profile = profile->GetOriginalProfile();
74 PrefService* prefs = original_profile->GetPrefs();
75 if (!web_contents->GetBrowserContext()->IsOffTheRecord()) {
76 std::string auto_translate_language =
77 TranslateManager::GetAutoTargetLanguage(*source, prefs);
78 if (!auto_translate_language.empty()) {
79 *target = auto_translate_language;
80 return;
81 }
82 }
83 *target = TranslateManager::GetTargetLanguage(prefs);
84 }
85
86 class TranslateDenialComboboxModel : public ui::ComboboxModel { 60 class TranslateDenialComboboxModel : public ui::ComboboxModel {
87 public: 61 public:
88 enum { 62 enum {
89 INDEX_NOPE = 0, 63 INDEX_NOPE = 0,
90 INDEX_NEVER_TRANSLATE_LANGUAGE = 2, 64 INDEX_NEVER_TRANSLATE_LANGUAGE = 2,
91 INDEX_NEVER_TRANSLATE_SITE = 4, 65 INDEX_NEVER_TRANSLATE_SITE = 4,
92 }; 66 };
93 67
94 explicit TranslateDenialComboboxModel( 68 explicit TranslateDenialComboboxModel(
95 const base::string16& original_language_name) { 69 const base::string16& original_language_name) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
155 TranslateBubbleModelImpl::TranslateStepToViewState(step); 129 TranslateBubbleModelImpl::TranslateStepToViewState(step);
156 translate_bubble_view_->SwitchView(state); 130 translate_bubble_view_->SwitchView(state);
157 } else { 131 } else {
158 translate_bubble_view_->SwitchToErrorView(error_type); 132 translate_bubble_view_->SwitchToErrorView(error_type);
159 } 133 }
160 return; 134 return;
161 } 135 }
162 136
163 std::string source_language; 137 std::string source_language;
164 std::string target_language; 138 std::string target_language;
165 GetTranslateLanguages(web_contents, &source_language, &target_language); 139 TranslateManager::GetTranslateLanguages(web_contents,
140 &source_language, &target_language);
166 141
167 scoped_ptr<TranslateUIDelegate> ui_delegate( 142 scoped_ptr<TranslateUIDelegate> ui_delegate(
168 new TranslateUIDelegate(web_contents, source_language, target_language)); 143 new TranslateUIDelegate(web_contents, source_language, target_language));
169 scoped_ptr<TranslateBubbleModel> model( 144 scoped_ptr<TranslateBubbleModel> model(
170 new TranslateBubbleModelImpl(step, ui_delegate.Pass())); 145 new TranslateBubbleModelImpl(step, ui_delegate.Pass()));
171 TranslateBubbleView* view = new TranslateBubbleView(anchor_view, 146 TranslateBubbleView* view = new TranslateBubbleView(anchor_view,
172 model.Pass(), 147 model.Pass(),
173 error_type, 148 error_type,
174 web_contents); 149 web_contents);
175 views::BubbleDelegateView::CreateBubble(view)->Show(); 150 views::BubbleDelegateView::CreateBubble(view)->Show();
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 model_->ShouldAlwaysTranslate()); 762 model_->ShouldAlwaysTranslate());
788 } 763 }
789 764
790 base::string16 label; 765 base::string16 label;
791 if (model_->IsPageTranslatedInCurrentLanguages()) 766 if (model_->IsPageTranslatedInCurrentLanguages())
792 label = l10n_util::GetStringUTF16(IDS_DONE); 767 label = l10n_util::GetStringUTF16(IDS_DONE);
793 else 768 else
794 label = l10n_util::GetStringUTF16(IDS_TRANSLATE_BUBBLE_ACCEPT); 769 label = l10n_util::GetStringUTF16(IDS_TRANSLATE_BUBBLE_ACCEPT);
795 advanced_done_button_->SetText(label); 770 advanced_done_button_->SetText(label);
796 } 771 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698