blob: 8f9ee0b2da73d2d919cfa940241c077f7c4f62a1 (
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
// Copyright (c) 2006-2008 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_FONTS_PAGE_VIEW_H_
#define CHROME_BROWSER_VIEWS_OPTIONS_FONTS_PAGE_VIEW_H_
#include <string>
#include "chrome/browser/pref_member.h"
#include "chrome/browser/shell_dialogs.h"
#include "chrome/browser/views/options/options_page_view.h"
#include "views/controls/combobox/combobox.h"
#include "views/controls/button/button.h"
#include "views/view.h"
namespace views {
class GroupboxView;
class Label;
class NativeButton;
class TableView;
}
class DefaultEncodingComboboxModel;
class FontDisplayView;
class TableModel;
///////////////////////////////////////////////////////////////////////////////
// FontsPageView
class FontsPageView : public OptionsPageView,
public views::Combobox::Listener,
public SelectFontDialog::Listener,
public views::ButtonListener {
public:
explicit FontsPageView(Profile* profile);
// views::ButtonListener implementation:
virtual void ButtonPressed(views::Button* sender, const views::Event& event);
// views::Combobox::Listener implementation:
virtual void ItemChanged(views::Combobox* combo_box,
int prev_index,
int new_index);
// SelectFontDialog::Listener implementation:
virtual void FontSelected(const gfx::Font& font, void* params);
// Save Changes made to relevent pref members associated with this tab.
// This is public since it is called by FontsLanguageWindowView in its
// Dialog Delegate Accept() method.
void SaveChanges();
protected:
// OptionsPageView implementation:
virtual void InitControlLayout();
virtual void NotifyPrefChanged(const std::wstring* pref_name);
private:
enum FontTypeBeingChanged {
NONE,
SERIF,
SANS_SERIF,
FIXED_WIDTH
};
virtual ~FontsPageView();
// Init Dialog controls.
void InitFontLayout();
void InitEncodingLayout();
bool serif_button_pressed_;
bool sans_serif_button_pressed_;
bool fixed_width_button_pressed_;
bool encoding_dropdown_clicked_;
views::Label* fonts_group_title_;
views::Label* encoding_group_title_;
views::View* fonts_contents_;
views::View* encoding_contents_;
// Fonts settings.
// Select Font dialogs.
scoped_refptr<SelectFontDialog> select_font_dialog_;
// Buttons.
views::NativeButton* fixed_width_font_change_page_button_;
views::NativeButton* serif_font_change_page_button_;
views::NativeButton* sans_serif_font_change_page_button_;
// FontDisplayView objects to display selected font.
FontDisplayView* fixed_width_font_display_view_;
FontDisplayView* serif_font_display_view_;
FontDisplayView* sans_serif_font_display_view_;
// Labels to describe what is to be changed.
views::Label* fixed_width_font_label_;
views::Label* serif_font_label_;
views::Label* sans_serif_font_label_;
// Advanced Font names and sizes as PrefMembers.
StringPrefMember serif_name_;
StringPrefMember sans_serif_name_;
StringPrefMember fixed_width_name_;
IntegerPrefMember serif_size_;
IntegerPrefMember sans_serif_size_;
IntegerPrefMember fixed_width_size_;
int serif_font_size_pixel_;
int sans_serif_font_size_pixel_;
int fixed_width_font_size_pixel_;
StringPrefMember default_encoding_;
bool font_changed_;
// Windows font picker flag;
FontTypeBeingChanged font_type_being_changed_;
// Default Encoding.
scoped_ptr<DefaultEncodingComboboxModel> default_encoding_combobox_model_;
views::Label* default_encoding_combobox_label_;
views::Combobox* default_encoding_combobox_;
std::string default_encoding_selected_;
bool default_encoding_changed_;
DISALLOW_COPY_AND_ASSIGN(FontsPageView);
};
#endif // CHROME_BROWSER_VIEWS_OPTIONS_FONTS_PAGE_VIEW_H_
|