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

Side by Side Diff: chrome/browser/ui/views/about_chrome_view.cc

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

Powered by Google App Engine
This is Rietveld 408576698