summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-10-19 20:52:57 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-10-19 20:52:57 +0000
commit3b8fd9e7274477cfad98d66e41a43417ce8d21bf (patch)
tree0d9aab6c0ea8eea5cc3daff03bda75162a0c842d
parent3fa2dbf607db03b7f2535d7eb98ee6bdae0239dd (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.c66
-rw-r--r--src/trg-client.h6
-rw-r--r--src/trg-main-window.c20
-rw-r--r--src/trg-preferences-dialog.c22
-rw-r--r--src/trg-prefs.c8
-rw-r--r--src/trg-prefs.h1
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"