summaryrefslogtreecommitdiff
path: root/finch/gntxfer.c
diff options
context:
space:
mode:
authorElliott Sales de Andrade <qulogic@pidgin.im>2019-12-21 21:09:12 -0500
committerElliott Sales de Andrade <qulogic@pidgin.im>2019-12-21 21:09:12 -0500
commit678e8326ccf115506f367354aa22a95bb38322e0 (patch)
treebb7d4f744df804465930aa9765269f30d56fb7f3 /finch/gntxfer.c
parenta0f93ca260107ad56a8a123ddbf2049ab434d834 (diff)
downloadpidgin-678e8326ccf115506f367354aa22a95bb38322e0.tar.gz
Remove PurpleXferUiOps.cancel_* UI ops.
UIs can connect to notify::status on PurpleXfer instances instead.
Diffstat (limited to 'finch/gntxfer.c')
-rw-r--r--finch/gntxfer.c29
1 files changed, 13 insertions, 16 deletions
diff --git a/finch/gntxfer.c b/finch/gntxfer.c
index df39bd0fcd..bed16f2bf0 100644
--- a/finch/gntxfer.c
+++ b/finch/gntxfer.c
@@ -497,6 +497,17 @@ finch_xfer_progress_notify(PurpleXfer *xfer, G_GNUC_UNUSED GParamSpec *pspec,
}
static void
+finch_xfer_status_notify(PurpleXfer *xfer, G_GNUC_UNUSED GParamSpec *pspec,
+ G_GNUC_UNUSED gpointer data)
+{
+ if (xfer_dialog) {
+ if (purple_xfer_is_cancelled(xfer)) {
+ finch_xfer_dialog_cancel_xfer(xfer);
+ }
+ }
+}
+
+static void
finch_xfer_add_xfer(PurpleXfer *xfer)
{
if (!xfer_dialog)
@@ -507,20 +518,8 @@ finch_xfer_add_xfer(PurpleXfer *xfer)
g_signal_connect(xfer, "notify::progress",
G_CALLBACK(finch_xfer_progress_notify), NULL);
-}
-
-static void
-finch_xfer_cancel_local(PurpleXfer *xfer)
-{
- if (xfer_dialog)
- finch_xfer_dialog_cancel_xfer(xfer);
-}
-
-static void
-finch_xfer_cancel_remote(PurpleXfer *xfer)
-{
- if (xfer_dialog)
- finch_xfer_dialog_cancel_xfer(xfer);
+ g_signal_connect(xfer, "notify::status",
+ G_CALLBACK(finch_xfer_status_notify), NULL);
}
static PurpleXferUiOps ops =
@@ -528,8 +527,6 @@ static PurpleXferUiOps ops =
finch_xfer_new_xfer,
finch_xfer_destroy,
finch_xfer_add_xfer,
- finch_xfer_cancel_local,
- finch_xfer_cancel_remote,
NULL /* add_thumbnail */
};