Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Side by Side Diff: chrome/browser/ui/gtk/reload_button_gtk.cc

Issue 7484035: Reapplies r91761. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/gtk/reload_button_gtk.h" 5 #include "chrome/browser/ui/gtk/reload_button_gtk.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "chrome/app/chrome_command_ids.h" 10 #include "chrome/app/chrome_command_ids.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 testing_mouse_hovered_(false), 43 testing_mouse_hovered_(false),
44 testing_reload_count_(0) { 44 testing_reload_count_(0) {
45 gtk_widget_set_size_request(widget(), reload_.Width(), reload_.Height()); 45 gtk_widget_set_size_request(widget(), reload_.Width(), reload_.Height());
46 46
47 gtk_widget_set_app_paintable(widget(), TRUE); 47 gtk_widget_set_app_paintable(widget(), TRUE);
48 48
49 g_signal_connect(widget(), "clicked", G_CALLBACK(OnClickedThunk), this); 49 g_signal_connect(widget(), "clicked", G_CALLBACK(OnClickedThunk), this);
50 g_signal_connect(widget(), "expose-event", G_CALLBACK(OnExposeThunk), this); 50 g_signal_connect(widget(), "expose-event", G_CALLBACK(OnExposeThunk), this);
51 g_signal_connect(widget(), "leave-notify-event", 51 g_signal_connect(widget(), "leave-notify-event",
52 G_CALLBACK(OnLeaveNotifyThunk), this); 52 G_CALLBACK(OnLeaveNotifyThunk), this);
53 GTK_WIDGET_UNSET_FLAGS(widget(), GTK_CAN_FOCUS); 53 gtk_widget_set_can_focus(widget(), FALSE);
54 54
55 gtk_widget_set_has_tooltip(widget(), TRUE); 55 gtk_widget_set_has_tooltip(widget(), TRUE);
56 g_signal_connect(widget(), "query-tooltip", G_CALLBACK(OnQueryTooltipThunk), 56 g_signal_connect(widget(), "query-tooltip", G_CALLBACK(OnQueryTooltipThunk),
57 this); 57 this);
58 58
59 hover_controller_.Init(widget()); 59 hover_controller_.Init(widget());
60 gtk_util::SetButtonTriggersNavigation(widget()); 60 gtk_util::SetButtonTriggersNavigation(widget());
61 61
62 if (theme_service_) { 62 if (theme_service_) {
63 theme_service_->InitThemesFor(this); 63 theme_service_->InitThemesFor(this);
(...skipping 13 matching lines...) Expand all
77 ReloadButtonGtk::~ReloadButtonGtk() { 77 ReloadButtonGtk::~ReloadButtonGtk() {
78 widget_.Destroy(); 78 widget_.Destroy();
79 } 79 }
80 80
81 void ReloadButtonGtk::ChangeMode(Mode mode, bool force) { 81 void ReloadButtonGtk::ChangeMode(Mode mode, bool force) {
82 intended_mode_ = mode; 82 intended_mode_ = mode;
83 83
84 // If the change is forced, or the user isn't hovering the icon, or it's safe 84 // If the change is forced, or the user isn't hovering the icon, or it's safe
85 // to change it to the other image type, make the change immediately; 85 // to change it to the other image type, make the change immediately;
86 // otherwise we'll let it happen later. 86 // otherwise we'll let it happen later.
87 if (force || ((GTK_WIDGET_STATE(widget()) == GTK_STATE_NORMAL) && 87 if (force || ((gtk_widget_get_state(widget()) == GTK_STATE_NORMAL) &&
88 !testing_mouse_hovered_) || ((mode == MODE_STOP) ? 88 !testing_mouse_hovered_) || ((mode == MODE_STOP) ?
89 !double_click_timer_.IsRunning() : (visible_mode_ != MODE_STOP))) { 89 !double_click_timer_.IsRunning() : (visible_mode_ != MODE_STOP))) {
90 double_click_timer_.Stop(); 90 double_click_timer_.Stop();
91 stop_to_reload_timer_.Stop(); 91 stop_to_reload_timer_.Stop();
92 visible_mode_ = mode; 92 visible_mode_ = mode;
93 93
94 stop_.set_paint_override(-1); 94 stop_.set_paint_override(-1);
95 gtk_chrome_button_unset_paint_state(GTK_CHROME_BUTTON(widget_.get())); 95 gtk_chrome_button_unset_paint_state(GTK_CHROME_BUTTON(widget_.get()));
96 96
97 UpdateThemeButtons(); 97 UpdateThemeButtons();
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 225
226 void ReloadButtonGtk::UpdateThemeButtons() { 226 void ReloadButtonGtk::UpdateThemeButtons() {
227 bool use_gtk = theme_service_ && theme_service_->UsingNativeTheme(); 227 bool use_gtk = theme_service_ && theme_service_->UsingNativeTheme();
228 228
229 if (use_gtk) { 229 if (use_gtk) {
230 gtk_widget_ensure_style(widget()); 230 gtk_widget_ensure_style(widget());
231 GtkIconSet* icon_set = gtk_style_lookup_icon_set( 231 GtkIconSet* icon_set = gtk_style_lookup_icon_set(
232 widget()->style, 232 widget()->style,
233 (visible_mode_ == MODE_RELOAD) ? GTK_STOCK_REFRESH : GTK_STOCK_STOP); 233 (visible_mode_ == MODE_RELOAD) ? GTK_STOCK_REFRESH : GTK_STOCK_STOP);
234 if (icon_set) { 234 if (icon_set) {
235 GtkStateType state = static_cast<GtkStateType>( 235 GtkStateType state = gtk_widget_get_state(widget());
236 GTK_WIDGET_STATE(widget()));
237 if (visible_mode_ == MODE_STOP && stop_.paint_override() != -1) 236 if (visible_mode_ == MODE_STOP && stop_.paint_override() != -1)
238 state = static_cast<GtkStateType>(stop_.paint_override()); 237 state = static_cast<GtkStateType>(stop_.paint_override());
239 238
240 GdkPixbuf* pixbuf = gtk_icon_set_render_icon( 239 GdkPixbuf* pixbuf = gtk_icon_set_render_icon(
241 icon_set, 240 icon_set,
242 widget()->style, 241 widget()->style,
243 gtk_widget_get_direction(widget()), 242 gtk_widget_get_direction(widget()),
244 state, 243 state,
245 GTK_ICON_SIZE_SMALL_TOOLBAR, 244 GTK_ICON_SIZE_SMALL_TOOLBAR,
246 widget(), 245 widget(),
(...skipping 25 matching lines...) Expand all
272 gtk_chrome_button_set_use_gtk_rendering(GTK_CHROME_BUTTON(widget()), use_gtk); 271 gtk_chrome_button_set_use_gtk_rendering(GTK_CHROME_BUTTON(widget()), use_gtk);
273 } 272 }
274 273
275 void ReloadButtonGtk::OnDoubleClickTimer() { 274 void ReloadButtonGtk::OnDoubleClickTimer() {
276 ChangeMode(intended_mode_, false); 275 ChangeMode(intended_mode_, false);
277 } 276 }
278 277
279 void ReloadButtonGtk::OnStopToReloadTimer() { 278 void ReloadButtonGtk::OnStopToReloadTimer() {
280 ChangeMode(intended_mode_, true); 279 ChangeMode(intended_mode_, true);
281 } 280 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/omnibox/omnibox_view_gtk.cc ('k') | chrome/browser/ui/gtk/rounded_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698