diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-10-19 20:52:57 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-10-19 20:52:57 +0000 |
commit | 3b8fd9e7274477cfad98d66e41a43417ce8d21bf (patch) | |
tree | 0d9aab6c0ea8eea5cc3daff03bda75162a0c842d | |
parent | 3fa2dbf607db03b7f2535d7eb98ee6bdae0239dd (diff) |
use previous change to remove some unnecessary code and so intervals are taken from the current connection, not selected profile
-rw-r--r-- | src/trg-client.c | 66 | ||||
-rw-r--r-- | src/trg-client.h | 6 | ||||
-rw-r--r-- | src/trg-main-window.c | 20 | ||||
-rw-r--r-- | src/trg-preferences-dialog.c | 22 | ||||
-rw-r--r-- | src/trg-prefs.c | 8 | ||||
-rw-r--r-- | src/trg-prefs.h | 1 |
6 files changed, 23 insertions, 100 deletions
diff --git a/src/trg-client.c b/src/trg-client.c index 617a0e1..2d3fbe6 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -54,10 +54,7 @@ typedef struct _TrgClientPrivate TrgClientPrivate; struct _TrgClientPrivate { char *session_id; gint connid; - gboolean activeOnlyUpdate; guint failCount; - guint interval; - guint min_interval; gint64 updateSerial; JsonObject *session; gboolean ssl; @@ -221,9 +218,9 @@ int trg_client_populate_with_settings(TrgClient * tc) priv->password = NULL; port = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_PROFILE); + trg_prefs_get_int(prefs, TRG_PREFS_KEY_PORT, TRG_PREFS_CONNECTION); - host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, TRG_PREFS_PROFILE); + host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, TRG_PREFS_CONNECTION); if (!host || strlen(host) < 1) { g_free(host); g_mutex_unlock(priv->configMutex); @@ -231,7 +228,7 @@ int trg_client_populate_with_settings(TrgClient * tc) } #ifndef CURL_NO_SSL - priv->ssl = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_PROFILE); + priv->ssl = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SSL, TRG_PREFS_CONNECTION); #else priv->ssl = FALSE; #endif @@ -241,29 +238,15 @@ int trg_client_populate_with_settings(TrgClient * tc) priv->ssl ? HTTPS_URI_PREFIX : HTTP_URI_PREFIX, host, port); g_free(host); - priv->interval = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_PREFS_PROFILE); - if (priv->interval < 1) - priv->interval = TRG_INTERVAL_DEFAULT; - - priv->min_interval = - trg_prefs_get_int(prefs, TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_PREFS_PROFILE); - if (priv->min_interval < 1) - priv->min_interval = TRG_INTERVAL_DEFAULT; - priv->username = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, TRG_PREFS_PROFILE); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME, TRG_PREFS_CONNECTION); priv->password = - trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, TRG_PREFS_PROFILE); + trg_prefs_get_string(prefs, TRG_PREFS_KEY_PASSWORD, TRG_PREFS_CONNECTION); g_free(priv->proxy); priv->proxy = NULL; - priv->activeOnlyUpdate = - trg_prefs_get_bool(prefs, - TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_PROFILE); - #ifdef HAVE_LIBPROXY if ((pf = px_proxy_factory_new())) { char **proxies = px_proxy_factory_get_proxies(pf, priv->url); @@ -335,8 +318,9 @@ void trg_client_status_change(TrgClient *tc, gboolean connected) json_object_unref(priv->session); priv->session = NULL; } - + g_mutex_lock(priv->configMutex); trg_prefs_set_connection(priv->prefs, NULL); + g_mutex_unlock(priv->configMutex); } } @@ -426,42 +410,6 @@ void trg_client_updateunlock(TrgClient *tc) g_mutex_unlock(priv->updateMutex); } -gboolean trg_client_get_activeonlyupdate(TrgClient *tc) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - return priv->activeOnlyUpdate; -} - -void trg_client_set_activeonlyupdate(TrgClient *tc, gboolean activeOnlyUpdate) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - priv->activeOnlyUpdate = activeOnlyUpdate; -} - -guint trg_client_get_minimised_interval(TrgClient *tc) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - return priv->min_interval; -} - -guint trg_client_get_interval(TrgClient *tc) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - return priv->interval; -} - -void trg_client_set_interval(TrgClient *tc, guint interval) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - priv->interval = interval; -} - -void trg_client_set_minimised_interval(TrgClient *tc, guint interval) -{ - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); - priv->min_interval = interval; -} - /* formerly http.c */ void trg_response_free(trg_response *response) diff --git a/src/trg-client.h b/src/trg-client.h index 4ef93f9..0091598 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -156,7 +156,6 @@ void trg_client_set_torrent_table(TrgClient *tc, GHashTable *table); GHashTable* trg_client_get_torrent_table(TrgClient *tc); JsonObject* trg_client_get_session(TrgClient *tc); void trg_client_status_change(TrgClient *tc, gboolean connected); -gboolean trg_client_get_activeonlyupdate(TrgClient *tc); gboolean trg_client_is_connected(TrgClient *tc); void trg_client_updateunlock(TrgClient *tc); void trg_client_updatelock(TrgClient *tc); @@ -164,11 +163,6 @@ guint trg_client_inc_failcount(TrgClient *tc); guint trg_client_get_failcount(TrgClient *tc); void trg_client_reset_failcount(TrgClient *tc); void trg_client_inc_serial(TrgClient *tc); -guint trg_client_get_interval(TrgClient *tc); -guint trg_client_get_minimised_interval(TrgClient *tc); -void trg_client_set_interval(TrgClient *tc, guint interval); -void trg_client_set_minimised_interval(TrgClient *tc, guint interval); -void trg_client_set_activeonlyupdate(TrgClient *tc, gboolean activeOnlyUpdate); void trg_client_inc_connid(TrgClient *tc); G_END_DECLS diff --git a/src/trg-main-window.c b/src/trg-main-window.c index 5691786..6ac5dcb 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -869,8 +869,8 @@ static gboolean on_torrent_get(gpointer data, int mode) { trg_response *response = (trg_response*)data; TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); - TrgClient *client = priv->client; + TrgPrefs *prefs = trg_client_get_prefs(client); trg_torrent_model_update_stats stats; guint interval; @@ -883,9 +883,12 @@ static gboolean on_torrent_get(gpointer data, int mode) { trg_client_updatelock(client); interval - = gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_client_get_interval( - client) - : trg_client_get_minimised_interval(client); + = gtk_widget_get_visible(GTK_WIDGET(win)) ? trg_prefs_get_int(prefs, + TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_PREFS_CONNECTION) + : trg_prefs_get_int(prefs, + TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_PREFS_CONNECTION); + if (interval < 1) + interval = TRG_INTERVAL_DEFAULT; if (response->status != CURLE_OK) { if (trg_client_inc_failcount(client) >= TRG_MAX_RETRIES) { @@ -965,13 +968,13 @@ static gboolean trg_update_torrents_timerfunc(gpointer data) { TrgPrefs *prefs = trg_client_get_prefs(tc); if (trg_client_is_connected(tc)) { - gboolean activeOnly = trg_client_get_activeonlyupdate(tc) + gboolean activeOnly = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_CONNECTION) && (!trg_prefs_get_bool(prefs, TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, - TRG_PREFS_PROFILE) || (trg_client_get_serial(tc) + TRG_PREFS_CONNECTION) || (trg_client_get_serial(tc) % trg_prefs_get_int(prefs, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, - TRG_PREFS_PROFILE) != 0)); + TRG_PREFS_CONNECTION) != 0)); dispatch_async(tc, torrent_get(activeOnly ? TORRENT_GET_TAG_MODE_UPDATE : TORRENT_GET_TAG_MODE_FULL), activeOnly ? on_torrent_get_active : on_torrent_get_update, data); @@ -1128,6 +1131,7 @@ gboolean on_generic_interactive_action(gpointer data) { TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); TrgClient *tc = priv->client; + TrgPrefs *prefs = trg_client_get_prefs(tc); if (trg_client_is_connected(tc)) { trg_dialog_error_handler(win, response); @@ -1136,7 +1140,7 @@ gboolean on_generic_interactive_action(gpointer data) { gint64 id; if (json_object_has_member(response->obj, PARAM_TAG)) id = json_object_get_int_member(response->obj, PARAM_TAG); - else if (trg_client_get_activeonlyupdate(tc)) + else if (trg_prefs_get_bool(prefs, TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_CONNECTION)) id = -2; else id = -1; diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 4b0cd57..91b36ebb 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -158,11 +158,6 @@ static void trg_preferences_dialog_get_property(GObject * object, } } -static void update_activeonly_cb(GtkToggleButton * w, gpointer data) { - trg_client_set_activeonlyupdate(TRG_CLIENT(data), - gtk_toggle_button_get_active(w)); -} - static void entry_refresh(TrgPrefs *prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc*) wdp; gchar *value = trg_prefs_get_string(prefs, wd->key, wd->flags); @@ -278,16 +273,6 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog *dlg, gchar * key, return w; } -static void interval_changed_cb(GtkWidget * w, gpointer data) { - trg_client_set_interval(TRG_CLIENT(data), - gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w))); -} - -static void mininterval_changed_cb(GtkWidget * w, gpointer data) { - trg_client_set_minimised_interval(TRG_CLIENT(data), - gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(w))); -} - static void toggle_filter_trackers(GtkToggleButton * w, gpointer win) { TrgStateSelector *selector = trg_main_window_get_state_selector( TRG_MAIN_WINDOW(win)); @@ -759,7 +744,6 @@ static GtkWidget *trg_prefs_openExecPage(TrgPreferencesDialog *dlg) { static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); - TrgClient *tc = priv->client; TrgPrefs *prefs = priv->prefs; GtkWidget *w, *t, *frame, *frameHbox, *profileLabel, *activeOnly; @@ -821,14 +805,10 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { w = trgp_spin_new(dlg, TRG_PREFS_KEY_UPDATE_INTERVAL, 1, INT_MAX, 1, TRG_PREFS_PROFILE, NULL); - g_signal_connect(w, "value-changed", G_CALLBACK(interval_changed_cb), - tc); hig_workarea_add_row(t, &row, _("Update interval:"), w, NULL); w = trgp_spin_new(dlg, TRG_PREFS_KEY_MINUPDATE_INTERVAL, 1, INT_MAX, 1, TRG_PREFS_PROFILE, NULL); - g_signal_connect(w, "value-changed", G_CALLBACK(mininterval_changed_cb), - tc); hig_workarea_add_row(t, &row, _("Minimised update interval:"), w, NULL); w = trgp_check_new(dlg, _("Automatically connect"), @@ -843,8 +823,6 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog *dlg) { activeOnly = w = trgp_check_new(dlg, _("Update active torrents only"), TRG_PREFS_KEY_UPDATE_ACTIVE_ONLY, TRG_PREFS_PROFILE, NULL); - g_signal_connect(w, "toggled", G_CALLBACK(update_activeonly_cb), - tc); hig_workarea_add_wide_control(t, &row, w); priv->fullUpdateCheck = trgp_check_new(dlg, diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 90d8887..a9ee946 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -92,7 +92,7 @@ static void trg_prefs_create_defaults(TrgPrefs *p) { _(TRG_PROFILE_NAME_DEFAULT)); trg_prefs_add_default_int(p, TRG_PREFS_KEY_PORT, 9091); trg_prefs_add_default_int(p, TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); - trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_MININTERVAL_DEFAULT); + trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2); trg_prefs_add_default_int(p, TRG_PREFS_KEY_STATES_PANED_POS, 120); @@ -213,10 +213,10 @@ JsonNode *trg_prefs_get_value(TrgPrefs *p, gchar *key, int type, int flags) { TrgPrefsPrivate *priv = GET_PRIVATE(p); JsonNode *res; - if ((flags & TRG_PREFS_PROFILE)) { - if ((res = trg_prefs_get_value_inner(trg_prefs_get_profile(p), key, type, flags))) + if (priv->profile && (flags & TRG_PREFS_PROFILE)) { + if ((res = trg_prefs_get_value_inner(priv->profile, key, type, flags))) return res; - } else if ((flags & TRG_PREFS_CONNECTION)) { + } else if (priv->connectionObj && (flags & TRG_PREFS_CONNECTION)) { if ((res = trg_prefs_get_value_inner(priv->connectionObj, key, type, flags))) return res; } else { diff --git a/src/trg-prefs.h b/src/trg-prefs.h index b01ccae..d340d8a 100644 --- a/src/trg-prefs.h +++ b/src/trg-prefs.h @@ -27,7 +27,6 @@ #define TRG_PREFS_DEFAULT_DIR_MODE 448 #define TRG_PORT_DEFAULT 9091 #define TRG_INTERVAL_DEFAULT 3 -#define TRG_MININTERVAL_DEFAULT 4 #define TRG_PROFILE_NAME_DEFAULT "Default" #define TRG_PREFS_KEY_PROFILE_ID "profile-id" |