| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/gtk/bookmark_bar_gtk.h" | 5 #include "chrome/browser/gtk/bookmark_bar_gtk.h" |
| 6 | 6 |
| 7 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "app/gtk_dnd_util.h" | 9 #include "app/gtk_dnd_util.h" |
| 10 #include "app/slide_animation.h" | |
| 11 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
| 12 #include "base/utf_string_conversions.h" | 11 #include "base/utf_string_conversions.h" |
| 13 #include "chrome/browser/bookmarks/bookmark_node_data.h" | 12 #include "chrome/browser/bookmarks/bookmark_node_data.h" |
| 14 #include "chrome/browser/bookmarks/bookmark_model.h" | 13 #include "chrome/browser/bookmarks/bookmark_model.h" |
| 15 #include "chrome/browser/bookmarks/bookmark_utils.h" | 14 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 16 #include "chrome/browser/browser_shutdown.h" | 15 #include "chrome/browser/browser_shutdown.h" |
| 17 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" | 16 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" |
| 18 #include "chrome/browser/gtk/bookmark_tree_model.h" | 17 #include "chrome/browser/gtk/bookmark_tree_model.h" |
| 19 #include "chrome/browser/gtk/bookmark_utils_gtk.h" | 18 #include "chrome/browser/gtk/bookmark_utils_gtk.h" |
| 20 #include "chrome/browser/gtk/browser_window_gtk.h" | 19 #include "chrome/browser/gtk/browser_window_gtk.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 39 #include "chrome/browser/tab_contents/tab_contents.h" | 38 #include "chrome/browser/tab_contents/tab_contents.h" |
| 40 #include "chrome/browser/tab_contents/tab_contents_view.h" | 39 #include "chrome/browser/tab_contents/tab_contents_view.h" |
| 41 #include "chrome/browser/ui/browser.h" | 40 #include "chrome/browser/ui/browser.h" |
| 42 #include "chrome/common/notification_service.h" | 41 #include "chrome/common/notification_service.h" |
| 43 #include "chrome/common/pref_names.h" | 42 #include "chrome/common/pref_names.h" |
| 44 #include "gfx/canvas_skia_paint.h" | 43 #include "gfx/canvas_skia_paint.h" |
| 45 #include "gfx/gtk_util.h" | 44 #include "gfx/gtk_util.h" |
| 46 #include "grit/app_resources.h" | 45 #include "grit/app_resources.h" |
| 47 #include "grit/generated_resources.h" | 46 #include "grit/generated_resources.h" |
| 48 #include "grit/theme_resources.h" | 47 #include "grit/theme_resources.h" |
| 48 #include "ui/base/animation/slide_animation.h" |
| 49 | 49 |
| 50 namespace { | 50 namespace { |
| 51 | 51 |
| 52 // The showing height of the bar. | 52 // The showing height of the bar. |
| 53 const int kBookmarkBarHeight = 29; | 53 const int kBookmarkBarHeight = 29; |
| 54 | 54 |
| 55 // Padding for when the bookmark bar is floating. | 55 // Padding for when the bookmark bar is floating. |
| 56 const int kTopBottomNTPPadding = 12; | 56 const int kTopBottomNTPPadding = 12; |
| 57 const int kLeftRightNTPPadding = 8; | 57 const int kLeftRightNTPPadding = 8; |
| 58 | 58 |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 GTK_BUTTON(sync_error_button_), | 270 GTK_BUTTON(sync_error_button_), |
| 271 gtk_image_new_from_pixbuf( | 271 gtk_image_new_from_pixbuf( |
| 272 ResourceBundle::GetSharedInstance().GetPixbufNamed(IDR_WARNING))); | 272 ResourceBundle::GetSharedInstance().GetPixbufNamed(IDR_WARNING))); |
| 273 g_signal_connect(sync_error_button_, "button-press-event", | 273 g_signal_connect(sync_error_button_, "button-press-event", |
| 274 G_CALLBACK(OnSyncErrorButtonPressedThunk), this); | 274 G_CALLBACK(OnSyncErrorButtonPressedThunk), this); |
| 275 gtk_box_pack_start(GTK_BOX(bookmark_hbox_), sync_error_button_, | 275 gtk_box_pack_start(GTK_BOX(bookmark_hbox_), sync_error_button_, |
| 276 FALSE, FALSE, 0); | 276 FALSE, FALSE, 0); |
| 277 | 277 |
| 278 gtk_widget_set_size_request(event_box_.get(), -1, kBookmarkBarMinimumHeight); | 278 gtk_widget_set_size_request(event_box_.get(), -1, kBookmarkBarMinimumHeight); |
| 279 | 279 |
| 280 slide_animation_.reset(new SlideAnimation(this)); | 280 slide_animation_.reset(new ui::SlideAnimation(this)); |
| 281 | 281 |
| 282 ViewIDUtil::SetID(other_bookmarks_button_, VIEW_ID_OTHER_BOOKMARKS); | 282 ViewIDUtil::SetID(other_bookmarks_button_, VIEW_ID_OTHER_BOOKMARKS); |
| 283 ViewIDUtil::SetID(widget(), VIEW_ID_BOOKMARK_BAR); | 283 ViewIDUtil::SetID(widget(), VIEW_ID_BOOKMARK_BAR); |
| 284 | 284 |
| 285 gtk_widget_show_all(widget()); | 285 gtk_widget_show_all(widget()); |
| 286 gtk_widget_hide(widget()); | 286 gtk_widget_hide(widget()); |
| 287 } | 287 } |
| 288 | 288 |
| 289 void BookmarkBarGtk::Show(bool animate) { | 289 void BookmarkBarGtk::Show(bool animate) { |
| 290 gtk_widget_show_all(widget()); | 290 gtk_widget_show_all(widget()); |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 765 HoverControllerGtk::GetHoverControllerGtk(throbbing_widget_); | 765 HoverControllerGtk::GetHoverControllerGtk(throbbing_widget_); |
| 766 if (hover_controller) | 766 if (hover_controller) |
| 767 hover_controller->StartThrobbing(4); | 767 hover_controller->StartThrobbing(4); |
| 768 } | 768 } |
| 769 } | 769 } |
| 770 | 770 |
| 771 bool BookmarkBarGtk::IsAlwaysShown() { | 771 bool BookmarkBarGtk::IsAlwaysShown() { |
| 772 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); | 772 return profile_->GetPrefs()->GetBoolean(prefs::kShowBookmarkBar); |
| 773 } | 773 } |
| 774 | 774 |
| 775 void BookmarkBarGtk::AnimationProgressed(const Animation* animation) { | 775 void BookmarkBarGtk::AnimationProgressed(const ui::Animation* animation) { |
| 776 DCHECK_EQ(animation, slide_animation_.get()); | 776 DCHECK_EQ(animation, slide_animation_.get()); |
| 777 | 777 |
| 778 int max_height = ShouldBeFloating() ? | 778 int max_height = ShouldBeFloating() ? |
| 779 kBookmarkBarNTPHeight : kBookmarkBarHeight; | 779 kBookmarkBarNTPHeight : kBookmarkBarHeight; |
| 780 gint height = | 780 gint height = |
| 781 static_cast<gint>(animation->GetCurrentValue() * | 781 static_cast<gint>(animation->GetCurrentValue() * |
| 782 (max_height - kBookmarkBarMinimumHeight)) + | 782 (max_height - kBookmarkBarMinimumHeight)) + |
| 783 kBookmarkBarMinimumHeight; | 783 kBookmarkBarMinimumHeight; |
| 784 gtk_widget_set_size_request(event_box_.get(), -1, height); | 784 gtk_widget_set_size_request(event_box_.get(), -1, height); |
| 785 } | 785 } |
| 786 | 786 |
| 787 void BookmarkBarGtk::AnimationEnded(const Animation* animation) { | 787 void BookmarkBarGtk::AnimationEnded(const ui::Animation* animation) { |
| 788 DCHECK_EQ(animation, slide_animation_.get()); | 788 DCHECK_EQ(animation, slide_animation_.get()); |
| 789 | 789 |
| 790 if (!slide_animation_->IsShowing()) { | 790 if (!slide_animation_->IsShowing()) { |
| 791 gtk_widget_hide(bookmark_hbox_); | 791 gtk_widget_hide(bookmark_hbox_); |
| 792 | 792 |
| 793 // We can be windowless during unit tests. | 793 // We can be windowless during unit tests. |
| 794 if (window_) { | 794 if (window_) { |
| 795 // Because of our constant resizing and our toolbar/bookmark bar overlap | 795 // Because of our constant resizing and our toolbar/bookmark bar overlap |
| 796 // shenanigans, gtk+ gets confused, partially draws parts of the bookmark | 796 // shenanigans, gtk+ gets confused, partially draws parts of the bookmark |
| 797 // bar into the toolbar and than doesn't queue a redraw to fix it. So do | 797 // bar into the toolbar and than doesn't queue a redraw to fix it. So do |
| (...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1409 | 1409 |
| 1410 // Find the GtkWidget* for the actual target button. | 1410 // Find the GtkWidget* for the actual target button. |
| 1411 int shift = dir == GTK_MENU_DIR_PARENT ? -1 : 1; | 1411 int shift = dir == GTK_MENU_DIR_PARENT ? -1 : 1; |
| 1412 button_idx = (button_idx + shift + folder_list.size()) % folder_list.size(); | 1412 button_idx = (button_idx + shift + folder_list.size()) % folder_list.size(); |
| 1413 PopupForButton(folder_list[button_idx]); | 1413 PopupForButton(folder_list[button_idx]); |
| 1414 } | 1414 } |
| 1415 | 1415 |
| 1416 void BookmarkBarGtk::CloseMenu() { | 1416 void BookmarkBarGtk::CloseMenu() { |
| 1417 current_context_menu_->Cancel(); | 1417 current_context_menu_->Cancel(); |
| 1418 } | 1418 } |
| OLD | NEW |