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

Side by Side Diff: chrome/browser/gtk/bookmark_bar_gtk.cc

Issue 151033: More web contents dragging. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: more Dones Created 11 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
« no previous file with comments | « base/mime_util_linux.cc ('k') | chrome/browser/gtk/bookmark_manager_gtk.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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 }
OLDNEW
« no previous file with comments | « base/mime_util_linux.cc ('k') | chrome/browser/gtk/bookmark_manager_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698