From 37f53760e5a5a2c0f9294c13ca680aaa33af056f Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 27 Feb 2011 21:24:43 +0000 Subject: 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. --- src/trg-files-tree-view.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'src/trg-files-tree-view.c') 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) -- cgit v1.2.3