summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/tabs/tab_gtk.cc
diff options
context:
space:
mode:
authorjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-19 23:44:34 +0000
committerjhawkins@chromium.org <jhawkins@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-19 23:44:34 +0000
commit06416f79b380fe5378bc3fd305e89c762c8408ea (patch)
treeb573c2d4c334f7ab19a68fecba3cb3fa499ada4a /chrome/browser/gtk/tabs/tab_gtk.cc
parentaec3525822420bd1386af1a3cfd9fe3f6d0dbe90 (diff)
downloadchromium_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.cc37
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;
-}