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

Side by Side Diff: chrome/browser/views/first_run_search_engine_view.cc

Issue 3171028: Change search engine dialog image to be transparent, and use this image flipp... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 10 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/views/first_run_search_engine_view.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/views/first_run_search_engine_view.h" 5 #include "chrome/browser/views/first_run_search_engine_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
11 #include "app/resource_bundle.h" 11 #include "app/resource_bundle.h"
12 #include "base/i18n/rtl.h" 12 #include "base/i18n/rtl.h"
13 #include "base/time.h" 13 #include "base/time.h"
14 #include "chrome/browser/options_window.h" 14 #include "chrome/browser/options_window.h"
15 #include "chrome/browser/profile.h" 15 #include "chrome/browser/profile.h"
16 #include "chrome/browser/search_engines/template_url.h" 16 #include "chrome/browser/search_engines/template_url.h"
17 #include "chrome/browser/search_engines/template_url_prepopulate_data.h" 17 #include "chrome/browser/search_engines/template_url_prepopulate_data.h"
18 #include "gfx/canvas.h"
18 #include "gfx/font.h" 19 #include "gfx/font.h"
19 #include "grit/browser_resources.h" 20 #include "grit/browser_resources.h"
20 #include "grit/chromium_strings.h" 21 #include "grit/chromium_strings.h"
21 #include "grit/google_chrome_strings.h" 22 #include "grit/google_chrome_strings.h"
22 #include "grit/generated_resources.h" 23 #include "grit/generated_resources.h"
23 #include "grit/locale_settings.h" 24 #include "grit/locale_settings.h"
24 #include "grit/theme_resources.h" 25 #include "grit/theme_resources.h"
25 #include "views/controls/button/button.h" 26 #include "views/controls/button/button.h"
26 #include "views/controls/image_view.h" 27 #include "views/controls/image_view.h"
27 #include "views/controls/label.h" 28 #include "views/controls/label.h"
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 TemplateURLModel* template_url_model = profile_->GetTemplateURLModel(); 136 TemplateURLModel* template_url_model = profile_->GetTemplateURLModel();
136 DCHECK(template_url_model); 137 DCHECK(template_url_model);
137 template_url_model->SetSearchEngineDialogSlot(choice->slot()); 138 template_url_model->SetSearchEngineDialogSlot(choice->slot());
138 const TemplateURL* default_search = choice->GetSearchEngine(); 139 const TemplateURL* default_search = choice->GetSearchEngine();
139 if (default_search) 140 if (default_search)
140 template_url_model->SetDefaultSearchProvider(default_search); 141 template_url_model->SetDefaultSearchProvider(default_search);
141 142
142 MessageLoop::current()->Quit(); 143 MessageLoop::current()->Quit();
143 } 144 }
144 145
146 void FirstRunSearchEngineView::Paint(gfx::Canvas* canvas) {
147 // Fill in behind the background image with the standard gray toolbar color.
148 canvas->FillRectInt(SkColorSetRGB(237, 238, 237), 0, 0, width(),
149 background_image_->height());
150 // The rest of the dialog background should be white.
151 DCHECK(height() > background_image_->height());
152 canvas->FillRectInt(SK_ColorWHITE, 0, background_image_->height(), width(),
153 height() - background_image_->height());
154 }
155
145 void FirstRunSearchEngineView::OnTemplateURLModelChanged() { 156 void FirstRunSearchEngineView::OnTemplateURLModelChanged() {
146 using views::ImageView; 157 using views::ImageView;
147 158
148 // We only watch the search engine model change once, on load. Remove 159 // We only watch the search engine model change once, on load. Remove
149 // observer so we don't try to redraw if engines change under us. 160 // observer so we don't try to redraw if engines change under us.
150 search_engines_model_->RemoveObserver(this); 161 search_engines_model_->RemoveObserver(this);
151 162
152 // Add search engines in search_engines_model_ to buttons list. The 163 // Add search engines in search_engines_model_ to buttons list. The
153 // first three will always be from prepopulated data. 164 // first three will always be from prepopulated data.
154 std::vector<const TemplateURL*> template_urls = 165 std::vector<const TemplateURL*> template_urls =
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 } 248 }
238 249
239 void FirstRunSearchEngineView::SetupControls() { 250 void FirstRunSearchEngineView::SetupControls() {
240 using views::Background; 251 using views::Background;
241 using views::ImageView; 252 using views::ImageView;
242 using views::Label; 253 using views::Label;
243 using views::NativeButton; 254 using views::NativeButton;
244 255
245 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); 256 ResourceBundle& rb = ResourceBundle::GetSharedInstance();
246 background_image_ = new views::ImageView(); 257 background_image_ = new views::ImageView();
258 background_image_->SetImage(rb.GetBitmapNamed(IDR_SEARCH_ENGINE_DIALOG_TOP));
259 background_image_->EnableCanvasFlippingForRTLUI(true);
247 if (text_direction_is_rtl_) { 260 if (text_direction_is_rtl_) {
248 background_image_->SetImage(rb.GetBitmapNamed( 261 background_image_->SetHorizontalAlignment(ImageView::LEADING);
249 IDR_SEARCH_ENGINE_DIALOG_TOP_RTL));
250 } else { 262 } else {
251 background_image_->SetImage(rb.GetBitmapNamed( 263 background_image_->SetHorizontalAlignment(ImageView::TRAILING);
252 IDR_SEARCH_ENGINE_DIALOG_TOP));
253 } 264 }
254 background_image_->SetHorizontalAlignment(ImageView::TRAILING); 265
255 AddChildView(background_image_); 266 AddChildView(background_image_);
256 267
257 int label_width = GetPreferredSize().width() - 2 * kPanelHorizMargin; 268 int label_width = GetPreferredSize().width() - 2 * kPanelHorizMargin;
258 269
259 set_background(Background::CreateSolidBackground(SK_ColorWHITE));
260
261 // Add title and text asking the user to choose a search engine: 270 // Add title and text asking the user to choose a search engine:
262 title_label_ = new Label(l10n_util::GetString( 271 title_label_ = new Label(l10n_util::GetString(
263 IDS_FR_SEARCH_MAIN_LABEL)); 272 IDS_FR_SEARCH_MAIN_LABEL));
264 title_label_->SetColor(SK_ColorBLACK); 273 title_label_->SetColor(SK_ColorBLACK);
265 title_label_->SetFont(title_label_->font().DeriveFont(3, gfx::Font::BOLD)); 274 title_label_->SetFont(title_label_->font().DeriveFont(3, gfx::Font::BOLD));
266 title_label_->SetMultiLine(true); 275 title_label_->SetMultiLine(true);
267 title_label_->SetHorizontalAlignment(Label::ALIGN_LEFT); 276 title_label_->SetHorizontalAlignment(Label::ALIGN_LEFT);
268 title_label_->SizeToFit(label_width); 277 title_label_->SizeToFit(label_width);
269 AddChildView(title_label_); 278 AddChildView(title_label_);
270 279
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 logo_padding; 392 logo_padding;
384 search_engine_choices_[3]->SetBounds(next_h_space, next_v_space, 393 search_engine_choices_[3]->SetBounds(next_h_space, next_v_space,
385 button_width, button_height); 394 button_width, button_height);
386 } 395 }
387 } // if (search_engine_choices.size() > 0) 396 } // if (search_engine_choices.size() > 0)
388 } 397 }
389 398
390 std::wstring FirstRunSearchEngineView::GetWindowTitle() const { 399 std::wstring FirstRunSearchEngineView::GetWindowTitle() const {
391 return l10n_util::GetString(IDS_FIRSTRUN_DLG_TITLE); 400 return l10n_util::GetString(IDS_FIRSTRUN_DLG_TITLE);
392 } 401 }
OLDNEW
« no previous file with comments | « chrome/browser/views/first_run_search_engine_view.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698