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

Unified Diff: chrome/browser/gtk/options/fonts_page_gtk.cc

Issue 6251001: Move chrome/browser/gtk/ to chrome/browser/ui/gtk/... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/options/fonts_page_gtk.h ('k') | chrome/browser/gtk/options/general_page_gtk.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/options/fonts_page_gtk.cc
===================================================================
--- chrome/browser/gtk/options/fonts_page_gtk.cc (revision 71352)
+++ chrome/browser/gtk/options/fonts_page_gtk.cc (working copy)
@@ -1,188 +0,0 @@
-// 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.
-
-#include "chrome/browser/gtk/options/fonts_page_gtk.h"
-
-#include <string>
-
-#include "app/l10n_util.h"
-#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
-#include "chrome/browser/default_encoding_combo_model.h"
-#include "chrome/browser/gtk/gtk_util.h"
-#include "chrome/browser/gtk/options/options_layout_gtk.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/common/pref_names.h"
-#include "gfx/font.h"
-#include "grit/generated_resources.h"
-
-namespace {
-
-// Make a Gtk font name string from a font family name and pixel size.
-std::string MakeFontName(std::string family_name, int pixel_size) {
- // The given font might not be available (the default fonts we use are not
- // installed by default on some distros). So figure out which font we are
- // actually falling back to and display that. (See crbug.com/31381.)
- string16 actual_family_name = gfx::Font(
- UTF8ToUTF16(family_name), pixel_size).GetFontName();
- std::string fontname;
- // TODO(mattm): We can pass in the size in pixels (px), and the font button
- // actually honors it, but when you open the selector it interprets it as
- // points. See crbug.com/17857
- base::SStringPrintf(&fontname, "%s, %dpx",
- UTF16ToUTF8(actual_family_name).c_str(), pixel_size);
- return fontname;
-}
-
-} // namespace
-
-FontsPageGtk::FontsPageGtk(Profile* profile) : OptionsPageBase(profile) {
- Init();
-}
-
-FontsPageGtk::~FontsPageGtk() {
-}
-
-void FontsPageGtk::Init() {
- scoped_ptr<OptionsLayoutBuilderGtk>
- options_builder(OptionsLayoutBuilderGtk::Create());
- serif_font_button_ = gtk_font_button_new();
- gtk_font_button_set_use_font(GTK_FONT_BUTTON(serif_font_button_), TRUE);
- gtk_font_button_set_use_size(GTK_FONT_BUTTON(serif_font_button_), TRUE);
- g_signal_connect(serif_font_button_, "font-set",
- G_CALLBACK(OnSerifFontSetThunk), this);
-
- sans_font_button_ = gtk_font_button_new();
- gtk_font_button_set_use_font(GTK_FONT_BUTTON(sans_font_button_), TRUE);
- gtk_font_button_set_use_size(GTK_FONT_BUTTON(sans_font_button_), TRUE);
- g_signal_connect(sans_font_button_, "font-set",
- G_CALLBACK(OnSansFontSetThunk), this);
-
- fixed_font_button_ = gtk_font_button_new();
- gtk_font_button_set_use_font(GTK_FONT_BUTTON(fixed_font_button_), TRUE);
- gtk_font_button_set_use_size(GTK_FONT_BUTTON(fixed_font_button_), TRUE);
- g_signal_connect(fixed_font_button_, "font-set",
- G_CALLBACK(OnFixedFontSetThunk), this);
-
- GtkWidget* font_controls = gtk_util::CreateLabeledControlsGroup(NULL,
- l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SERIF_LABEL).c_str(),
- serif_font_button_,
- l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_SANS_SERIF_LABEL).c_str(),
- sans_font_button_,
- l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_SELECTOR_FIXED_WIDTH_LABEL).c_str(),
- fixed_font_button_,
- NULL);
-
- options_builder->AddOptionGroup(l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_SUB_DIALOG_FONT_TITLE),
- font_controls, false);
-
- InitDefaultEncodingComboBox();
- std::string encoding_group_description = l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_DEFAULT_ENCODING_SELECTOR_LABEL);
- GtkWidget* encoding_controls = gtk_util::CreateLabeledControlsGroup(NULL,
- encoding_group_description.c_str(),
- default_encoding_combobox_,
- NULL);
- options_builder->AddOptionGroup(l10n_util::GetStringUTF8(
- IDS_FONT_LANGUAGE_SETTING_FONT_SUB_DIALOG_ENCODING_TITLE),
- encoding_controls, false);
-
- page_ = options_builder->get_page_widget();
-
- serif_name_.Init(prefs::kWebKitSerifFontFamily, profile()->GetPrefs(), this);
- sans_serif_name_.Init(prefs::kWebKitSansSerifFontFamily,
- profile()->GetPrefs(), this);
- variable_width_size_.Init(prefs::kWebKitDefaultFontSize,
- profile()->GetPrefs(), this);
-
- fixed_width_name_.Init(prefs::kWebKitFixedFontFamily, profile()->GetPrefs(),
- this);
- fixed_width_size_.Init(prefs::kWebKitDefaultFixedFontSize,
- profile()->GetPrefs(), this);
-
- default_encoding_.Init(prefs::kDefaultCharset, profile()->GetPrefs(), this);
-
- NotifyPrefChanged(NULL);
-}
-
-void FontsPageGtk::InitDefaultEncodingComboBox() {
- default_encoding_combobox_ = gtk_combo_box_new_text();
- g_signal_connect(default_encoding_combobox_, "changed",
- G_CALLBACK(OnDefaultEncodingChangedThunk), this);
- default_encoding_combobox_model_.reset(new DefaultEncodingComboboxModel);
- for (int i = 0; i < default_encoding_combobox_model_->GetItemCount(); ++i) {
- gtk_combo_box_append_text(
- GTK_COMBO_BOX(default_encoding_combobox_),
- UTF16ToUTF8(default_encoding_combobox_model_->GetItemAt(i)).c_str());
- }
-}
-
-void FontsPageGtk::NotifyPrefChanged(const std::string* pref_name) {
- if (!pref_name || *pref_name == prefs::kWebKitSerifFontFamily ||
- *pref_name == prefs::kWebKitDefaultFontSize) {
- gtk_font_button_set_font_name(GTK_FONT_BUTTON(serif_font_button_),
- MakeFontName(serif_name_.GetValue(),
- variable_width_size_.GetValue()).c_str());
- }
- if (!pref_name || *pref_name == prefs::kWebKitSansSerifFontFamily ||
- *pref_name == prefs::kWebKitDefaultFontSize) {
- gtk_font_button_set_font_name(GTK_FONT_BUTTON(sans_font_button_),
- MakeFontName(sans_serif_name_.GetValue(),
- variable_width_size_.GetValue()).c_str());
- }
- if (!pref_name || *pref_name == prefs::kWebKitFixedFontFamily ||
- *pref_name == prefs::kWebKitDefaultFixedFontSize) {
- gtk_font_button_set_font_name(GTK_FONT_BUTTON(fixed_font_button_),
- MakeFontName(fixed_width_name_.GetValue(),
- fixed_width_size_.GetValue()).c_str());
- }
- if (!pref_name || *pref_name == prefs::kDefaultCharset) {
- gtk_combo_box_set_active(
- GTK_COMBO_BOX(default_encoding_combobox_),
- default_encoding_combobox_model_->GetSelectedEncodingIndex(profile()));
- }
-}
-
-void FontsPageGtk::SetFontsFromButton(StringPrefMember* name_pref,
- IntegerPrefMember* size_pref,
- GtkWidget* font_button) {
- PangoFontDescription* desc = pango_font_description_from_string(
- gtk_font_button_get_font_name(GTK_FONT_BUTTON(font_button)));
- int size = pango_font_description_get_size(desc);
- name_pref->SetValue(pango_font_description_get_family(desc));
- size_pref->SetValue(size / PANGO_SCALE);
- pango_font_description_free(desc);
- // Reset the button font in px, since the chooser will have set it in points.
- // Also, both sans and serif share the same size so we need to update them
- // both.
- NotifyPrefChanged(NULL);
-}
-
-void FontsPageGtk::OnSerifFontSet(GtkWidget* font_button) {
- SetFontsFromButton(&serif_name_,
- &variable_width_size_,
- font_button);
-}
-
-void FontsPageGtk::OnSansFontSet(GtkWidget* font_button) {
- SetFontsFromButton(&sans_serif_name_,
- &variable_width_size_,
- font_button);
-}
-
-void FontsPageGtk::OnFixedFontSet(GtkWidget* font_button) {
- SetFontsFromButton(&fixed_width_name_,
- &fixed_width_size_,
- font_button);
-}
-
-void FontsPageGtk::OnDefaultEncodingChanged(GtkWidget* combo_box) {
- int index = gtk_combo_box_get_active(GTK_COMBO_BOX(combo_box));
- default_encoding_.SetValue(default_encoding_combobox_model_->
- GetEncodingCharsetByIndex(index));
-}
« no previous file with comments | « chrome/browser/gtk/options/fonts_page_gtk.h ('k') | chrome/browser/gtk/options/general_page_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698