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

Side by Side Diff: chrome/browser/views/options/content_page_view.cc

Issue 2934010: Add link to privacy dashboard from sync options panel behind command line fla... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 5 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/options/content_page_view.h ('k') | chrome/common/chrome_switches.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) 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/options/content_page_view.h" 5 #include "chrome/browser/views/options/content_page_view.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shlobj.h> 8 #include <shlobj.h>
9 #include <vsstyle.h> 9 #include <vsstyle.h>
10 #include <vssym32.h> 10 #include <vssym32.h>
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 themes_group_(NULL), 66 themes_group_(NULL),
67 themes_reset_button_(NULL), 67 themes_reset_button_(NULL),
68 themes_gallery_link_(NULL), 68 themes_gallery_link_(NULL),
69 browsing_data_group_(NULL), 69 browsing_data_group_(NULL),
70 import_button_(NULL), 70 import_button_(NULL),
71 sync_group_(NULL), 71 sync_group_(NULL),
72 sync_action_link_(NULL), 72 sync_action_link_(NULL),
73 sync_status_label_(NULL), 73 sync_status_label_(NULL),
74 sync_start_stop_button_(NULL), 74 sync_start_stop_button_(NULL),
75 sync_customize_button_(NULL), 75 sync_customize_button_(NULL),
76 privacy_dashboard_link_(NULL),
76 sync_service_(NULL), 77 sync_service_(NULL),
77 OptionsPageView(profile) { 78 OptionsPageView(profile) {
78 if (profile->GetProfileSyncService()) { 79 if (profile->GetProfileSyncService()) {
79 sync_service_ = profile->GetProfileSyncService(); 80 sync_service_ = profile->GetProfileSyncService();
80 sync_service_->AddObserver(this); 81 sync_service_->AddObserver(this);
81 } 82 }
82 } 83 }
83 84
84 ContentPageView::~ContentPageView() { 85 ContentPageView::~ContentPageView() {
85 if (sync_service_) 86 if (sync_service_)
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 } 162 }
162 } 163 }
163 164
164 void ContentPageView::LinkActivated(views::Link* source, int event_flags) { 165 void ContentPageView::LinkActivated(views::Link* source, int event_flags) {
165 if (source == themes_gallery_link_) { 166 if (source == themes_gallery_link_) {
166 UserMetricsRecordAction(UserMetricsAction("Options_ThemesGallery"), 167 UserMetricsRecordAction(UserMetricsAction("Options_ThemesGallery"),
167 profile()->GetPrefs()); 168 profile()->GetPrefs());
168 BrowserList::GetLastActive()->OpenThemeGalleryTabAndActivate(); 169 BrowserList::GetLastActive()->OpenThemeGalleryTabAndActivate();
169 return; 170 return;
170 } 171 }
171 DCHECK_EQ(source, sync_action_link_); 172 if (source == sync_action_link_) {
172 DCHECK(sync_service_); 173 DCHECK(sync_service_);
173 sync_service_->ShowLoginDialog(); 174 sync_service_->ShowLoginDialog();
175 return;
176 }
177 if (source == privacy_dashboard_link_) {
178 BrowserList::GetLastActive()->OpenPrivacyDashboardTabAndActivate();
179 return;
180 }
181 NOTREACHED() << "Invalid link source.";
174 } 182 }
175 183
176 //////////////////////////////////////////////////////////////////////////////// 184 ////////////////////////////////////////////////////////////////////////////////
177 // ContentPageView, OptionsPageView implementation: 185 // ContentPageView, OptionsPageView implementation:
178 186
179 void ContentPageView::InitControlLayout() { 187 void ContentPageView::InitControlLayout() {
180 using views::GridLayout; 188 using views::GridLayout;
181 using views::ColumnSet; 189 using views::ColumnSet;
182 190
183 GridLayout* layout = new GridLayout(this); 191 GridLayout* layout = new GridLayout(this);
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 432
425 void ContentPageView::InitSyncGroup() { 433 void ContentPageView::InitSyncGroup() {
426 sync_status_label_ = new views::Label; 434 sync_status_label_ = new views::Label;
427 sync_status_label_->SetMultiLine(true); 435 sync_status_label_->SetMultiLine(true);
428 sync_status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT); 436 sync_status_label_->SetHorizontalAlignment(views::Label::ALIGN_LEFT);
429 437
430 sync_action_link_ = new views::Link(); 438 sync_action_link_ = new views::Link();
431 sync_action_link_->set_collapse_when_hidden(true); 439 sync_action_link_->set_collapse_when_hidden(true);
432 sync_action_link_->SetController(this); 440 sync_action_link_->SetController(this);
433 441
442 privacy_dashboard_link_ = new views::Link();
443 privacy_dashboard_link_->set_collapse_when_hidden(true);
444 privacy_dashboard_link_->SetController(this);
445 privacy_dashboard_link_->SetText(
446 l10n_util::GetString(IDS_SYNC_PRIVACY_DASHBOARD_LINK_LABEL));
447 privacy_dashboard_link_->SetVisible(
448 CommandLine::ForCurrentProcess()->HasSwitch(
449 switches::kShowPrivacyDashboardLink));
450
434 sync_start_stop_button_ = new views::NativeButton(this, std::wstring()); 451 sync_start_stop_button_ = new views::NativeButton(this, std::wstring());
435 sync_customize_button_ = new views::NativeButton(this, std::wstring()); 452 sync_customize_button_ = new views::NativeButton(this, std::wstring());
436 453
437 using views::GridLayout; 454 using views::GridLayout;
438 using views::ColumnSet; 455 using views::ColumnSet;
439 456
440 views::View* contents = new views::View; 457 views::View* contents = new views::View;
441 GridLayout* layout = new GridLayout(contents); 458 GridLayout* layout = new GridLayout(contents);
442 contents->SetLayoutManager(layout); 459 contents->SetLayoutManager(layout);
443 460
444 const int single_column_view_set_id = 0; 461 const int single_column_view_set_id = 0;
445 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id); 462 ColumnSet* column_set = layout->AddColumnSet(single_column_view_set_id);
446 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0, 463 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 0,
447 GridLayout::USE_PREF, 0, 0); 464 GridLayout::USE_PREF, 0, 0);
448 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing); 465 column_set->AddPaddingColumn(0, kRelatedControlHorizontalSpacing);
449 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 1, 466 column_set->AddColumn(GridLayout::LEADING, GridLayout::CENTER, 1,
450 GridLayout::USE_PREF, 0, 0); 467 GridLayout::USE_PREF, 0, 0);
451 468
452 layout->StartRow(0, single_column_view_set_id); 469 layout->StartRow(0, single_column_view_set_id);
453 layout->AddView(sync_status_label_, 3, 1, 470 layout->AddView(sync_status_label_, 3, 1,
454 GridLayout::FILL, GridLayout::LEADING); 471 GridLayout::FILL, GridLayout::LEADING);
455 layout->StartRow(0, single_column_view_set_id); 472 layout->StartRow(0, single_column_view_set_id);
456 layout->AddView(sync_action_link_, 3, 1); 473 layout->AddView(sync_action_link_, 3, 1);
457 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing); 474 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
458 layout->StartRow(0, single_column_view_set_id); 475 layout->StartRow(0, single_column_view_set_id);
459 layout->AddView(sync_start_stop_button_); 476 layout->AddView(sync_start_stop_button_);
460 layout->AddView(sync_customize_button_); 477 layout->AddView(sync_customize_button_);
478 layout->AddPaddingRow(0, kRelatedControlVerticalSpacing);
479 layout->StartRow(0, single_column_view_set_id);
480 layout->AddView(privacy_dashboard_link_, 3, 1);
461 481
462 sync_group_ = new OptionsGroupView(contents, 482 sync_group_ = new OptionsGroupView(contents,
463 l10n_util::GetString(IDS_SYNC_OPTIONS_GROUP_NAME), std::wstring(), true); 483 l10n_util::GetString(IDS_SYNC_OPTIONS_GROUP_NAME), std::wstring(), true);
464 } 484 }
465 485
466 void ContentPageView::UpdateSyncControls() { 486 void ContentPageView::UpdateSyncControls() {
467 DCHECK(sync_service_); 487 DCHECK(sync_service_);
468 std::wstring status_label; 488 std::wstring status_label;
469 std::wstring link_label; 489 std::wstring link_label;
470 std::wstring customize_button_label; 490 std::wstring customize_button_label;
(...skipping 20 matching lines...) Expand all
491 sync_action_link_->SetVisible(!link_label.empty()); 511 sync_action_link_->SetVisible(!link_label.empty());
492 512
493 if (status_has_error) { 513 if (status_has_error) {
494 sync_status_label_->set_background(CreateErrorBackground()); 514 sync_status_label_->set_background(CreateErrorBackground());
495 sync_action_link_->set_background(CreateErrorBackground()); 515 sync_action_link_->set_background(CreateErrorBackground());
496 } else { 516 } else {
497 sync_status_label_->set_background(NULL); 517 sync_status_label_->set_background(NULL);
498 sync_action_link_->set_background(NULL); 518 sync_action_link_->set_background(NULL);
499 } 519 }
500 } 520 }
OLDNEW
« no previous file with comments | « chrome/browser/views/options/content_page_view.h ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698