summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/requests.c7
-rw-r--r--src/requests.h1
-rw-r--r--src/torrent.c5
-rw-r--r--src/torrent.h1
-rw-r--r--src/trg-torrent-model.c43
-rw-r--r--src/trg-torrent-model.h2
-rw-r--r--src/trg-torrent-move-dialog.c1
-rw-r--r--src/trg-torrent-props-dialog.c1
-rw-r--r--src/trg-torrent-tree-view.c3
9 files changed, 45 insertions, 19 deletions
diff --git a/src/requests.c b/src/requests.c
index ba761f9..b52f5c9 100644
--- a/src/requests.c
+++ b/src/requests.c
@@ -140,7 +140,6 @@ JsonNode *torrent_get(gint64 id)
json_array_add_string_element(fields, FIELD_NAME);
json_array_add_string_element(fields, FIELD_PERCENTDONE);
json_array_add_string_element(fields, FIELD_COMMENT);
- json_array_add_string_element(fields, FIELD_ADDED_DATE);
json_array_add_string_element(fields, FIELD_TOTAL_SIZE);
json_array_add_string_element(fields, FIELD_LEFT_UNTIL_DONE);
json_array_add_string_element(fields, FIELD_ANNOUNCE_URL);
@@ -202,3 +201,9 @@ void request_set_tag(JsonNode * req, gint64 tag)
{
json_object_set_int_member(json_node_get_object(req), PARAM_TAG, tag);
}
+
+void request_set_tag_from_ids(JsonNode *req, JsonArray *ids)
+{
+ gint64 id = json_array_get_length(ids) == 1 ? json_array_get_int_element(ids, 0) : -1;
+ request_set_tag(req, id);
+}
diff --git a/src/requests.h b/src/requests.h
index 8c1bc00..a47c88d 100644
--- a/src/requests.h
+++ b/src/requests.h
@@ -42,5 +42,6 @@ JsonNode *blocklist_update(void);
JsonNode *port_test(void);
JsonNode *session_stats(void);
void request_set_tag(JsonNode * req, gint64 tag);
+void request_set_tag_from_ids(JsonNode *req, JsonArray *ids);
#endif /* REQUESTS_H_ */
diff --git a/src/torrent.c b/src/torrent.c
index 3d0d02e..93bee44 100644
--- a/src/torrent.c
+++ b/src/torrent.c
@@ -192,6 +192,11 @@ gchar *torrent_get_status_icon(guint flags)
return g_strdup(GTK_STOCK_DIALOG_QUESTION);
}
+gint64 torrent_get_done_date(JsonObject *t)
+{
+ return json_object_get_int_member(t, FIELD_DONE_DATE);
+}
+
const gchar *torrent_get_errorstr(JsonObject * t)
{
return json_object_get_string_member(t, FIELD_ERRORSTR);
diff --git a/src/torrent.h b/src/torrent.h
index 118d36b..b1e609a 100644
--- a/src/torrent.h
+++ b/src/torrent.h
@@ -64,6 +64,7 @@ gboolean torrent_get_honors_session_limits(JsonObject * t);
gint64 torrent_get_bandwidth_priority(JsonObject * t);
gint64 torrent_get_upload_limit(JsonObject * t);
gint64 torrent_get_added_date(JsonObject * t);
+gint64 torrent_get_done_date(JsonObject *t);
gboolean torrent_get_upload_limited(JsonObject * t);
gint64 torrent_get_download_limit(JsonObject * t);
gboolean torrent_get_download_limited(JsonObject * t);
diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c
index a442145..d692627 100644
--- a/src/trg-torrent-model.c
+++ b/src/trg-torrent-model.c
@@ -176,6 +176,8 @@ static void trg_torrent_model_init(TrgTorrentModel * self)
column_types[TORRENT_COLUMN_UPDATESERIAL] = G_TYPE_INT64;
column_types[TORRENT_COLUMN_FLAGS] = G_TYPE_INT;
column_types[TORRENT_COLUMN_DOWNLOADDIR] = G_TYPE_STRING;
+ column_types[TORRENT_COLUMN_BANDWIDTH_PRIORITY] = G_TYPE_INT64;
+ column_types[TORRENT_COLUMN_DONE_DATE] = G_TYPE_INT64;
gtk_list_store_set_column_types(GTK_LIST_STORE(self),
TORRENT_COLUMN_COLUMNS, column_types);
@@ -256,6 +258,7 @@ update_torrent_iter(TrgTorrentModel * model, gint64 serial,
GtkTreeIter * iter, JsonObject * t,
trg_torrent_model_update_stats * stats)
{
+ GtkListStore *ls = GTK_LIST_STORE(model);
guint lastFlags, newFlags;
JsonObject *lastJson;
gchar *statusString, *statusIcon;
@@ -284,48 +287,51 @@ update_torrent_iter(TrgTorrentModel * model, gint64 serial,
json_object_ref(t);
#ifdef DEBUG
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_ICON, statusIcon, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_NAME, torrent_get_name(t), -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_SIZE, torrent_get_size(t), -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_DONE, torrent_get_percent_done(t),
-1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_STATUS,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_STATUS,
statusString, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_DOWNSPEED, downRate, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_FLAGS,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_FLAGS,
newFlags, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_UPSPEED,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPSPEED,
upRate, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_ETA,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA,
torrent_get_eta(t), -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_UPLOADED, uploaded, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_DOWNLOADED, downloaded, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_RATIO,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO,
uploaded > 0
&& downloaded >
0 ? (double) uploaded / (double) downloaded : 0,
-1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_ID, id,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_ID, id,
-1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_JSON, t,
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_JSON, t,
-1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_UPDATESERIAL, serial, -1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
-1);
- gtk_list_store_set(GTK_LIST_STORE(model), iter, TORRENT_COLUMN_DOWNLOADDIR, torrent_get_download_dir(t));
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR, torrent_get_download_dir(t));
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_BANDWIDTH_PRIORITY, torrent_get_bandwidth_priority(t));
+ gtk_list_store_set(ls, iter, TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), -1);
#else
- gtk_list_store_set(GTK_LIST_STORE(model), iter,
+ gtk_list_store_set(ls, iter,
TORRENT_COLUMN_ICON, statusIcon,
TORRENT_COLUMN_ADDED, torrent_get_added_date(t),
+ TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t),
TORRENT_COLUMN_NAME, torrent_get_name(t),
TORRENT_COLUMN_SIZE, torrent_get_size(t),
TORRENT_COLUMN_DONE,
@@ -343,6 +349,7 @@ update_torrent_iter(TrgTorrentModel * model, gint64 serial,
&& downloaded >
0 ? (double) uploaded / (double) downloaded : 0,
TORRENT_COLUMN_DOWNLOADDIR, torrent_get_download_dir(t),
+ TORRENT_COLUMN_BANDWIDTH_PRIORITY, torrent_get_bandwidth_priority(t),
TORRENT_COLUMN_ID, id, TORRENT_COLUMN_JSON, t,
TORRENT_COLUMN_UPDATESERIAL, serial, -1);
#endif
diff --git a/src/trg-torrent-model.h b/src/trg-torrent-model.h
index df969e1..c752127 100644
--- a/src/trg-torrent-model.h
+++ b/src/trg-torrent-model.h
@@ -97,6 +97,8 @@ enum {
TORRENT_COLUMN_UPDATESERIAL,
TORRENT_COLUMN_FLAGS,
TORRENT_COLUMN_DOWNLOADDIR,
+ TORRENT_COLUMN_BANDWIDTH_PRIORITY,
+ TORRENT_COLUMN_DONE_DATE,
TORRENT_COLUMN_COLUMNS
};
diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c
index f9bfb62..b10a471 100644
--- a/src/trg-torrent-move-dialog.c
+++ b/src/trg-torrent-move-dialog.c
@@ -64,6 +64,7 @@ trg_torrent_move_response_cb(GtkDialog * dlg, gint res_id, gpointer data)
gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON
(priv->move_check)));
+ request_set_tag_from_ids(request, priv->ids);
g_free(location);
dispatch_async(priv->client, request,
on_generic_interactive_action, data);
diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c
index 8f83ffd..d50bd89 100644
--- a/src/trg-torrent-props-dialog.c
+++ b/src/trg-torrent-props-dialog.c
@@ -122,6 +122,7 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id,
}
request = torrent_set(priv->targetIds);
+ request_set_tag_from_ids(request, priv->targetIds);
args = node_get_arguments(request);
gtk_toggle_button_json_out(GTK_TOGGLE_BUTTON
diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c
index f2d6f7b..473a0e1 100644
--- a/src/trg-torrent-tree-view.c
+++ b/src/trg-torrent-tree-view.c
@@ -78,6 +78,9 @@ static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv)
_("Location"), "download-dir", TRG_COLUMN_EXTRA);
trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_ID,
_("ID"), "id", TRG_COLUMN_EXTRA);
+ trg_tree_view_reg_column(ttv, TRG_COLTYPE_PRIO, TORRENT_COLUMN_BANDWIDTH_PRIORITY,
+ _("Bandwidth Priority"), "bandwidth-priority", TRG_COLUMN_EXTRA);
+ trg_tree_view_reg_column(ttv, TRG_COLTYPE_EPOCH, TORRENT_COLUMN_DONE_DATE, _("Done Date"), "done-date", TRG_COLUMN_EXTRA);
gtk_tree_view_set_search_column(GTK_TREE_VIEW(tttv),
TORRENT_COLUMN_NAME);