[gnome-todo] task-row: show row when drag fails
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] task-row: show row when drag fails
- Date: Fri, 7 Apr 2017 17:12:15 +0000 (UTC)
commit 59f168eb5867496d38e054f28a95e48a99a1d5b2
Author: Jens Sauer <jsauer65 gmail com>
Date: Fri Apr 7 11:42:32 2017 +0200
task-row: show row when drag fails
When a task is being draged out of the window or into the GtdEditPane it
disappears from the task list until the list is reopened.
https://bugzilla.gnome.org/show_bug.cgi?id=773562
data/ui/task-row.ui | 1 +
src/gtd-task-row.c | 12 ++++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)
---
diff --git a/data/ui/task-row.ui b/data/ui/task-row.ui
index 32b1f04..aa27886 100644
--- a/data/ui/task-row.ui
+++ b/data/ui/task-row.ui
@@ -29,6 +29,7 @@
<property name="visible">True</property>
<signal name="button-press-event" handler="button_press_event" object="GtdTaskRow"
swapped="no" />
<signal name="drag-begin" handler="drag_begin_cb" object="GtdTaskRow" swapped="no" />
+ <signal name="drag-failed" handler="drag_failed_cb" object="GtdTaskRow" swapped="no" />
<signal name="enter-notify-event" handler="mouse_over_event" object="GtdTaskRow"
swapped="no" />
<signal name="leave-notify-event" handler="mouse_out_event" object="GtdTaskRow"
swapped="no" />
<child>
diff --git a/src/gtd-task-row.c b/src/gtd-task-row.c
index 8e3295c..471afe8 100644
--- a/src/gtd-task-row.c
+++ b/src/gtd-task-row.c
@@ -205,6 +205,17 @@ drag_begin_cb (GtkWidget *widget,
g_clear_pointer (&surface, cairo_surface_destroy);
}
+static gboolean
+drag_failed_cb (GtkWidget *widget,
+ GdkDragContext *context,
+ GtkDragResult result,
+ GtdTaskRow *self)
+{
+ gtk_widget_show (GTK_WIDGET (self));
+
+ return FALSE;
+}
+
static void
gtd_task_row__priority_changed_cb (GtdTaskRow *row,
GParamSpec *spec,
@@ -583,6 +594,7 @@ gtd_task_row_class_init (GtdTaskRowClass *klass)
gtk_widget_class_bind_template_callback (widget_class, button_press_event);
gtk_widget_class_bind_template_callback (widget_class, complete_check_toggled_cb);
gtk_widget_class_bind_template_callback (widget_class, drag_begin_cb);
+ gtk_widget_class_bind_template_callback (widget_class, drag_failed_cb);
gtk_widget_class_bind_template_callback (widget_class, mouse_out_event);
gtk_widget_class_bind_template_callback (widget_class, mouse_over_event);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]