diff options
author | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-12-21 21:09:12 -0500 |
---|---|---|
committer | Elliott Sales de Andrade <qulogic@pidgin.im> | 2019-12-21 21:09:12 -0500 |
commit | 678e8326ccf115506f367354aa22a95bb38322e0 (patch) | |
tree | bb7d4f744df804465930aa9765269f30d56fb7f3 /finch/gntxfer.c | |
parent | a0f93ca260107ad56a8a123ddbf2049ab434d834 (diff) | |
download | pidgin-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.c | 29 |
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 */ }; |