diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 23:30:41 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-29 23:30:41 +0000 |
commit | 6159685d95afd3ba1543300d54a21dddd1a22249 (patch) | |
tree | 90d5021d4987e58139064812c7a8e476941ec8d7 | |
parent | b0950a734d693e2192b1e2e94381c4345387b330 (diff) | |
download | chromium_src-6159685d95afd3ba1543300d54a21dddd1a22249.zip chromium_src-6159685d95afd3ba1543300d54a21dddd1a22249.tar.gz chromium_src-6159685d95afd3ba1543300d54a21dddd1a22249.tar.bz2 |
GTK: Use a calculated border color in chrome theme mode instead of blue.
Review URL: http://codereview.chromium.org/255012
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27565 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/gtk/blocked_popup_container_view_gtk.cc | 12 | ||||
-rw-r--r-- | chrome/browser/gtk/download_shelf_gtk.cc | 11 | ||||
-rw-r--r-- | chrome/browser/gtk/extension_shelf_gtk.cc | 14 | ||||
-rw-r--r-- | chrome/browser/gtk/find_bar_gtk.cc | 9 | ||||
-rw-r--r-- | chrome/browser/gtk/gtk_theme_provider.cc | 22 |
5 files changed, 26 insertions, 42 deletions
diff --git a/chrome/browser/gtk/blocked_popup_container_view_gtk.cc b/chrome/browser/gtk/blocked_popup_container_view_gtk.cc index 925c390..24016a0 100644 --- a/chrome/browser/gtk/blocked_popup_container_view_gtk.cc +++ b/chrome/browser/gtk/blocked_popup_container_view_gtk.cc @@ -20,12 +20,10 @@ #include "grit/theme_resources.h" namespace { + // The minimal border around the edge of the notification. const int kSmallPadding = 2; -// Color of the border. -const GdkColor kBorderColor = GDK_COLOR_RGB(190, 205, 223); - // Color of the gradient in the background. const double kBackgroundColorTop[] = { 246.0 / 255, 250.0 / 255, 1.0 }; const double kBackgroundColorBottom[] = { 219.0 / 255, 235.0 / 255, 1.0 }; @@ -109,14 +107,14 @@ void BlockedPopupContainerViewGtk::Observe(NotificationType type, GtkWidget* label = gtk_bin_get_child(GTK_BIN(menu_button_)); if (theme_provider_->UseGtkTheme()) { gtk_util::SetLabelColor(label, NULL); - GdkColor color = theme_provider_->GetBorderColor(); - gtk_util::SetRoundedWindowBorderColor(container_.get(), color); } else { GdkColor color = theme_provider_->GetGdkColor( BrowserThemeProvider::COLOR_BOOKMARK_TEXT); gtk_util::SetLabelColor(label, &color); - gtk_util::SetRoundedWindowBorderColor(container_.get(), kBorderColor); } + + GdkColor color = theme_provider_->GetBorderColor(); + gtk_util::SetRoundedWindowBorderColor(container_.get(), color); } bool BlockedPopupContainerViewGtk::IsCommandEnabled(int command_id) const { @@ -179,7 +177,7 @@ void BlockedPopupContainerViewGtk::Init() { g_signal_connect(container_.get(), "expose-event", G_CALLBACK(OnRoundedExposeCallback), this); gtk_util::ActAsRoundedWindow( - container_.get(), kBorderColor, kCornerSize, + container_.get(), gfx::kGdkBlack, kCornerSize, gtk_util::ROUNDED_TOP_LEFT | gtk_util::ROUNDED_TOP_RIGHT, gtk_util::BORDER_LEFT | gtk_util::BORDER_TOP | gtk_util::BORDER_RIGHT); diff --git a/chrome/browser/gtk/download_shelf_gtk.cc b/chrome/browser/gtk/download_shelf_gtk.cc index 6188b75..dba7532 100644 --- a/chrome/browser/gtk/download_shelf_gtk.cc +++ b/chrome/browser/gtk/download_shelf_gtk.cc @@ -39,9 +39,6 @@ const int kLeftPadding = 2; // Padding between the right side of the shelf and the close button. const int kRightPadding = 10; -// Border color (the top pixel of the shelf). -const GdkColor kBorderColor = GDK_COLOR_RGB(214, 214, 214); - // Speed of the shelf show/hide animation. const int kShelfAnimationDurationMs = 120; @@ -194,12 +191,8 @@ void DownloadShelfGtk::Observe(NotificationType type, BrowserThemeProvider::COLOR_TOOLBAR); gtk_widget_modify_bg(padding_bg_, GTK_STATE_NORMAL, &color); - if (theme_provider_->UseGtkTheme()) { - GdkColor color = theme_provider_->GetBorderColor(); - gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &color); - } else { - gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &kBorderColor); - } + color = theme_provider_->GetBorderColor(); + gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &color); } } diff --git a/chrome/browser/gtk/extension_shelf_gtk.cc b/chrome/browser/gtk/extension_shelf_gtk.cc index 24547ed..437f91f 100644 --- a/chrome/browser/gtk/extension_shelf_gtk.cc +++ b/chrome/browser/gtk/extension_shelf_gtk.cc @@ -15,9 +15,6 @@ #include "grit/generated_resources.h" #include "grit/theme_resources.h" -// Border color (the top pixel of the shelf). -const GdkColor kBorderColor = GDK_COLOR_RGB(214, 214, 214); - // Preferred height of the ExtensionShelfGtk. static const int kShelfHeight = 29; @@ -155,15 +152,10 @@ void ExtensionShelfGtk::Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { DCHECK(type == NotificationType::BROWSER_THEME_CHANGED); - if (theme_provider_->UseGtkTheme()) { - GdkColor color = theme_provider_->GetBorderColor(); - gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &color); - } else { - gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &kBorderColor); - } + GdkColor color = theme_provider_->GetBorderColor(); + gtk_widget_modify_bg(top_border_, GTK_STATE_NORMAL, &color); - GdkColor color = theme_provider_->GetGdkColor( - BrowserThemeProvider::COLOR_TOOLBAR); + color = theme_provider_->GetGdkColor(BrowserThemeProvider::COLOR_TOOLBAR); gtk_widget_modify_bg(event_box_.get(), GTK_STATE_NORMAL, &color); // Reset the background images on all the individual toolstrips diff --git a/chrome/browser/gtk/find_bar_gtk.cc b/chrome/browser/gtk/find_bar_gtk.cc index 282dd56..f3378c3 100644 --- a/chrome/browser/gtk/find_bar_gtk.cc +++ b/chrome/browser/gtk/find_bar_gtk.cc @@ -29,7 +29,6 @@ namespace { -const GdkColor kFrameBorderColor = GDK_COLOR_RGB(0xbe, 0xc8, 0xd4); const GdkColor kTextBorderColor = GDK_COLOR_RGB(0xa6, 0xaf, 0xba); const GdkColor kTextBorderColorAA = GDK_COLOR_RGB(0xee, 0xf4, 0xfb); // Used as the color of the text in the entry box and the text for the results @@ -470,10 +469,10 @@ void FindBarGtk::Observe(NotificationType type, container_height_ = -1; current_fixed_width_ = -1; - if (theme_provider_->UseGtkTheme()) { - GdkColor color = theme_provider_->GetBorderColor(); - gtk_widget_modify_bg(border_, GTK_STATE_NORMAL, &color); + GdkColor color = theme_provider_->GetBorderColor(); + gtk_widget_modify_bg(border_, GTK_STATE_NORMAL, &color); + if (theme_provider_->UseGtkTheme()) { gtk_widget_modify_base(text_entry_, GTK_STATE_NORMAL, NULL); gtk_widget_modify_text(text_entry_, GTK_STATE_NORMAL, NULL); @@ -500,8 +499,6 @@ void FindBarGtk::Observe(NotificationType type, gtk_misc_set_alignment(GTK_MISC(match_count_label_), 0.5, 0.5); } else { - gtk_widget_modify_bg(border_, GTK_STATE_NORMAL, &kFrameBorderColor); - gtk_widget_modify_base(text_entry_, GTK_STATE_NORMAL, &kEntryBackgroundColor); gtk_widget_modify_text(text_entry_, GTK_STATE_NORMAL, diff --git a/chrome/browser/gtk/gtk_theme_provider.cc b/chrome/browser/gtk/gtk_theme_provider.cc index 07a8d38..bc47e8f 100644 --- a/chrome/browser/gtk/gtk_theme_provider.cc +++ b/chrome/browser/gtk/gtk_theme_provider.cc @@ -156,19 +156,23 @@ GdkColor GtkThemeProvider::GetGdkColor(int id) { GdkColor GtkThemeProvider::GetBorderColor() { GtkStyle* style = gtk_rc_get_style(fake_window_); + GdkColor text; + GdkColor bg; + if (use_gtk_) { + text = style->text[GTK_STATE_NORMAL]; + bg = style->bg[GTK_STATE_NORMAL]; + } else { + text = GetGdkColor(COLOR_BOOKMARK_TEXT); + bg = GetGdkColor(COLOR_TOOLBAR); + } + // Creates a weighted average between the text and base color where // the base color counts more than once. GdkColor color; color.pixel = 0; - color.red = (style->text[GTK_STATE_NORMAL].red + - (style->bg[GTK_STATE_NORMAL].red * kBgWeight)) / - (1 + kBgWeight); - color.green = (style->text[GTK_STATE_NORMAL].green + - (style->bg[GTK_STATE_NORMAL].green * kBgWeight)) / - (1 + kBgWeight); - color.blue = (style->text[GTK_STATE_NORMAL].blue + - (style->bg[GTK_STATE_NORMAL].blue * kBgWeight)) / - (1 + kBgWeight); + color.red = (text.red + (bg.red * kBgWeight)) / (1 + kBgWeight); + color.green = (text.green + (bg.green * kBgWeight)) / (1 + kBgWeight); + color.blue = (text.blue + (bg.blue * kBgWeight)) / (1 + kBgWeight); return color; } |