diff options
author | deanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-04 17:40:50 +0000 |
---|---|---|
committer | deanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-04 17:40:50 +0000 |
commit | 5e629e4d8dc9d1447d7214605bcf4e31a87544bb (patch) | |
tree | 35eed5be32dbe6e0296889c17668e05609dcdb5c /chrome/browser/gtk | |
parent | f99d9b3f94ac14e7ce6c7ab6513d2de11038f019 (diff) | |
download | chromium_src-5e629e4d8dc9d1447d7214605bcf4e31a87544bb.zip chromium_src-5e629e4d8dc9d1447d7214605bcf4e31a87544bb.tar.gz chromium_src-5e629e4d8dc9d1447d7214605bcf4e31a87544bb.tar.bz2 |
Make the Linux find bar look a bit better.
- Fake some anti-aliasing so the text entry matches the next/prev images.
- Match padding pixel perfect with Windows.
Review URL: http://codereview.chromium.org/99275
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15217 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk')
-rw-r--r-- | chrome/browser/gtk/custom_button.cc | 5 | ||||
-rw-r--r-- | chrome/browser/gtk/custom_button.h | 2 | ||||
-rw-r--r-- | chrome/browser/gtk/download_shelf_gtk.cc | 2 | ||||
-rw-r--r-- | chrome/browser/gtk/find_bar_gtk.cc | 28 | ||||
-rw-r--r-- | chrome/browser/gtk/infobar_gtk.cc | 2 |
5 files changed, 27 insertions, 12 deletions
diff --git a/chrome/browser/gtk/custom_button.cc b/chrome/browser/gtk/custom_button.cc index e7389cb..d3e9c35 100644 --- a/chrome/browser/gtk/custom_button.cc +++ b/chrome/browser/gtk/custom_button.cc @@ -80,12 +80,13 @@ gboolean CustomDrawButton::OnExpose(GtkWidget* widget, } // static -CustomDrawButton* CustomDrawButton::AddBarCloseButton(GtkWidget* hbox) { +CustomDrawButton* CustomDrawButton::AddBarCloseButton(GtkWidget* hbox, + int padding) { CustomDrawButton* rv = new CustomDrawButton(IDR_CLOSE_BAR, IDR_CLOSE_BAR_P, IDR_CLOSE_BAR_H, 0); GTK_WIDGET_UNSET_FLAGS(rv->widget(), GTK_CAN_FOCUS); GtkWidget* centering_vbox = gtk_vbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(centering_vbox), rv->widget(), TRUE, FALSE, 0); - gtk_box_pack_end(GTK_BOX(hbox), centering_vbox, FALSE, FALSE, 0); + gtk_box_pack_end(GTK_BOX(hbox), centering_vbox, FALSE, FALSE, padding); return rv; } diff --git a/chrome/browser/gtk/custom_button.h b/chrome/browser/gtk/custom_button.h index 7a7a1a8..aea7717 100644 --- a/chrome/browser/gtk/custom_button.h +++ b/chrome/browser/gtk/custom_button.h @@ -59,7 +59,7 @@ class CustomDrawButton { // a bar (find bar, download shelf, info bars). The button will be packed in // |hbox|. // The caller is responsible for destroying the returned CustomDrawButton. - static CustomDrawButton* AddBarCloseButton(GtkWidget* hbox); + static CustomDrawButton* AddBarCloseButton(GtkWidget* hbox, int padding); private: // Callback for expose, used to draw the custom graphics. diff --git a/chrome/browser/gtk/download_shelf_gtk.cc b/chrome/browser/gtk/download_shelf_gtk.cc index 96c6819..01636d8 100644 --- a/chrome/browser/gtk/download_shelf_gtk.cc +++ b/chrome/browser/gtk/download_shelf_gtk.cc @@ -86,7 +86,7 @@ DownloadShelfGtk::DownloadShelfGtk(TabContents* tab_contents) gtk_box_pack_start(GTK_BOX(shelf_.get()), padding_bg, FALSE, FALSE, 0); // Create and pack the close button. - close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox_)); + close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox_, 0)); g_signal_connect(close_button_->widget(), "clicked", G_CALLBACK(OnButtonClick), this); diff --git a/chrome/browser/gtk/find_bar_gtk.cc b/chrome/browser/gtk/find_bar_gtk.cc index cbdd54c..3a2f6be 100644 --- a/chrome/browser/gtk/find_bar_gtk.cc +++ b/chrome/browser/gtk/find_bar_gtk.cc @@ -22,10 +22,15 @@ namespace { const GdkColor kBackgroundColor = GDK_COLOR_RGB(0xe6, 0xed, 0xf4); -const GdkColor kBorderColor = GDK_COLOR_RGB(0xbe, 0xc8, 0xd4); +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); // Padding around the container. -const int kBarPadding = 4; +const int kBarPaddingTopBottom = 4; +const int kEntryPaddingLeft = 6; +const int kCloseButtonPaddingLeft = 3; +const int kBarPaddingRight = 4; // The height of the findbar dialog, as dictated by the size of the background // images. @@ -109,7 +114,8 @@ void FindBarGtk::InitWidgets() { // the slide effect. GtkWidget* hbox = gtk_hbox_new(false, 0); container_ = gfx::CreateGtkBorderBin(hbox, &kBackgroundColor, - kBarPadding, kBarPadding, kBarPadding, kBarPadding); + kBarPaddingTopBottom, kBarPaddingTopBottom, + kEntryPaddingLeft, kBarPaddingRight); gtk_widget_set_app_paintable(container_, TRUE); slide_widget_.reset(new SlideAnimatorGtk(container_, @@ -121,13 +127,14 @@ void FindBarGtk::InitWidgets() { fixed_.Own(gtk_fixed_new()); border_ = gtk_event_box_new(); gtk_widget_set_size_request(border_, 1, 1); - gtk_widget_modify_bg(border_, GTK_STATE_NORMAL, &kBorderColor); + gtk_widget_modify_bg(border_, GTK_STATE_NORMAL, &kFrameBorderColor); gtk_fixed_put(GTK_FIXED(widget()), border_, 0, 0); gtk_fixed_put(GTK_FIXED(widget()), slide_widget(), 0, 0); gtk_widget_set_size_request(widget(), -1, 0); - close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox)); + close_button_.reset( + CustomDrawButton::AddBarCloseButton(hbox, kCloseButtonPaddingLeft)); g_signal_connect(G_OBJECT(close_button_->widget()), "clicked", G_CALLBACK(OnButtonPressed), this); gtk_widget_set_tooltip_text(close_button_->widget(), @@ -156,10 +163,17 @@ void FindBarGtk::InitWidgets() { // font size. gtk_widget_set_size_request(find_text_, -1, 20); gtk_entry_set_has_frame(GTK_ENTRY(find_text_), FALSE); - GtkWidget* border_bin = gfx::CreateGtkBorderBin(find_text_, &kBorderColor, + + // We fake anti-aliasing by having two borders. + GtkWidget* border_bin = gfx::CreateGtkBorderBin(find_text_, + &kTextBorderColor, 1, 1, 1, 0); + GtkWidget* border_bin_aa = gfx::CreateGtkBorderBin(border_bin, + &kTextBorderColorAA, + 1, 1, 1, 0); + GtkWidget* centering_vbox = gtk_vbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(centering_vbox), border_bin, TRUE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(centering_vbox), border_bin_aa, TRUE, FALSE, 0); gtk_box_pack_end(GTK_BOX(hbox), centering_vbox, FALSE, FALSE, 0); // We show just the GtkFixed and |border_| (but not the dialog). diff --git a/chrome/browser/gtk/infobar_gtk.cc b/chrome/browser/gtk/infobar_gtk.cc index 5504a5e..4820b4f 100644 --- a/chrome/browser/gtk/infobar_gtk.cc +++ b/chrome/browser/gtk/infobar_gtk.cc @@ -62,7 +62,7 @@ InfoBar::InfoBar(InfoBarDelegate* delegate) gtk_box_pack_start(GTK_BOX(hbox_), image, FALSE, FALSE, 0); } - close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox_)); + close_button_.reset(CustomDrawButton::AddBarCloseButton(hbox_, 0)); g_signal_connect(close_button_->widget(), "clicked", G_CALLBACK(OnCloseButton), this); |