summaryrefslogtreecommitdiff
path: root/src/trg-files-tree-view.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-02-27 21:24:43 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-02-27 21:24:43 +0000
commit37f53760e5a5a2c0f9294c13ca680aaa33af056f (patch)
treee50273164754bdf0354f4116add8d286dcc250c5 /src/trg-files-tree-view.c
parentaca2e2bbd8738437a20473202b09757a1fc7c409 (diff)
a much better system for suspending tracker/file updates until a change has been acknowledged. fix for issue 17 (bandwidth priorities). use transmission-remote-gtk icon in .desktop instead of transmission.
Diffstat (limited to 'src/trg-files-tree-view.c')
-rw-r--r--src/trg-files-tree-view.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c
index de947e8..b65c636 100644
--- a/src/trg-files-tree-view.c
+++ b/src/trg-files-tree-view.c
@@ -135,6 +135,19 @@ static void remove_array_if_empty(JsonObject * args, gchar * key)
json_object_remove_member(args, key);
}
+static void
+on_files_update(JsonObject * response, int status,
+ gpointer data)
+{
+ TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(data);
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(data));
+
+ trg_files_model_set_accept(TRG_FILES_MODEL(model),
+ TRUE);
+
+ on_generic_interactive_action(response, status, priv->win);
+}
+
static void send_updated_file_prefs(TrgFilesTreeView * tv)
{
TrgFilesTreeViewPrivate *priv = TRG_FILES_TREE_VIEW_GET_PRIVATE(tv);
@@ -175,10 +188,11 @@ static void send_updated_file_prefs(TrgFilesTreeView * tv)
remove_array_if_empty(args, FIELD_FILES_PRIORITY_NORMAL);
remove_array_if_empty(args, FIELD_FILES_PRIORITY_LOW);
- trg_files_model_set_update_barrier(TRG_FILES_MODEL(model),
- priv->client->updateSerial + 1);
- dispatch_async(priv->client, req, on_generic_interactive_action,
- priv->win);
+ trg_files_model_set_accept(TRG_FILES_MODEL(model),
+ FALSE);
+
+ dispatch_async(priv->client, req, on_files_update,
+ tv);
}
static void set_low(GtkWidget * w G_GNUC_UNUSED, gpointer data)