blob: 477bf9188d98de49deb4d28e39080d142ac08e84 (
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
130
|
// 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_
#pragma once
#include <string>
#include "chrome/browser/prefs/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::string* 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_
|