Commit bcf7b4cd authored by pkasting@chromium.org's avatar pkasting@chromium.org

Cleanup: Put signal handlers in alphabetical order. Group a couple other...

Cleanup: Put signal handlers in alphabetical order.  Group a couple other things in a way that seems better to me.

BUG=none
TEST=none
Review URL: http://codereview.chromium.org/3135034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56767 0039d316-1c4b-4281-b951-d872f2087c98
parent 8959bfdd
...@@ -38,12 +38,12 @@ ReloadButtonGtk::ReloadButtonGtk(LocationBarViewGtk* location_bar, ...@@ -38,12 +38,12 @@ ReloadButtonGtk::ReloadButtonGtk(LocationBarViewGtk* location_bar,
gtk_widget_set_app_paintable(widget_.get(), TRUE); gtk_widget_set_app_paintable(widget_.get(), TRUE);
g_signal_connect(widget_.get(), "clicked",
G_CALLBACK(OnClickedThunk), this);
g_signal_connect(widget_.get(), "expose-event", g_signal_connect(widget_.get(), "expose-event",
G_CALLBACK(OnExposeThunk), this); G_CALLBACK(OnExposeThunk), this);
g_signal_connect(widget_.get(), "leave-notify-event", g_signal_connect(widget_.get(), "leave-notify-event",
G_CALLBACK(OnLeaveNotifyThunk), this); G_CALLBACK(OnLeaveNotifyThunk), this);
g_signal_connect(widget_.get(), "clicked",
G_CALLBACK(OnClickedThunk), this);
GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS); GTK_WIDGET_UNSET_FLAGS(widget_.get(), GTK_CAN_FOCUS);
gtk_widget_set_has_tooltip(widget_.get(), TRUE); gtk_widget_set_has_tooltip(widget_.get(), TRUE);
...@@ -76,9 +76,9 @@ void ReloadButtonGtk::ChangeMode(Mode mode, bool force) { ...@@ -76,9 +76,9 @@ void ReloadButtonGtk::ChangeMode(Mode mode, bool force) {
!timer_running() : (visible_mode_ != MODE_STOP))) { !timer_running() : (visible_mode_ != MODE_STOP))) {
timer_.Stop(); timer_.Stop();
visible_mode_ = mode; visible_mode_ = mode;
gtk_widget_queue_draw(widget_.get());
UpdateThemeButtons(); UpdateThemeButtons();
gtk_widget_queue_draw(widget_.get());
} }
} }
...@@ -98,20 +98,6 @@ void ReloadButtonGtk::OnButtonTimer() { ...@@ -98,20 +98,6 @@ void ReloadButtonGtk::OnButtonTimer() {
ChangeMode(intended_mode_, true); ChangeMode(intended_mode_, true);
} }
gboolean ReloadButtonGtk::OnExpose(GtkWidget* widget,
GdkEventExpose* e) {
if (theme_provider_ && theme_provider_->UseGtkTheme())
return FALSE;
return ((visible_mode_ == MODE_RELOAD) ? reload_ : stop_).OnExpose(
widget, e, hover_controller_.GetCurrentValue());
}
gboolean ReloadButtonGtk::OnLeaveNotify(GtkWidget* widget,
GdkEventCrossing* event) {
ChangeMode(intended_mode_, true);
return FALSE;
}
void ReloadButtonGtk::OnClicked(GtkWidget* sender) { void ReloadButtonGtk::OnClicked(GtkWidget* sender) {
if (visible_mode_ == MODE_STOP) { if (visible_mode_ == MODE_STOP) {
if (browser_) if (browser_)
...@@ -154,18 +140,31 @@ void ReloadButtonGtk::OnClicked(GtkWidget* sender) { ...@@ -154,18 +140,31 @@ void ReloadButtonGtk::OnClicked(GtkWidget* sender) {
NULL); NULL);
} }
// Stop the timer.
timer_.Stop();
// Start a timer - while this timer is running, the reload button cannot be // Start a timer - while this timer is running, the reload button cannot be
// changed to a stop button. We do not set |intended_mode_| to MODE_STOP // changed to a stop button. We do not set |intended_mode_| to MODE_STOP
// here as we want to wait for the browser to tell us that it has started // here as we want to wait for the browser to tell us that it has started
// loading (and this may occur only after some delay). // loading (and this may occur only after some delay).
timer_.Stop();
timer_.Start(base::TimeDelta::FromMilliseconds(button_delay_), this, timer_.Start(base::TimeDelta::FromMilliseconds(button_delay_), this,
&ReloadButtonGtk::OnButtonTimer); &ReloadButtonGtk::OnButtonTimer);
} }
} }
gboolean ReloadButtonGtk::OnExpose(GtkWidget* widget,
GdkEventExpose* e) {
if (theme_provider_ && theme_provider_->UseGtkTheme())
return FALSE;
return ((visible_mode_ == MODE_RELOAD) ? reload_ : stop_).OnExpose(
widget, e, hover_controller_.GetCurrentValue());
}
gboolean ReloadButtonGtk::OnLeaveNotify(GtkWidget* widget,
GdkEventCrossing* event) {
is_mouse_hovered_ = false;
ChangeMode(intended_mode_, false);
return FALSE;
}
gboolean ReloadButtonGtk::OnQueryTooltip(GtkWidget* sender, gboolean ReloadButtonGtk::OnQueryTooltip(GtkWidget* sender,
gint x, gint x,
gint y, gint y,
......
...@@ -42,10 +42,10 @@ class ReloadButtonGtk : public NotificationObserver { ...@@ -42,10 +42,10 @@ class ReloadButtonGtk : public NotificationObserver {
private: private:
friend class ReloadButtonGtkPeer; friend class ReloadButtonGtkPeer;
CHROMEGTK_CALLBACK_0(ReloadButtonGtk, void, OnClicked);
CHROMEGTK_CALLBACK_1(ReloadButtonGtk, gboolean, OnExpose, GdkEventExpose*); CHROMEGTK_CALLBACK_1(ReloadButtonGtk, gboolean, OnExpose, GdkEventExpose*);
CHROMEGTK_CALLBACK_1(ReloadButtonGtk, gboolean, OnLeaveNotify, CHROMEGTK_CALLBACK_1(ReloadButtonGtk, gboolean, OnLeaveNotify,
GdkEventCrossing*); GdkEventCrossing*);
CHROMEGTK_CALLBACK_0(ReloadButtonGtk, void, OnClicked);
CHROMEGTK_CALLBACK_4(ReloadButtonGtk, gboolean, OnQueryTooltip, gint, gint, CHROMEGTK_CALLBACK_4(ReloadButtonGtk, gboolean, OnQueryTooltip, gint, gint,
gboolean, GtkTooltip*); gboolean, GtkTooltip*);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment