OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/gtk/gtk_util.h" | 5 #include "chrome/browser/ui/gtk/gtk_util.h" |
6 | 6 |
7 #include <cairo/cairo.h> | 7 #include <cairo/cairo.h> |
8 #include <gdk/gdkx.h> | 8 #include <gdk/gdkx.h> |
9 #include <gtk/gtk.h> | 9 #include <gtk/gtk.h> |
10 | 10 |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "chrome/browser/ui/gtk/gtk_theme_service.h" | 28 #include "chrome/browser/ui/gtk/gtk_theme_service.h" |
29 #include "content/browser/disposition_utils.h" | 29 #include "content/browser/disposition_utils.h" |
30 #include "content/browser/renderer_host/render_view_host.h" | 30 #include "content/browser/renderer_host/render_view_host.h" |
31 #include "content/browser/tab_contents/tab_contents.h" | 31 #include "content/browser/tab_contents/tab_contents.h" |
32 #include "content/common/renderer_preferences.h" | 32 #include "content/common/renderer_preferences.h" |
33 #include "googleurl/src/gurl.h" | 33 #include "googleurl/src/gurl.h" |
34 #include "grit/theme_resources.h" | 34 #include "grit/theme_resources.h" |
35 #include "grit/theme_resources_standard.h" | 35 #include "grit/theme_resources_standard.h" |
36 #include "third_party/skia/include/core/SkBitmap.h" | 36 #include "third_party/skia/include/core/SkBitmap.h" |
37 #include "third_party/skia/include/core/SkColor.h" | 37 #include "third_party/skia/include/core/SkColor.h" |
38 #include "ui/base/gtk/gtk_hig_constants.h" | |
39 #include "ui/base/l10n/l10n_util.h" | 38 #include "ui/base/l10n/l10n_util.h" |
40 #include "ui/base/resource/resource_bundle.h" | 39 #include "ui/base/resource/resource_bundle.h" |
41 #include "ui/base/text/text_elider.h" | 40 #include "ui/base/text/text_elider.h" |
42 #include "ui/base/x/x11_util.h" | 41 #include "ui/base/x/x11_util.h" |
43 #include "ui/gfx/gtk_util.h" | 42 #include "ui/gfx/gtk_util.h" |
44 #include "ui/gfx/image/image.h" | 43 #include "ui/gfx/image/image.h" |
45 | 44 |
46 #if defined(OS_CHROMEOS) | 45 #if defined(OS_CHROMEOS) |
47 #include "chrome/browser/chromeos/frame/browser_view.h" | 46 #include "chrome/browser/chromeos/frame/browser_view.h" |
48 #include "chrome/browser/chromeos/native_dialog_window.h" | 47 #include "chrome/browser/chromeos/native_dialog_window.h" |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 event_flags & GDK_MOD1_MASK, | 201 event_flags & GDK_MOD1_MASK, |
203 event_flags & GDK_CONTROL_MASK, | 202 event_flags & GDK_CONTROL_MASK, |
204 event_flags & GDK_META_MASK, | 203 event_flags & GDK_META_MASK, |
205 event_flags & GDK_SHIFT_MASK); | 204 event_flags & GDK_SHIFT_MASK); |
206 } | 205 } |
207 | 206 |
208 } // namespace event_utils | 207 } // namespace event_utils |
209 | 208 |
210 namespace gtk_util { | 209 namespace gtk_util { |
211 | 210 |
| 211 const GdkColor kGdkWhite = GDK_COLOR_RGB(0xff, 0xff, 0xff); |
| 212 const GdkColor kGdkGray = GDK_COLOR_RGB(0x7f, 0x7f, 0x7f); |
| 213 const GdkColor kGdkBlack = GDK_COLOR_RGB(0x00, 0x00, 0x00); |
| 214 const GdkColor kGdkGreen = GDK_COLOR_RGB(0x00, 0xff, 0x00); |
| 215 |
212 GtkWidget* CreateLabeledControlsGroup(std::vector<GtkWidget*>* labels, | 216 GtkWidget* CreateLabeledControlsGroup(std::vector<GtkWidget*>* labels, |
213 const char* text, ...) { | 217 const char* text, ...) { |
214 va_list ap; | 218 va_list ap; |
215 va_start(ap, text); | 219 va_start(ap, text); |
216 GtkWidget* table = gtk_table_new(0, 2, FALSE); | 220 GtkWidget* table = gtk_table_new(0, 2, FALSE); |
217 gtk_table_set_col_spacing(GTK_TABLE(table), 0, ui::kLabelSpacing); | 221 gtk_table_set_col_spacing(GTK_TABLE(table), 0, kLabelSpacing); |
218 gtk_table_set_row_spacings(GTK_TABLE(table), ui::kControlSpacing); | 222 gtk_table_set_row_spacings(GTK_TABLE(table), kControlSpacing); |
219 | 223 |
220 for (guint row = 0; text; ++row) { | 224 for (guint row = 0; text; ++row) { |
221 gtk_table_resize(GTK_TABLE(table), row + 1, 2); | 225 gtk_table_resize(GTK_TABLE(table), row + 1, 2); |
222 GtkWidget* control = va_arg(ap, GtkWidget*); | 226 GtkWidget* control = va_arg(ap, GtkWidget*); |
223 GtkWidget* label = gtk_label_new(text); | 227 GtkWidget* label = gtk_label_new(text); |
224 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); | 228 gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); |
225 if (labels) | 229 if (labels) |
226 labels->push_back(label); | 230 labels->push_back(label); |
227 | 231 |
228 gtk_table_attach(GTK_TABLE(table), label, | 232 gtk_table_attach(GTK_TABLE(table), label, |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
655 GtkWidget* button = gtk_button_new_with_mnemonic( | 659 GtkWidget* button = gtk_button_new_with_mnemonic( |
656 gfx::ConvertAcceleratorsFromWindowsStyle( | 660 gfx::ConvertAcceleratorsFromWindowsStyle( |
657 l10n_util::GetStringUTF8(ids_id)).c_str()); | 661 l10n_util::GetStringUTF8(ids_id)).c_str()); |
658 gtk_button_set_image(GTK_BUTTON(button), | 662 gtk_button_set_image(GTK_BUTTON(button), |
659 gtk_image_new_from_stock(stock_id, | 663 gtk_image_new_from_stock(stock_id, |
660 GTK_ICON_SIZE_BUTTON)); | 664 GTK_ICON_SIZE_BUTTON)); |
661 return button; | 665 return button; |
662 } | 666 } |
663 | 667 |
664 GtkWidget* CreateEntryImageHBox(GtkWidget* entry, GtkWidget* image) { | 668 GtkWidget* CreateEntryImageHBox(GtkWidget* entry, GtkWidget* image) { |
665 GtkWidget* hbox = gtk_hbox_new(FALSE, ui::kControlSpacing); | 669 GtkWidget* hbox = gtk_hbox_new(FALSE, gtk_util::kControlSpacing); |
666 gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); | 670 gtk_box_pack_start(GTK_BOX(hbox), entry, TRUE, TRUE, 0); |
667 gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); | 671 gtk_box_pack_start(GTK_BOX(hbox), image, FALSE, FALSE, 0); |
668 return hbox; | 672 return hbox; |
669 } | 673 } |
670 | 674 |
671 void SetLabelColor(GtkWidget* label, const GdkColor* color) { | 675 void SetLabelColor(GtkWidget* label, const GdkColor* color) { |
672 gtk_widget_modify_fg(label, GTK_STATE_NORMAL, color); | 676 gtk_widget_modify_fg(label, GTK_STATE_NORMAL, color); |
673 gtk_widget_modify_fg(label, GTK_STATE_ACTIVE, color); | 677 gtk_widget_modify_fg(label, GTK_STATE_ACTIVE, color); |
674 gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, color); | 678 gtk_widget_modify_fg(label, GTK_STATE_PRELIGHT, color); |
675 gtk_widget_modify_fg(label, GTK_STATE_INSENSITIVE, color); | 679 gtk_widget_modify_fg(label, GTK_STATE_INSENSITIVE, color); |
676 } | 680 } |
677 | 681 |
678 GtkWidget* IndentWidget(GtkWidget* content) { | 682 GtkWidget* IndentWidget(GtkWidget* content) { |
679 GtkWidget* content_alignment = gtk_alignment_new(0.0, 0.5, 1.0, 1.0); | 683 GtkWidget* content_alignment = gtk_alignment_new(0.0, 0.5, 1.0, 1.0); |
680 gtk_alignment_set_padding(GTK_ALIGNMENT(content_alignment), 0, 0, | 684 gtk_alignment_set_padding(GTK_ALIGNMENT(content_alignment), 0, 0, |
681 ui::kGroupIndent, 0); | 685 gtk_util::kGroupIndent, 0); |
682 gtk_container_add(GTK_CONTAINER(content_alignment), content); | 686 gtk_container_add(GTK_CONTAINER(content_alignment), content); |
683 return content_alignment; | 687 return content_alignment; |
684 } | 688 } |
685 | 689 |
686 void UpdateGtkFontSettings(RendererPreferences* prefs) { | 690 void UpdateGtkFontSettings(RendererPreferences* prefs) { |
687 DCHECK(prefs); | 691 DCHECK(prefs); |
688 | 692 |
689 // From http://library.gnome.org/devel/gtk/unstable/GtkSettings.html, this is | 693 // From http://library.gnome.org/devel/gtk/unstable/GtkSettings.html, this is |
690 // the default value for gtk-cursor-blink-time. | 694 // the default value for gtk-cursor-blink-time. |
691 static const gint kGtkDefaultCursorBlinkTime = 1200; | 695 static const gint kGtkDefaultCursorBlinkTime = 1200; |
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1278 | 1282 |
1279 void DoCopy(BrowserWindow* window) { | 1283 void DoCopy(BrowserWindow* window) { |
1280 DoCutCopyPaste(window, &RenderViewHost::Copy, "copy-clipboard"); | 1284 DoCutCopyPaste(window, &RenderViewHost::Copy, "copy-clipboard"); |
1281 } | 1285 } |
1282 | 1286 |
1283 void DoPaste(BrowserWindow* window) { | 1287 void DoPaste(BrowserWindow* window) { |
1284 DoCutCopyPaste(window, &RenderViewHost::Paste, "paste-clipboard"); | 1288 DoCutCopyPaste(window, &RenderViewHost::Paste, "paste-clipboard"); |
1285 } | 1289 } |
1286 | 1290 |
1287 } // namespace gtk_util | 1291 } // namespace gtk_util |
OLD | NEW |