diff options
author | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-19 23:44:34 +0000 |
---|---|---|
committer | jhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-05-19 23:44:34 +0000 |
commit | 06416f79b380fe5378bc3fd305e89c762c8408ea (patch) | |
tree | b573c2d4c334f7ab19a68fecba3cb3fa499ada4a /chrome/browser/gtk/tabs/tab_gtk.cc | |
parent | aec3525822420bd1386af1a3cfd9fe3f6d0dbe90 (diff) | |
download | chromium_src-06416f79b380fe5378bc3fd305e89c762c8408ea.zip chromium_src-06416f79b380fe5378bc3fd305e89c762c8408ea.tar.gz chromium_src-06416f79b380fe5378bc3fd305e89c762c8408ea.tar.bz2 |
Handle non-composited WMs when rendering the dragged tab. Also moves rendering of the close button to TabRendererGtk (where it belongs).
Review URL: http://codereview.chromium.org/115543
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16437 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk/tabs/tab_gtk.cc')
-rw-r--r-- | chrome/browser/gtk/tabs/tab_gtk.cc | 37 |
1 files changed, 2 insertions, 35 deletions
diff --git a/chrome/browser/gtk/tabs/tab_gtk.cc b/chrome/browser/gtk/tabs/tab_gtk.cc index 4bc7b85..7981759 100644 --- a/chrome/browser/gtk/tabs/tab_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_gtk.cc @@ -7,7 +7,6 @@ #include "app/gfx/path.h" #include "app/l10n_util.h" #include "app/resource_bundle.h" -#include "chrome/browser/gtk/custom_button.h" #include "chrome/browser/gtk/menu_gtk.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" @@ -126,8 +125,6 @@ TabGtk::TabGtk(TabDelegate* delegate) GDK_LEAVE_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); gtk_container_add(GTK_CONTAINER(event_box_.get()), TabRendererGtk::widget()); gtk_widget_show_all(event_box_.get()); - - close_button_.reset(MakeCloseButton()); } TabGtk::~TabGtk() { @@ -260,31 +257,13 @@ void TabGtk::SetVisible(bool visible) const { } } -void TabGtk::CloseButtonResized(const gfx::Rect& bounds) { - if (!bounds.IsEmpty()) { - gtk_fixed_move(GTK_FIXED(TabRendererGtk::widget()), - close_button_.get()->widget(), bounds.x(), bounds.y()); - gtk_widget_show(close_button_.get()->widget()); - } else { - gtk_widget_hide(close_button_.get()->widget()); - } -} - -void TabGtk::Paint(GdkEventExpose* event) { - TabRendererGtk::Paint(event); - - gtk_container_propagate_expose(GTK_CONTAINER(TabRendererGtk::widget()), - close_button_.get()->widget(), event); +void TabGtk::CloseButtonClicked() { + delegate_->CloseTab(this); } /////////////////////////////////////////////////////////////////////////////// // TabGtk, private: -// static -void TabGtk::OnCloseButtonClicked(GtkWidget* widget, TabGtk* tab) { - tab->delegate_->CloseTab(tab); -} - void TabGtk::ShowContextMenu() { if (!menu_controller_.get()) menu_controller_.reset(new ContextMenuController(this)); @@ -296,15 +275,3 @@ void TabGtk::ContextMenuClosed() { delegate()->StopAllHighlighting(); menu_controller_.reset(); } - -CustomDrawButton* TabGtk::MakeCloseButton() { - CustomDrawButton* button = new CustomDrawButton(IDR_TAB_CLOSE, - IDR_TAB_CLOSE_P, IDR_TAB_CLOSE_H, IDR_TAB_CLOSE); - - g_signal_connect(G_OBJECT(button->widget()), "clicked", - G_CALLBACK(OnCloseButtonClicked), this); - GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS); - gtk_fixed_put(GTK_FIXED(TabRendererGtk::widget()), button->widget(), 0, 0); - - return button; -} |