| Index: chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc
|
| diff --git a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc
|
| index 957cc3708bc6be70c178898d99127f97be7c1936..346f2537e9db6914999a6eef4a59e2dcc51847ad 100644
|
| --- a/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc
|
| +++ b/chrome/browser/ui/libgtk2ui/native_theme_gtk2.cc
|
| @@ -19,18 +19,6 @@ namespace {
|
|
|
| // Theme colors returned by GetSystemColor().
|
| const SkColor kInvalidColorIdColor = SkColorSetRGB(255, 0, 128);
|
| -// Tree
|
| -const SkColor kTreeBackground = SK_ColorWHITE;
|
| -const SkColor kTreeTextColor = SK_ColorBLACK;
|
| -const SkColor kTreeSelectedTextColor = SK_ColorBLACK;
|
| -const SkColor kTreeSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
|
| -const SkColor kTreeArrowColor = SkColorSetRGB(0x7A, 0x7A, 0x7A);
|
| -// Table
|
| -const SkColor kTableBackground = SK_ColorWHITE;
|
| -const SkColor kTableTextColor = SK_ColorBLACK;
|
| -const SkColor kTableSelectedTextColor = SK_ColorBLACK;
|
| -const SkColor kTableSelectionBackgroundColor = SkColorSetRGB(0xEE, 0xEE, 0xEE);
|
| -const SkColor kTableGroupingIndicatorColor = SkColorSetRGB(0xCC, 0xCC, 0xCC);
|
|
|
| } // namespace
|
|
|
| @@ -54,46 +42,11 @@ NativeThemeGtk2::~NativeThemeGtk2() {
|
| fake_entry_.Destroy();
|
| fake_label_.Destroy();
|
| fake_button_.Destroy();
|
| + fake_tree_.Destroy();
|
| fake_menu_.Destroy();
|
| }
|
|
|
| SkColor NativeThemeGtk2::GetSystemColor(ColorId color_id) const {
|
| - switch (color_id) {
|
| - // TODO(erg): Still need to fish the colors out of trees and tables.
|
| -
|
| - // Tree
|
| - case kColorId_TreeBackground:
|
| - return kTreeBackground;
|
| - case kColorId_TreeText:
|
| - return kTreeTextColor;
|
| - case kColorId_TreeSelectedText:
|
| - case kColorId_TreeSelectedTextUnfocused:
|
| - return kTreeSelectedTextColor;
|
| - case kColorId_TreeSelectionBackgroundFocused:
|
| - case kColorId_TreeSelectionBackgroundUnfocused:
|
| - return kTreeSelectionBackgroundColor;
|
| - case kColorId_TreeArrow:
|
| - return kTreeArrowColor;
|
| -
|
| - // Table
|
| - case kColorId_TableBackground:
|
| - return kTableBackground;
|
| - case kColorId_TableText:
|
| - return kTableTextColor;
|
| - case kColorId_TableSelectedText:
|
| - case kColorId_TableSelectedTextUnfocused:
|
| - return kTableSelectedTextColor;
|
| - case kColorId_TableSelectionBackgroundFocused:
|
| - case kColorId_TableSelectionBackgroundUnfocused:
|
| - return kTableSelectionBackgroundColor;
|
| - case kColorId_TableGroupingIndicatorColor:
|
| - return kTableGroupingIndicatorColor;
|
| -
|
| - default:
|
| - // Fall through.
|
| - break;
|
| - }
|
| -
|
| return GdkColorToSkColor(GetSystemGdkColor(color_id));
|
| }
|
|
|
| @@ -220,8 +173,27 @@ GdkColor NativeThemeGtk2::GetSystemGdkColor(ColorId color_id) const {
|
| case kColorId_TextfieldSelectionBackgroundFocused:
|
| return GetEntryStyle()->base[GTK_STATE_SELECTED];
|
|
|
| - // Tree
|
| - // Table
|
| + // Trees and Tables (implemented on GTK using the same class)
|
| + case kColorId_TableBackground:
|
| + case kColorId_TreeBackground:
|
| + return GetTreeStyle()->bg[GTK_STATE_NORMAL];
|
| + case kColorId_TableText:
|
| + case kColorId_TreeText:
|
| + return GetTreeStyle()->text[GTK_STATE_NORMAL];
|
| + case kColorId_TableSelectedText:
|
| + case kColorId_TableSelectedTextUnfocused:
|
| + case kColorId_TreeSelectedText:
|
| + case kColorId_TreeSelectedTextUnfocused:
|
| + return GetTreeStyle()->text[GTK_STATE_SELECTED];
|
| + case kColorId_TableSelectionBackgroundFocused:
|
| + case kColorId_TableSelectionBackgroundUnfocused:
|
| + case kColorId_TreeSelectionBackgroundFocused:
|
| + case kColorId_TreeSelectionBackgroundUnfocused:
|
| + return GetTreeStyle()->bg[GTK_STATE_SELECTED];
|
| + case kColorId_TreeArrow:
|
| + return GetTreeStyle()->fg[GTK_STATE_NORMAL];
|
| + case kColorId_TableGroupingIndicatorColor:
|
| + return GetTreeStyle()->text_aa[GTK_STATE_NORMAL];
|
|
|
| default:
|
| // Fall through
|
| @@ -270,6 +242,13 @@ GtkStyle* NativeThemeGtk2::GetButtonStyle() const {
|
| return gtk_rc_get_style(fake_button_.get());
|
| }
|
|
|
| +GtkStyle* NativeThemeGtk2::GetTreeStyle() const {
|
| + if (!fake_tree_.get())
|
| + fake_tree_.Own(gtk_tree_view_new());
|
| +
|
| + return gtk_rc_get_style(fake_tree_.get());
|
| +}
|
| +
|
| GtkStyle* NativeThemeGtk2::GetMenuStyle() const {
|
| if (!fake_menu_.get())
|
| fake_menu_.Own(gtk_menu_new());
|
|
|