[gtk+/wip/csoriano/bookmarks: 153/156] gtkfilechooserwidget: show drop hints on gtkplacessidebar
- From: Carlos Soriano Sánchez <csoriano src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/csoriano/bookmarks: 153/156] gtkfilechooserwidget: show drop hints on gtkplacessidebar
- Date: Wed, 10 Jun 2015 16:30:45 +0000 (UTC)
commit 377ea83b1ba55e74df92a0fce6a2613571a7362c
Author: Carlos Soriano <csoriano gnome org>
Date: Sat Apr 11 17:36:41 2015 +0200
gtkfilechooserwidget: show drop hints on gtkplacessidebar
Now with the API addition on gtkplacessidebar, we can show some
hints for the drop targets.
https://bugzilla.gnome.org/show_bug.cgi?id=747793
gtk/gtkfilechooserwidget.c | 21 +++++++++++++++++++++
gtk/ui/gtkfilechooserwidget.ui | 2 ++
2 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 232640c..11d9293 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -1645,6 +1645,14 @@ file_list_drag_drop_cb (GtkWidget *widget,
return TRUE;
}
+static void
+file_list_drag_begin_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ GtkFileChooserWidget *impl)
+{
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (impl->priv->places_sidebar), TRUE);
+}
+
/* Disable the normal tree drag motion handler, it makes it look like you're
dropping the dragged item onto a tree item */
static gboolean
@@ -1659,6 +1667,17 @@ file_list_drag_motion_cb (GtkWidget *widget,
return TRUE;
}
+static void
+file_list_drag_end_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ gpointer user_data)
+{
+ GtkFileChooserWidget *impl;
+
+ impl = GTK_FILE_CHOOSER_WIDGET (user_data);
+ gtk_places_sidebar_set_drop_targets_visible (GTK_PLACES_SIDEBAR (impl->priv->places_sidebar), FALSE);
+}
+
/* Sensitizes the "Copy file’s location" and other context menu items if there is actually
* a selection active.
*/
@@ -7518,7 +7537,9 @@ gtk_file_chooser_widget_class_init (GtkFileChooserWidgetClass *class)
gtk_widget_class_bind_template_callback (widget_class, file_list_query_tooltip_cb);
gtk_widget_class_bind_template_callback (widget_class, list_button_press_event_cb);
gtk_widget_class_bind_template_callback (widget_class, list_row_activated);
+ gtk_widget_class_bind_template_callback (widget_class, file_list_drag_begin_cb);
gtk_widget_class_bind_template_callback (widget_class, file_list_drag_motion_cb);
+ gtk_widget_class_bind_template_callback (widget_class, file_list_drag_end_cb);
gtk_widget_class_bind_template_callback (widget_class, list_selection_changed);
gtk_widget_class_bind_template_callback (widget_class, list_cursor_changed);
gtk_widget_class_bind_template_callback (widget_class, filter_combo_changed);
diff --git a/gtk/ui/gtkfilechooserwidget.ui b/gtk/ui/gtkfilechooserwidget.ui
index 9af256a..2e46d30 100644
--- a/gtk/ui/gtkfilechooserwidget.ui
+++ b/gtk/ui/gtkfilechooserwidget.ui
@@ -175,7 +175,9 @@
<signal name="button-press-event" handler="list_button_press_event_cb"
swapped="no"/>
<signal name="drag-data-received" handler="file_list_drag_data_received_cb"
swapped="no"/>
<signal name="drag-drop" handler="file_list_drag_drop_cb" swapped="no"/>
+ <signal name="drag-begin" handler="file_list_drag_begin_cb" swapped="no"/>
<signal name="drag-motion" handler="file_list_drag_motion_cb" swapped="no"/>
+ <signal name="drag-end" handler="file_list_drag_end_cb" swapped="no"/>
<signal name="key-press-event" handler="browse_files_key_press_event_cb"
swapped="no"/>
<signal name="popup-menu" handler="list_popup_menu_cb" swapped="no"/>
<signal name="query-tooltip" handler="file_list_query_tooltip_cb"
swapped="no"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]