| 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_menu_controller_gtk.h" | 5 #include "chrome/browser/gtk/bookmark_menu_controller_gtk.h" |
| 6 | 6 |
| 7 #include <gtk/gtk.h> | 7 #include <gtk/gtk.h> |
| 8 | 8 |
| 9 #include "app/gfx/gtk_util.h" | 9 #include "app/gfx/gtk_util.h" |
| 10 #include "app/gtk_dnd_util.h" | 10 #include "app/gtk_dnd_util.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 179 g_signal_connect(G_OBJECT(menu_item), "button-release-event", | 179 g_signal_connect(G_OBJECT(menu_item), "button-release-event", |
| 180 G_CALLBACK(OnButtonReleased), this); | 180 G_CALLBACK(OnButtonReleased), this); |
| 181 } else if (node->is_folder()) { | 181 } else if (node->is_folder()) { |
| 182 GtkWidget* submenu = gtk_menu_new(); | 182 GtkWidget* submenu = gtk_menu_new(); |
| 183 BuildMenu(node, 0, submenu); | 183 BuildMenu(node, 0, submenu); |
| 184 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); | 184 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu_item), submenu); |
| 185 } else { | 185 } else { |
| 186 NOTREACHED(); | 186 NOTREACHED(); |
| 187 } | 187 } |
| 188 | 188 |
| 189 gtk_drag_source_set(menu_item, GDK_BUTTON1_MASK, | 189 gtk_drag_source_set(menu_item, GDK_BUTTON1_MASK, NULL, 0, |
| 190 NULL, 0, GDK_ACTION_MOVE); | 190 static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_LINK)); |
| 191 int target_mask = GtkDndUtil::CHROME_BOOKMARK_ITEM; | 191 int target_mask = GtkDndUtil::CHROME_BOOKMARK_ITEM; |
| 192 if (node->is_url()) | 192 if (node->is_url()) |
| 193 target_mask |= GtkDndUtil::TEXT_URI_LIST; | 193 target_mask |= GtkDndUtil::TEXT_URI_LIST | GtkDndUtil::NETSCAPE_URL; |
| 194 GtkDndUtil::SetSourceTargetListFromCodeMask(menu_item, target_mask); | 194 GtkDndUtil::SetSourceTargetListFromCodeMask(menu_item, target_mask); |
| 195 g_signal_connect(G_OBJECT(menu_item), "drag-begin", | 195 g_signal_connect(G_OBJECT(menu_item), "drag-begin", |
| 196 G_CALLBACK(&OnMenuItemDragBegin), this); | 196 G_CALLBACK(&OnMenuItemDragBegin), this); |
| 197 g_signal_connect(G_OBJECT(menu_item), "drag-end", | 197 g_signal_connect(G_OBJECT(menu_item), "drag-end", |
| 198 G_CALLBACK(&OnMenuItemDragEnd), this); | 198 G_CALLBACK(&OnMenuItemDragEnd), this); |
| 199 g_signal_connect(G_OBJECT(menu_item), "drag-data-get", | 199 g_signal_connect(G_OBJECT(menu_item), "drag-data-get", |
| 200 G_CALLBACK(&OnMenuItemDragGet), this); | 200 G_CALLBACK(&OnMenuItemDragGet), this); |
| 201 | 201 |
| 202 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); | 202 gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item); |
| 203 node_to_menu_widget_map_[node] = menu_item; | 203 node_to_menu_widget_map_[node] = menu_item; |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 // static | 349 // static |
| 350 void BookmarkMenuController::OnMenuItemDragGet( | 350 void BookmarkMenuController::OnMenuItemDragGet( |
| 351 GtkWidget* widget, GdkDragContext* context, | 351 GtkWidget* widget, GdkDragContext* context, |
| 352 GtkSelectionData* selection_data, | 352 GtkSelectionData* selection_data, |
| 353 guint target_type, guint time, | 353 guint target_type, guint time, |
| 354 BookmarkMenuController* controller) { | 354 BookmarkMenuController* controller) { |
| 355 const BookmarkNode* node = bookmark_utils::BookmarkNodeForWidget(widget); | 355 const BookmarkNode* node = bookmark_utils::BookmarkNodeForWidget(widget); |
| 356 bookmark_utils::WriteBookmarkToSelection(node, selection_data, target_type, | 356 bookmark_utils::WriteBookmarkToSelection(node, selection_data, target_type, |
| 357 controller->profile_); | 357 controller->profile_); |
| 358 } | 358 } |
| OLD | NEW |