diff options
author | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 17:38:10 +0000 |
---|---|---|
committer | erg@google.com <erg@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-29 17:38:10 +0000 |
commit | 95ce56621a1202b00716136dc4a6d2664e3a3d07 (patch) | |
tree | c127718d01995f9ef0f1848869436f2a5bbc97ef /chrome/browser/gtk/go_button_gtk.cc | |
parent | d51c0705e8e387ed9451bfd5f769e4aa3a926620 (diff) | |
download | chromium_src-95ce56621a1202b00716136dc4a6d2664e3a3d07.zip chromium_src-95ce56621a1202b00716136dc4a6d2664e3a3d07.tar.gz chromium_src-95ce56621a1202b00716136dc4a6d2664e3a3d07.tar.bz2 |
GTK Themes: Native location bar area.
The combined star/location bar/go construct doesn't look native. In
GTK mode, make the star and go buttons act like toolbar buttons, and
draw a GTK text entry widget onto the toolbar. The omnibox popup
is just the size of the entry when in GTK theme mode.
There's still a lot of work to be done on this; I want to properly
draw focus rings, have the rest of the location box use theme colors, et cetera, but this is less broken then what's currently
there.
Review URL: http://codereview.chromium.org/159532
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21965 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/go_button_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/go_button_gtk.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/chrome/browser/gtk/go_button_gtk.cc b/chrome/browser/gtk/go_button_gtk.cc index 43f3092..dfcae5e 100644 --- a/chrome/browser/gtk/go_button_gtk.cc +++ b/chrome/browser/gtk/go_button_gtk.cc @@ -9,6 +9,7 @@ #include "base/message_loop.h" #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/browser.h" +#include "chrome/browser/gtk/gtk_chrome_button.h" #include "chrome/browser/gtk/gtk_theme_provider.h" #include "chrome/browser/gtk/location_bar_view_gtk.h" #include "chrome/browser/profile.h" @@ -28,7 +29,7 @@ GoButtonGtk::GoButtonGtk(LocationBarViewGtk* location_bar, Browser* browser) GtkThemeProvider::GetFrom(browser->profile()) : NULL), go_(theme_provider_, IDR_GO, IDR_GO_P, IDR_GO_H, 0), stop_(theme_provider_, IDR_STOP, IDR_STOP_P, IDR_STOP_H, 0), - widget_(gtk_button_new()) { + widget_(gtk_chrome_button_new()) { gtk_widget_set_size_request(widget_.get(), gdk_pixbuf_get_width(go_.pixbufs(0)), gdk_pixbuf_get_height(go_.pixbufs(0))); @@ -199,7 +200,9 @@ void GoButtonGtk::SetTooltip() { } void GoButtonGtk::UpdateThemeButtons() { - if (theme_provider_ && theme_provider_->UseGtkTheme()) { + bool use_gtk = theme_provider_ && theme_provider_->UseGtkTheme(); + + if (use_gtk) { // TODO(erg): Waiting for Glen to make a version of these that don't have a // button border on it. if (intended_mode_ == MODE_GO) { @@ -224,4 +227,7 @@ void GoButtonGtk::UpdateThemeButtons() { // We effectively double-buffer by virtue of having only one image... gtk_widget_set_double_buffered(widget_.get(), FALSE); } + + gtk_chrome_button_set_use_gtk_rendering( + GTK_CHROME_BUTTON(widget_.get()), use_gtk); } |