| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/gfx/text_elider.h" | 9 #include "app/gfx/text_elider.h" |
| 10 #include "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| 11 #include "app/resource_bundle.h" | 11 #include "app/resource_bundle.h" |
| 12 #include "base/gfx/gtk_util.h" | 12 #include "base/gfx/gtk_util.h" |
| 13 #include "base/pickle.h" | 13 #include "base/pickle.h" |
| 14 #include "chrome/browser/bookmarks/bookmark_drag_data.h" | 14 #include "chrome/browser/bookmarks/bookmark_drag_data.h" |
| 15 #include "chrome/browser/bookmarks/bookmark_utils.h" | 15 #include "chrome/browser/bookmarks/bookmark_utils.h" |
| 16 #include "chrome/browser/browser.h" | 16 #include "chrome/browser/browser.h" |
| 17 #include "chrome/browser/gtk/bookmark_context_menu.h" | 17 #include "chrome/browser/gtk/bookmark_context_menu.h" |
| 18 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" | 18 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" |
| 19 #include "chrome/browser/gtk/bookmark_tree_model.h" | 19 #include "chrome/browser/gtk/bookmark_tree_model.h" |
| 20 #include "chrome/browser/gtk/bookmark_utils_gtk.h" | 20 #include "chrome/browser/gtk/bookmark_utils_gtk.h" |
| 21 #include "chrome/browser/gtk/browser_window_gtk.h" | 21 #include "chrome/browser/gtk/browser_window_gtk.h" |
| 22 #include "chrome/browser/gtk/custom_button.h" | 22 #include "chrome/browser/gtk/custom_button.h" |
| 23 #include "chrome/browser/gtk/dnd_registry.h" | |
| 24 #include "chrome/browser/gtk/gtk_chrome_button.h" | 23 #include "chrome/browser/gtk/gtk_chrome_button.h" |
| 24 #include "chrome/browser/gtk/gtk_dnd_util.h" |
| 25 #include "chrome/browser/gtk/nine_box.h" | 25 #include "chrome/browser/gtk/nine_box.h" |
| 26 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" | 26 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" |
| 27 #include "chrome/browser/metrics/user_metrics.h" | 27 #include "chrome/browser/metrics/user_metrics.h" |
| 28 #include "chrome/browser/profile.h" | 28 #include "chrome/browser/profile.h" |
| 29 #include "chrome/browser/tab_contents/tab_contents.h" | 29 #include "chrome/browser/tab_contents/tab_contents.h" |
| 30 #include "chrome/common/gtk_util.h" | 30 #include "chrome/common/gtk_util.h" |
| 31 #include "chrome/common/pref_names.h" | 31 #include "chrome/common/pref_names.h" |
| 32 #include "chrome/common/pref_service.h" | 32 #include "chrome/common/pref_service.h" |
| 33 #include "grit/app_resources.h" | 33 #include "grit/app_resources.h" |
| 34 #include "grit/generated_resources.h" | 34 #include "grit/generated_resources.h" |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 | 127 |
| 128 bookmark_toolbar_.Own(gtk_toolbar_new()); | 128 bookmark_toolbar_.Own(gtk_toolbar_new()); |
| 129 gtk_widget_set_app_paintable(bookmark_toolbar_.get(), TRUE); | 129 gtk_widget_set_app_paintable(bookmark_toolbar_.get(), TRUE); |
| 130 g_signal_connect(G_OBJECT(bookmark_toolbar_.get()), "expose-event", | 130 g_signal_connect(G_OBJECT(bookmark_toolbar_.get()), "expose-event", |
| 131 G_CALLBACK(&OnToolbarExpose), this); | 131 G_CALLBACK(&OnToolbarExpose), this); |
| 132 gtk_box_pack_start(GTK_BOX(bookmark_hbox_.get()), bookmark_toolbar_.get(), | 132 gtk_box_pack_start(GTK_BOX(bookmark_hbox_.get()), bookmark_toolbar_.get(), |
| 133 TRUE, TRUE, 0); | 133 TRUE, TRUE, 0); |
| 134 | 134 |
| 135 gtk_drag_dest_set(bookmark_toolbar_.get(), GTK_DEST_DEFAULT_DROP, | 135 gtk_drag_dest_set(bookmark_toolbar_.get(), GTK_DEST_DEFAULT_DROP, |
| 136 NULL, 0, GDK_ACTION_MOVE); | 136 NULL, 0, GDK_ACTION_MOVE); |
| 137 dnd::SetDestTargetListFromCodeMask(bookmark_toolbar_.get(), | 137 GtkDndUtil::SetDestTargetListFromCodeMask(bookmark_toolbar_.get(), |
| 138 dnd::X_CHROME_BOOKMARK_ITEM); | 138 GtkDndUtil::X_CHROME_BOOKMARK_ITEM); |
| 139 g_signal_connect(bookmark_toolbar_.get(), "drag-motion", | 139 g_signal_connect(bookmark_toolbar_.get(), "drag-motion", |
| 140 G_CALLBACK(&OnToolbarDragMotion), this); | 140 G_CALLBACK(&OnToolbarDragMotion), this); |
| 141 g_signal_connect(bookmark_toolbar_.get(), "drag-leave", | 141 g_signal_connect(bookmark_toolbar_.get(), "drag-leave", |
| 142 G_CALLBACK(&OnToolbarDragLeave), this); | 142 G_CALLBACK(&OnToolbarDragLeave), this); |
| 143 g_signal_connect(bookmark_toolbar_.get(), "drag-drop", | 143 g_signal_connect(bookmark_toolbar_.get(), "drag-drop", |
| 144 G_CALLBACK(&OnToolbarDragDrop), this); | 144 G_CALLBACK(&OnToolbarDragDrop), this); |
| 145 g_signal_connect(bookmark_toolbar_.get(), "drag-data-received", | 145 g_signal_connect(bookmark_toolbar_.get(), "drag-data-received", |
| 146 G_CALLBACK(&OnToolbarDragReceived), this); | 146 G_CALLBACK(&OnToolbarDragReceived), this); |
| 147 g_signal_connect(bookmark_toolbar_.get(), "button-press-event", | 147 g_signal_connect(bookmark_toolbar_.get(), "button-press-event", |
| 148 G_CALLBACK(&OnButtonPressed), this); | 148 G_CALLBACK(&OnButtonPressed), this); |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 gtk_widget_hide(bookmark_hbox_.get()); | 360 gtk_widget_hide(bookmark_hbox_.get()); |
| 361 } | 361 } |
| 362 | 362 |
| 363 GtkWidget* BookmarkBarGtk::CreateBookmarkButton(const BookmarkNode* node) { | 363 GtkWidget* BookmarkBarGtk::CreateBookmarkButton(const BookmarkNode* node) { |
| 364 GtkWidget* button = gtk_chrome_button_new(); | 364 GtkWidget* button = gtk_chrome_button_new(); |
| 365 bookmark_utils::ConfigureButtonForNode(node, model_, button); | 365 bookmark_utils::ConfigureButtonForNode(node, model_, button); |
| 366 | 366 |
| 367 // The tool item is also a source for dragging | 367 // The tool item is also a source for dragging |
| 368 gtk_drag_source_set(button, GDK_BUTTON1_MASK, | 368 gtk_drag_source_set(button, GDK_BUTTON1_MASK, |
| 369 NULL, 0, GDK_ACTION_MOVE); | 369 NULL, 0, GDK_ACTION_MOVE); |
| 370 dnd::SetSourceTargetListFromCodeMask(button, dnd::X_CHROME_BOOKMARK_ITEM); | 370 GtkDndUtil::SetSourceTargetListFromCodeMask( |
| 371 button, GtkDndUtil::X_CHROME_BOOKMARK_ITEM); |
| 371 g_signal_connect(G_OBJECT(button), "drag-begin", | 372 g_signal_connect(G_OBJECT(button), "drag-begin", |
| 372 G_CALLBACK(&OnButtonDragBegin), this); | 373 G_CALLBACK(&OnButtonDragBegin), this); |
| 373 g_signal_connect(G_OBJECT(button), "drag-end", | 374 g_signal_connect(G_OBJECT(button), "drag-end", |
| 374 G_CALLBACK(&OnButtonDragEnd), this); | 375 G_CALLBACK(&OnButtonDragEnd), this); |
| 375 g_signal_connect(G_OBJECT(button), "drag-data-get", | 376 g_signal_connect(G_OBJECT(button), "drag-data-get", |
| 376 G_CALLBACK(&OnButtonDragGet), this); | 377 G_CALLBACK(&OnButtonDragGet), this); |
| 377 // We deliberately don't connect to "drag-data-delete" because the action of | 378 // We deliberately don't connect to "drag-data-delete" because the action of |
| 378 // moving a button will regenerate all the contents of the bookmarks bar | 379 // moving a button will regenerate all the contents of the bookmarks bar |
| 379 // anyway. | 380 // anyway. |
| 380 | 381 |
| (...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 683 | 684 |
| 684 // static | 685 // static |
| 685 gboolean BookmarkBarGtk::OnToolbarDragDrop( | 686 gboolean BookmarkBarGtk::OnToolbarDragDrop( |
| 686 GtkWidget* widget, GdkDragContext* context, | 687 GtkWidget* widget, GdkDragContext* context, |
| 687 gint x, gint y, guint time, | 688 gint x, gint y, guint time, |
| 688 BookmarkBarGtk* bar) { | 689 BookmarkBarGtk* bar) { |
| 689 gboolean is_valid_drop_site = FALSE; | 690 gboolean is_valid_drop_site = FALSE; |
| 690 | 691 |
| 691 if (context->targets) { | 692 if (context->targets) { |
| 692 GdkAtom target_type = | 693 GdkAtom target_type = |
| 693 GDK_POINTER_TO_ATOM(g_list_nth_data(context->targets, | 694 GDK_POINTER_TO_ATOM(g_list_nth_data( |
| 694 dnd::X_CHROME_BOOKMARK_ITEM)); | 695 context->targets, GtkDndUtil::X_CHROME_BOOKMARK_ITEM)); |
| 695 gtk_drag_get_data(widget, context, target_type, time); | 696 gtk_drag_get_data(widget, context, target_type, time); |
| 696 | 697 |
| 697 is_valid_drop_site = TRUE; | 698 is_valid_drop_site = TRUE; |
| 698 } | 699 } |
| 699 | 700 |
| 700 return is_valid_drop_site; | 701 return is_valid_drop_site; |
| 701 } | 702 } |
| 702 | 703 |
| 703 // static | 704 // static |
| 704 void BookmarkBarGtk::OnToolbarDragReceived(GtkWidget* widget, | 705 void BookmarkBarGtk::OnToolbarDragReceived(GtkWidget* widget, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 bar->InitBackground(); | 741 bar->InitBackground(); |
| 741 gfx::Point tabstrip_origin = | 742 gfx::Point tabstrip_origin = |
| 742 bar->window_->tabstrip()->GetTabStripOriginForWidget(widget); | 743 bar->window_->tabstrip()->GetTabStripOriginForWidget(widget); |
| 743 bar->background_ninebox_->RenderTopCenterStrip( | 744 bar->background_ninebox_->RenderTopCenterStrip( |
| 744 cr, tabstrip_origin.x(), tabstrip_origin.y(), | 745 cr, tabstrip_origin.x(), tabstrip_origin.y(), |
| 745 event->area.x + event->area.width - tabstrip_origin.x()); | 746 event->area.x + event->area.width - tabstrip_origin.x()); |
| 746 cairo_destroy(cr); | 747 cairo_destroy(cr); |
| 747 | 748 |
| 748 return FALSE; // Propagate expose to children. | 749 return FALSE; // Propagate expose to children. |
| 749 } | 750 } |
| OLD | NEW |