[gnome-builder] core: add IdeTransfer::cancelled signal



commit f988f6b6b59dc3c670c818c2f7f22497dcf3b4b3
Author: Christian Hergert <chergert redhat com>
Date:   Thu Mar 14 13:43:25 2019 -0700

    core: add IdeTransfer::cancelled signal
    
    This can be useful when wiring up wrappers like notifications.

 src/libide/core/ide-transfer.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
---
diff --git a/src/libide/core/ide-transfer.c b/src/libide/core/ide-transfer.c
index 25fefe5b7..fbcdd0993 100644
--- a/src/libide/core/ide-transfer.c
+++ b/src/libide/core/ide-transfer.c
@@ -52,9 +52,15 @@ enum {
   N_PROPS
 };
 
+enum {
+  CANCELLED,
+  N_SIGNALS
+};
+
 G_DEFINE_TYPE_WITH_PRIVATE (IdeTransfer, ide_transfer, IDE_TYPE_OBJECT)
 
 static GParamSpec *properties [N_PROPS];
+static guint signals [N_SIGNALS];
 static gint last_unique_id;
 
 static void
@@ -224,6 +230,15 @@ ide_transfer_class_init (IdeTransferClass *klass)
                          (G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_properties (object_class, N_PROPS, properties);
+
+  signals [CANCELLED] =
+    g_signal_new ("cancelled",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST,
+                  0,
+                  NULL, NULL,
+                  g_cclosure_marshal_VOID__VOID,
+                  G_TYPE_NONE, 0);
 }
 
 static void
@@ -448,6 +463,8 @@ ide_transfer_cancel (IdeTransfer *self)
 
   if (!g_cancellable_is_cancelled (priv->cancellable))
     g_cancellable_cancel (priv->cancellable);
+
+  g_signal_emit (self, signals [CANCELLED], 0);
 }
 
 gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]