diff options
-rw-r--r-- | chrome/browser/gtk/tabs/tab_gtk.cc | 18 | ||||
-rw-r--r-- | chrome/browser/gtk/tabs/tab_gtk.h | 8 | ||||
-rw-r--r-- | chrome/browser/gtk/tabs/tab_renderer_gtk.cc | 24 | ||||
-rw-r--r-- | chrome/browser/gtk/tabs/tab_renderer_gtk.h | 11 |
4 files changed, 26 insertions, 35 deletions
diff --git a/chrome/browser/gtk/tabs/tab_gtk.cc b/chrome/browser/gtk/tabs/tab_gtk.cc index 56371b3..3a89bf0 100644 --- a/chrome/browser/gtk/tabs/tab_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_gtk.cc @@ -121,9 +121,9 @@ TabGtk::TabGtk(TabDelegate* delegate) g_signal_connect(G_OBJECT(event_box_), "button-release-event", G_CALLBACK(OnMouseRelease), this); g_signal_connect(G_OBJECT(event_box_), "enter-notify-event", - G_CALLBACK(OnEnterNotify), this); + G_CALLBACK(OnEnterNotifyEvent), this); g_signal_connect(G_OBJECT(event_box_), "leave-notify-event", - G_CALLBACK(OnLeaveNotify), this); + G_CALLBACK(OnLeaveNotifyEvent), this); g_signal_connect_after(G_OBJECT(event_box_), "drag-begin", G_CALLBACK(OnDragBegin), this); g_signal_connect_after(G_OBJECT(event_box_), "drag-end", @@ -183,20 +183,6 @@ gboolean TabGtk::OnMouseRelease(GtkWidget* widget, GdkEventButton* event, } // static -gboolean TabGtk::OnEnterNotify(GtkWidget* widget, GdkEventCrossing* event, - TabGtk* tab) { - tab->OnMouseEntered(); - return TRUE; -} - -// static -gboolean TabGtk::OnLeaveNotify(GtkWidget* widget, GdkEventCrossing* event, - TabGtk* tab) { - tab->OnMouseExited(); - return TRUE; -} - -// static void TabGtk::OnDragBegin(GtkWidget* widget, GdkDragContext* context, TabGtk* tab) { MessageLoopForUI::current()->AddObserver(tab); diff --git a/chrome/browser/gtk/tabs/tab_gtk.h b/chrome/browser/gtk/tabs/tab_gtk.h index 4d1f704f..933622a 100644 --- a/chrome/browser/gtk/tabs/tab_gtk.h +++ b/chrome/browser/gtk/tabs/tab_gtk.h @@ -102,14 +102,6 @@ class TabGtk : public TabRendererGtk, static gboolean OnMouseRelease(GtkWidget* widget, GdkEventButton* event, TabGtk* tab); - // enter-notify-event handler that signals when the mouse enters the tab. - static gboolean OnEnterNotify(GtkWidget* widget, GdkEventCrossing* event, - TabGtk* tab); - - // leave-notify-event handler that signals when the mouse enters the tab. - static gboolean OnLeaveNotify(GtkWidget* widget, GdkEventCrossing* event, - TabGtk* tab); - // drag-begin handler that signals when a drag action begins. static void OnDragBegin(GtkWidget* widget, GdkDragContext* context, TabGtk* tab); diff --git a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc index 0fa5d39..c2c1bc5 100644 --- a/chrome/browser/gtk/tabs/tab_renderer_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_renderer_gtk.cc @@ -805,6 +805,10 @@ CustomDrawButton* TabRendererGtk::MakeCloseButton() { G_CALLBACK(OnCloseButtonClicked), this); g_signal_connect(G_OBJECT(button->widget()), "button-release-event", G_CALLBACK(OnCloseButtonMouseRelease), this); + g_signal_connect(G_OBJECT(button->widget()), "enter-notify-event", + G_CALLBACK(OnEnterNotifyEvent), this); + g_signal_connect(G_OBJECT(button->widget()), "leave-notify-event", + G_CALLBACK(OnLeaveNotifyEvent), this); GTK_WIDGET_UNSET_FLAGS(button->widget(), GTK_CAN_FOCUS); gtk_fixed_put(GTK_FIXED(tab_.get()), button->widget(), 0, 0); @@ -858,14 +862,22 @@ void TabRendererGtk::OnSizeAllocate(GtkWidget* widget, tab->Layout(); } -void TabRendererGtk::OnMouseEntered() { - hover_animation_->SetTweenType(SlideAnimation::EASE_OUT); - hover_animation_->Show(); +// static +gboolean TabRendererGtk::OnEnterNotifyEvent(GtkWidget* widget, + GdkEventCrossing* event, + TabRendererGtk* tab) { + tab->hover_animation_->SetTweenType(SlideAnimation::EASE_OUT); + tab->hover_animation_->Show(); + return FALSE; } -void TabRendererGtk::OnMouseExited() { - hover_animation_->SetTweenType(SlideAnimation::EASE_IN); - hover_animation_->Hide(); +// static +gboolean TabRendererGtk::OnLeaveNotifyEvent(GtkWidget* widget, + GdkEventCrossing* event, + TabRendererGtk* tab) { + tab->hover_animation_->SetTweenType(SlideAnimation::EASE_IN); + tab->hover_animation_->Hide(); + return FALSE; } // static diff --git a/chrome/browser/gtk/tabs/tab_renderer_gtk.h b/chrome/browser/gtk/tabs/tab_renderer_gtk.h index 72f2382..edda57a 100644 --- a/chrome/browser/gtk/tabs/tab_renderer_gtk.h +++ b/chrome/browser/gtk/tabs/tab_renderer_gtk.h @@ -178,12 +178,13 @@ class TabRendererGtk : public AnimationDelegate { // Returns the title of the Tab. std::wstring GetTitle() const; - // Called by TabGtk to notify the renderer that the tab is being hovered. - void OnMouseEntered(); + // enter-notify-event handler that signals when the mouse enters the tab. + static gboolean OnEnterNotifyEvent(GtkWidget* widget, GdkEventCrossing* event, + TabRendererGtk* tab); - // Called by TabGtk to notify the renderer that the tab is no longer being - // hovered. - void OnMouseExited(); + // leave-notify-event handler that signals when the mouse enters the tab. + static gboolean OnLeaveNotifyEvent(GtkWidget* widget, GdkEventCrossing* event, + TabRendererGtk* tab); private: class FavIconCrashAnimation; |