aboutsummaryrefslogtreecommitdiffstats
path: root/src/bookmarks/ephy-bookmark-action.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bookmarks/ephy-bookmark-action.c')
-rw-r--r--src/bookmarks/ephy-bookmark-action.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/bookmarks/ephy-bookmark-action.c b/src/bookmarks/ephy-bookmark-action.c
index 851770c9f..35b066a2d 100644
--- a/src/bookmarks/ephy-bookmark-action.c
+++ b/src/bookmarks/ephy-bookmark-action.c
@@ -383,6 +383,28 @@ stop_drag_check (EphyBookmarkAction *action, GtkWidget *widget)
}
static void
+drag_begin_cb (GtkWidget *widget, GdkDragContext *context, EphyBookmarkAction *action)
+{
+ GtkWidget *tool_item;
+
+ tool_item = gtk_widget_get_ancestor (widget, GTK_TYPE_TOOL_ITEM);
+ g_return_if_fail (tool_item != NULL);
+
+ gtk_widget_hide (widget);
+}
+
+static void
+drag_end_cb (GtkWidget *widget, GdkDragContext *context, EphyBookmarkAction *action)
+{
+ GtkWidget *tool_item;
+
+ tool_item = gtk_widget_get_ancestor (widget, GTK_TYPE_TOOL_ITEM);
+ g_return_if_fail (tool_item != NULL);
+
+ gtk_widget_show (widget);
+}
+
+static void
drag_data_get_cb (GtkWidget *widget, GdkDragContext *context,
GtkSelectionData *selection_data, guint info,
guint32 time, EphyBookmarkAction *action)
@@ -573,6 +595,10 @@ connect_proxy (GtkAction *action, GtkWidget *proxy)
G_CALLBACK (drag_data_get_cb), action);
g_signal_connect (button, "drag_data_delete",
G_CALLBACK (drag_data_delete_cb), action);
+ g_signal_connect (button, "drag_begin",
+ G_CALLBACK (drag_begin_cb), action);
+ g_signal_connect (button, "drag_end",
+ G_CALLBACK (drag_end_cb), action);
entry = GTK_WIDGET (g_object_get_data (G_OBJECT (proxy), "entry"));
g_signal_connect (entry, "activate", G_CALLBACK (activate_cb), action);