blob: 91b9c07670b41235622cd506a813cd613a932628 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_VIEWS_OPTIONS_CONTENT_PAGE_VIEW_H_
#define CHROME_BROWSER_VIEWS_OPTIONS_CONTENT_PAGE_VIEW_H_
#include "chrome/browser/autofill/personal_data_manager.h"
#include "chrome/browser/pref_member.h"
#include "chrome/browser/sync/profile_sync_service.h"
#include "chrome/browser/views/options/options_page_view.h"
#include "chrome/browser/views/confirm_message_box_dialog.h"
#include "views/controls/button/button.h"
#include "views/controls/link.h"
#include "views/view.h"
namespace views {
class Checkbox;
class Label;
class NativeButton;
class RadioButton;
}
class FileDisplayArea;
class OptionsGroupView;
class PrefService;
////////////////////////////////////////////////////////////////////////////////
// ContentPageView
class ContentPageView : public OptionsPageView,
public views::LinkController,
public ProfileSyncServiceObserver,
public views::ButtonListener,
public ConfirmMessageBoxObserver {
public:
explicit ContentPageView(Profile* profile);
virtual ~ContentPageView();
// views::ButtonListener implementation:
virtual void ButtonPressed(views::Button* sender, const views::Event& event);
// views::LinkController method.
virtual void LinkActivated(views::Link* source, int event_flags);
// ConfirmMessageBoxObserver implementation.
virtual void OnConfirmMessageAccept();
// ProfileSyncServiceObserver method.
virtual void OnStateChanged();
protected:
// OptionsPageView implementation:
virtual void InitControlLayout();
virtual void NotifyPrefChanged(const std::wstring* pref_name);
// views::View overrides:
virtual void Layout();
private:
// Updates various sync controls based on the current sync state.
void UpdateSyncControls();
// Returns whether initialization of controls is done or not.
bool is_initialized() const {
// If initialization is already done, all the UI controls data members
// should be non-NULL. So check for one of them to determine if controls
// are already initialized or not.
return sync_group_ != NULL;
}
// Init all the dialog controls.
void InitPasswordSavingGroup();
void InitFormAutofillGroup();
void InitBrowsingDataGroup();
void InitThemesGroup();
void InitSyncGroup();
// Controls for the Password Saving group
views::NativeButton* show_passwords_button_;
OptionsGroupView* passwords_group_;
views::RadioButton* passwords_asktosave_radio_;
views::RadioButton* passwords_neversave_radio_;
// Controls for the Form Autofill group
views::NativeButton* change_autofill_settings_button_;
OptionsGroupView* form_autofill_group_;
// Controls for the Themes group
OptionsGroupView* themes_group_;
views::NativeButton* themes_reset_button_;
views::Link* themes_gallery_link_;
// Controls for the browsing data group.
OptionsGroupView* browsing_data_group_;
views::NativeButton* import_button_;
// Controls for the Sync group.
OptionsGroupView* sync_group_;
views::Label* sync_status_label_;
views::Link* sync_action_link_;
views::NativeButton* sync_start_stop_button_;
views::NativeButton* sync_customize_button_;
views::Link* privacy_dashboard_link_;
BooleanPrefMember ask_to_save_passwords_;
StringPrefMember is_using_default_theme_;
// Cached pointer to ProfileSyncService, if it exists. Kept up to date
// and NULL-ed out on destruction.
ProfileSyncService* sync_service_;
DISALLOW_COPY_AND_ASSIGN(ContentPageView);
};
#endif // CHROME_BROWSER_VIEWS_OPTIONS_CONTENT_PAGE_VIEW_H_
|