summaryrefslogtreecommitdiff
path: root/src/trg-torrent-model.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-16 20:30:13 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-16 20:30:13 +0000
commitde3dcd18a22c1522267df53f9b34a775289f7443 (patch)
treec03554a9fb806427a983d2682507eee6c94d3cec /src/trg-torrent-model.c
parent0e6f23ff833b5f0eb5c5594961176b7b7abaf6a1 (diff)
issue 85
Diffstat (limited to 'src/trg-torrent-model.c')
-rw-r--r--src/trg-torrent-model.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c
index 39aa65d..4cd6cd0 100644
--- a/src/trg-torrent-model.c
+++ b/src/trg-torrent-model.c
@@ -58,7 +58,7 @@ static void trg_torrent_model_dispose(GObject * object)
}
static void
-update_torrent_iter(TrgTorrentModel * model, gint64 rpcv, gint64 serial,
+update_torrent_iter(TrgClient *tc, TrgTorrentModel * model, gint64 rpcv,
GtkTreeIter * iter, JsonObject * t,
trg_torrent_model_update_stats * stats);
@@ -178,6 +178,7 @@ static void trg_torrent_model_init(TrgTorrentModel * self)
column_types[TORRENT_COLUMN_PEERS_TO_US] = G_TYPE_INT64;
column_types[TORRENT_COLUMN_TRACKERHOST] = G_TYPE_STRING;
column_types[TORRENT_COLUMN_QUEUE_POSITION] = G_TYPE_INT64;
+ column_types[TORRENT_COLUMN_LASTACTIVE] = G_TYPE_INT64;
gtk_list_store_set_column_types(GTK_LIST_STORE(self),
TORRENT_COLUMN_COLUMNS, column_types);
@@ -228,7 +229,7 @@ void trg_torrent_model_remove_all(TrgTorrentModel *model)
}
static void
-update_torrent_iter(TrgTorrentModel * model, gint64 rpcv, gint64 serial,
+update_torrent_iter(TrgClient *tc, TrgTorrentModel * model, gint64 rpcv,
GtkTreeIter * iter, JsonObject * t,
trg_torrent_model_update_stats * stats)
{
@@ -294,7 +295,7 @@ update_torrent_iter(TrgTorrentModel * model, gint64 rpcv, gint64 serial,
-1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_ID, id, -1);
gtk_list_store_set(ls, iter, TORRENT_COLUMN_JSON, t, -1);
- gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPDATESERIAL, serial, -1);
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPDATESERIAL, trg_client_get_serial(tc), -1);
gtk_list_store_set(ls, iter,
TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
-1);
@@ -352,9 +353,13 @@ update_torrent_iter(TrgTorrentModel * model, gint64 rpcv, gint64 serial,
TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t,
TORRENT_COLUMN_TRACKERHOST,
firstTracker ? tracker_stats_get_host(firstTracker) : "",
- TORRENT_COLUMN_UPDATESERIAL, serial, -1);
+ TORRENT_COLUMN_UPDATESERIAL, trg_client_get_serial(tc), -1);
#endif
+ if (newFlags & TORRENT_FLAG_ACTIVE)
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_LASTACTIVE,
+ trg_client_get_last_update_unix_time(tc), -1);
+
if (lastJson)
json_object_unref(lastJson);
@@ -477,7 +482,7 @@ void trg_torrent_model_update(TrgTorrentModel * model, TrgClient * tc,
if (!result) {
gtk_list_store_append(GTK_LIST_STORE(model), &iter);
- update_torrent_iter(model, rpcv, trg_client_get_serial(tc), &iter, t, stats);
+ update_torrent_iter(tc, model, rpcv, &iter, t, stats);
path = gtk_tree_model_get_path(GTK_TREE_MODEL(model), &iter);
rr = gtk_tree_row_reference_new(GTK_TREE_MODEL(model), path);
@@ -495,7 +500,7 @@ void trg_torrent_model_update(TrgTorrentModel * model, TrgClient * tc,
if (path) {
if (gtk_tree_model_get_iter
(GTK_TREE_MODEL(model), &iter, path)) {
- update_torrent_iter(model, rpcv, trg_client_get_serial(tc), &iter, t,
+ update_torrent_iter(tc, model, rpcv, &iter, t,
stats);
}
gtk_tree_path_free(path);