summaryrefslogtreecommitdiff
path: root/src/torrent.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2012-08-28 22:38:22 +0100
committerGravatar Alan Fitton <ajf@eth0.org.uk>2012-08-28 22:38:22 +0100
commitb1c7d130563f14a6d9ce48072c989fcd2594772d (patch)
treeea8a03247daec5f0d0d36c312d3eed9cc33a11e8 /src/torrent.c
parent3804f7f2832517cc309f061501f734f68c908c00 (diff)
issue 212 - hopefully fix magnet links making lots of notifications
Diffstat (limited to 'src/torrent.c')
-rw-r--r--src/torrent.c29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/torrent.c b/src/torrent.c
index b79a003..03f6474 100644
--- a/src/torrent.c
+++ b/src/torrent.c
@@ -220,11 +220,11 @@ gint64 torrent_get_activity_date(JsonObject * t)
guint32
torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status,
- gint64 downRate, gint64 upRate)
+ gint64 fileCount, gint64 downRate, gint64 upRate)
{
guint32 flags = 0;
- if (torrent_get_is_finished(t) == TRUE)
+ if (fileCount > 0 && torrent_get_is_finished(t) == TRUE)
flags |= TORRENT_FLAG_COMPLETE;
else
flags |= TORRENT_FLAG_INCOMPLETE;
@@ -250,8 +250,8 @@ torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status,
if (!(flags & TORRENT_FLAG_COMPLETE))
flags |= TORRENT_FLAG_DOWNLOADING;
- /* if (torrent_get_metadata_percent_complete(t) < 100)
- * flags |= TORRENT_FLAG_DOWNLOADING_METADATA; */
+ if (fileCount <= 0)
+ flags |= TORRENT_FLAG_DOWNLOADING_METADATA;
flags |= TORRENT_FLAG_ACTIVE;
break;
@@ -283,6 +283,7 @@ torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status,
flags |= TORRENT_FLAG_CHECKING;
break;
}
+
if (downRate > 0 || upRate > 0)
flags |= TORRENT_FLAG_ACTIVE;
}
@@ -297,8 +298,8 @@ gchar *torrent_get_status_icon(gint64 rpcv, guint flags)
{
if (flags & TORRENT_FLAG_ERROR)
return g_strdup(GTK_STOCK_DIALOG_WARNING);
- /*else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
- * return g_strdup(GTK_STOCK_FIND); */
+ else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
+ return g_strdup(GTK_STOCK_FIND);
else if (flags & TORRENT_FLAG_DOWNLOADING)
return g_strdup(GTK_STOCK_GO_DOWN);
else if (flags & TORRENT_FLAG_PAUSED)
@@ -353,10 +354,10 @@ gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags)
if (rpcv >= NEW_STATUS_RPC_VERSION) {
switch (value) {
case TR_STATUS_DOWNLOAD:
- /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
- return g_strdup(_("Metadata Downloading"));
- else */
- return g_strdup(_("Downloading"));
+ if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
+ return g_strdup(_("Metadata Downloading"));
+ else
+ return g_strdup(_("Downloading"));
case TR_STATUS_DOWNLOAD_WAIT:
return g_strdup(_("Queued download"));
case TR_STATUS_CHECK_WAIT:
@@ -373,10 +374,10 @@ gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags)
} else {
switch (value) {
case OLD_STATUS_DOWNLOADING:
- /*if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
- return g_strdup(_("Metadata Downloading"));
- else */
- return g_strdup(_("Downloading"));
+ if (flags & TORRENT_FLAG_DOWNLOADING_METADATA)
+ return g_strdup(_("Metadata Downloading"));
+ else
+ return g_strdup(_("Downloading"));
case OLD_STATUS_PAUSED:
return g_strdup(_("Paused"));
case OLD_STATUS_SEEDING: