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/about_chrome_view.h" | 5 #include "chrome/browser/ui/views/about_chrome_view.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <commdlg.h> | 8 #include <commdlg.h> |
9 #endif // defined(OS_WIN) | 9 #endif // defined(OS_WIN) |
10 | 10 |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 } // namespace browser | 99 } // namespace browser |
100 | 100 |
101 //////////////////////////////////////////////////////////////////////////////// | 101 //////////////////////////////////////////////////////////////////////////////// |
102 // AboutChromeView, public: | 102 // AboutChromeView, public: |
103 | 103 |
104 AboutChromeView::AboutChromeView(Profile* profile) | 104 AboutChromeView::AboutChromeView(Profile* profile) |
105 : profile_(profile), | 105 : profile_(profile), |
106 about_dlg_background_logo_(NULL), | 106 about_dlg_background_logo_(NULL), |
107 about_title_label_(NULL), | 107 about_title_label_(NULL), |
108 version_label_(NULL), | 108 version_label_(NULL), |
109 #if defined(OS_CHROMEOS) | |
110 os_version_label_(NULL), | 109 os_version_label_(NULL), |
111 #endif | |
112 copyright_label_(NULL), | 110 copyright_label_(NULL), |
113 main_text_label_(NULL), | 111 main_text_label_(NULL), |
114 main_text_label_height_(0), | 112 main_text_label_height_(0), |
115 chromium_url_(NULL), | 113 chromium_url_(NULL), |
116 open_source_url_(NULL), | 114 open_source_url_(NULL), |
117 terms_of_service_url_(NULL), | 115 terms_of_service_url_(NULL), |
118 restart_button_visible_(false), | 116 restart_button_visible_(false), |
119 chromium_url_appears_first_(true), | 117 chromium_url_appears_first_(true), |
120 text_direction_is_rtl_(false) { | 118 text_direction_is_rtl_(false) { |
121 DCHECK(profile); | 119 DCHECK(profile); |
122 #if defined(OS_CHROMEOS) | 120 |
123 loader_.GetVersion(&consumer_, | |
124 NewCallback(this, &AboutChromeView::OnOSVersion), | |
125 chromeos::VersionLoader::VERSION_FULL); | |
126 #endif | |
127 Init(); | 121 Init(); |
128 | 122 |
129 #if defined(OS_WIN) || defined(OS_CHROMEOS) | 123 #if defined(OS_WIN) || defined(OS_CHROMEOS) |
130 google_updater_ = new GoogleUpdate(); | 124 google_updater_ = new GoogleUpdate(); |
131 google_updater_->set_status_listener(this); | 125 google_updater_->set_status_listener(this); |
132 #endif | 126 #endif |
133 | 127 |
134 if (kBackgroundBmp == NULL) { | 128 if (kBackgroundBmp == NULL) { |
135 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 129 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
136 kBackgroundBmp = rb.GetBitmapNamed(IDR_ABOUT_BACKGROUND_COLOR); | 130 kBackgroundBmp = rb.GetBitmapNamed(IDR_ABOUT_BACKGROUND_COLOR); |
(...skipping 23 matching lines...) Expand all Loading... |
160 | 154 |
161 // This code only runs as a result of the user opening the About box so | 155 // This code only runs as a result of the user opening the About box so |
162 // doing registry access to get the version string modifier should be fine. | 156 // doing registry access to get the version string modifier should be fine. |
163 base::ThreadRestrictions::ScopedAllowIO allow_io; | 157 base::ThreadRestrictions::ScopedAllowIO allow_io; |
164 std::string version_modifier = platform_util::GetVersionStringModifier(); | 158 std::string version_modifier = platform_util::GetVersionStringModifier(); |
165 if (!version_modifier.empty()) | 159 if (!version_modifier.empty()) |
166 version_details_ += " " + version_modifier; | 160 version_details_ += " " + version_modifier; |
167 | 161 |
168 #if !defined(GOOGLE_CHROME_BUILD) | 162 #if !defined(GOOGLE_CHROME_BUILD) |
169 version_details_ += " ("; | 163 version_details_ += " ("; |
| 164 version_details_ += l10n_util::GetStringUTF8( |
| 165 version_info.IsOfficialBuild() ? |
| 166 IDS_ABOUT_VERSION_OFFICIAL : IDS_ABOUT_VERSION_UNOFFICIAL); |
| 167 version_details_ += " "; |
170 version_details_ += version_info.LastChange(); | 168 version_details_ += version_info.LastChange(); |
171 version_details_ += ")"; | 169 version_details_ += ")"; |
172 #endif | 170 #endif |
173 | 171 |
174 // Views we will add to the *parent* of this dialog, since it will display | 172 // Views we will add to the *parent* of this dialog, since it will display |
175 // next to the buttons which we don't draw ourselves. | 173 // next to the buttons which we don't draw ourselves. |
176 throbber_.reset(new views::Throbber(50, true)); | 174 throbber_.reset(new views::Throbber(50, true)); |
177 throbber_->set_parent_owned(false); | 175 throbber_->set_parent_owned(false); |
178 throbber_->SetVisible(false); | 176 throbber_->SetVisible(false); |
179 | 177 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 version_label_ = new views::Textfield(); | 213 version_label_ = new views::Textfield(); |
216 version_label_->SetText(ASCIIToUTF16(current_version_ + version_details_)); | 214 version_label_->SetText(ASCIIToUTF16(current_version_ + version_details_)); |
217 version_label_->SetReadOnly(true); | 215 version_label_->SetReadOnly(true); |
218 version_label_->RemoveBorder(); | 216 version_label_->RemoveBorder(); |
219 version_label_->SetTextColor(SK_ColorBLACK); | 217 version_label_->SetTextColor(SK_ColorBLACK); |
220 version_label_->SetBackgroundColor(SK_ColorWHITE); | 218 version_label_->SetBackgroundColor(SK_ColorWHITE); |
221 version_label_->SetFont(ResourceBundle::GetSharedInstance().GetFont( | 219 version_label_->SetFont(ResourceBundle::GetSharedInstance().GetFont( |
222 ResourceBundle::BaseFont)); | 220 ResourceBundle::BaseFont)); |
223 AddChildView(version_label_); | 221 AddChildView(version_label_); |
224 | 222 |
| 223 os_version_label_ = new views::Textfield(views::Textfield::STYLE_MULTILINE); |
225 #if defined(OS_CHROMEOS) | 224 #if defined(OS_CHROMEOS) |
226 os_version_label_ = new views::Textfield(views::Textfield::STYLE_MULTILINE); | 225 loader_.GetVersion(&consumer_, |
| 226 NewCallback(this, &AboutChromeView::OnOSVersion), |
| 227 chromeos::VersionLoader::VERSION_FULL); |
| 228 #else |
| 229 os_version_label_->SetText(UTF8ToUTF16(version_info.OSType())); |
| 230 #endif |
227 os_version_label_->SetReadOnly(true); | 231 os_version_label_->SetReadOnly(true); |
228 os_version_label_->RemoveBorder(); | 232 os_version_label_->RemoveBorder(); |
229 os_version_label_->SetTextColor(SK_ColorBLACK); | 233 os_version_label_->SetTextColor(SK_ColorBLACK); |
230 os_version_label_->SetBackgroundColor(SK_ColorWHITE); | 234 os_version_label_->SetBackgroundColor(SK_ColorWHITE); |
231 os_version_label_->SetFont(ResourceBundle::GetSharedInstance().GetFont( | 235 os_version_label_->SetFont(ResourceBundle::GetSharedInstance().GetFont( |
232 ResourceBundle::BaseFont)); | 236 ResourceBundle::BaseFont)); |
233 AddChildView(os_version_label_); | 237 AddChildView(os_version_label_); |
234 #endif | |
235 | 238 |
236 // The copyright URL portion of the main label. | 239 // The copyright URL portion of the main label. |
237 copyright_label_ = new views::Label( | 240 copyright_label_ = new views::Label( |
238 UTF16ToWide(l10n_util::GetStringUTF16(IDS_ABOUT_VERSION_COPYRIGHT))); | 241 UTF16ToWide(l10n_util::GetStringUTF16(IDS_ABOUT_VERSION_COPYRIGHT))); |
239 copyright_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); | 242 copyright_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); |
240 AddChildView(copyright_label_); | 243 AddChildView(copyright_label_); |
241 | 244 |
242 main_text_label_ = new views::Label(L""); | 245 main_text_label_ = new views::Label(L""); |
243 | 246 |
244 // Figure out what to write in the main label of the About box. | 247 // Figure out what to write in the main label of the About box. |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 | 356 |
354 // Then we have the version number right below it. | 357 // Then we have the version number right below it. |
355 sz = version_label_->GetPreferredSize(); | 358 sz = version_label_->GetPreferredSize(); |
356 version_label_->SetBounds(views::kPanelHorizMargin, | 359 version_label_->SetBounds(views::kPanelHorizMargin, |
357 about_title_label_->y() + | 360 about_title_label_->y() + |
358 about_title_label_->height() + | 361 about_title_label_->height() + |
359 views::kRelatedControlVerticalSpacing, | 362 views::kRelatedControlVerticalSpacing, |
360 kVersionFieldWidth, | 363 kVersionFieldWidth, |
361 sz.height()); | 364 sz.height()); |
362 | 365 |
363 #if defined(OS_CHROMEOS) | |
364 // Then we have the version number right below it. | 366 // Then we have the version number right below it. |
365 sz = os_version_label_->GetPreferredSize(); | 367 sz = os_version_label_->GetPreferredSize(); |
366 os_version_label_->SetBounds( | 368 os_version_label_->SetBounds( |
367 views::kPanelHorizMargin, | 369 views::kPanelHorizMargin, |
368 version_label_->y() + | 370 version_label_->y() + |
369 version_label_->height() + | 371 version_label_->height() + |
370 views::kRelatedControlVerticalSpacing, | 372 views::kRelatedControlVerticalSpacing, |
371 kVersionFieldWidth, | 373 kVersionFieldWidth, |
372 sz.height()); | 374 sz.height()); |
373 #endif | |
374 | 375 |
375 // For the width of the main text label we want to use up the whole panel | 376 // For the width of the main text label we want to use up the whole panel |
376 // width and remaining height, minus a little margin on each side. | 377 // width and remaining height, minus a little margin on each side. |
377 int y_pos = background_image_height + views::kRelatedControlVerticalSpacing; | 378 int y_pos = background_image_height + views::kRelatedControlVerticalSpacing; |
378 sz.set_width(panel_size.width() - 2 * views::kPanelHorizMargin); | 379 sz.set_width(panel_size.width() - 2 * views::kPanelHorizMargin); |
379 | 380 |
380 // Draw the text right below the background image. | 381 // Draw the text right below the background image. |
381 copyright_label_->SetBounds(views::kPanelHorizMargin, | 382 copyright_label_->SetBounds(views::kPanelHorizMargin, |
382 y_pos, | 383 y_pos, |
383 sz.width(), | 384 sz.width(), |
(...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
829 // We have updated controls on the parent, so we need to update its layout. | 830 // We have updated controls on the parent, so we need to update its layout. |
830 parent()->Layout(); | 831 parent()->Layout(); |
831 | 832 |
832 // Check button may have appeared/disappeared. We cannot call this during | 833 // Check button may have appeared/disappeared. We cannot call this during |
833 // ViewHierarchyChanged because the |window()| pointer hasn't been set yet. | 834 // ViewHierarchyChanged because the |window()| pointer hasn't been set yet. |
834 if (window()) | 835 if (window()) |
835 GetDialogClientView()->UpdateDialogButtons(); | 836 GetDialogClientView()->UpdateDialogButtons(); |
836 } | 837 } |
837 | 838 |
838 #endif | 839 #endif |
OLD | NEW |