summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2013-01-02 20:17:13 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2013-01-02 20:17:13 +0000
commit2ebc0a5cd92b753271316e0e00a5fddc51d0cbf0 (patch)
tree32c1da9d451246dfc4db090aac9a5a237133e541 /src
parent171018ee404653a17bf3467a97b36d19ee5dc8fb (diff)
issue 221 - configurable rpc url
Diffstat (limited to 'src')
-rw-r--r--src/trg-client.c10
-rw-r--r--src/trg-preferences-dialog.c2
-rw-r--r--src/trg-prefs.c1
-rw-r--r--src/trg-prefs.h1
4 files changed, 11 insertions, 3 deletions
diff --git a/src/trg-client.c b/src/trg-client.c
index b2540fc..ad18921 100644
--- a/src/trg-client.c
+++ b/src/trg-client.c
@@ -222,7 +222,7 @@ int trg_client_populate_with_settings(TrgClient * tc)
TrgPrefs *prefs = priv->prefs;
gint port;
- gchar *host;
+ gchar *host, *path;
#ifdef HAVE_LIBPROXY
pxProxyFactory *pf = NULL;
#endif
@@ -245,6 +245,8 @@ int trg_client_populate_with_settings(TrgClient * tc)
host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME,
TRG_PREFS_CONNECTION);
+ path = trg_prefs_get_string(prefs, TRG_PREFS_KEY_RPC_URL_PATH, TRG_PREFS_CONNECTION);
+
if (!host || strlen(host) < 1) {
g_free(host);
g_mutex_unlock(priv->configMutex);
@@ -257,10 +259,12 @@ int trg_client_populate_with_settings(TrgClient * tc)
priv->ssl = FALSE;
#endif
- priv->url = g_strdup_printf("%s://%s:%d/transmission/rpc",
+
+ priv->url = g_strdup_printf("%s://%s:%d%s",
priv->ssl ? HTTPS_URI_PREFIX :
- HTTP_URI_PREFIX, host, port);
+ HTTP_URI_PREFIX, host, port, path);
g_free(host);
+ g_free(path);
priv->username = trg_prefs_get_string(prefs, TRG_PREFS_KEY_USERNAME,
TRG_PREFS_CONNECTION);
diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c
index e8cfb15..d0c8508 100644
--- a/src/trg-preferences-dialog.c
+++ b/src/trg-preferences-dialog.c
@@ -812,6 +812,8 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg)
w = trgp_spin_new(dlg, TRG_PREFS_KEY_PORT, 1, 65535, 1,
TRG_PREFS_PROFILE, NULL);
hig_workarea_add_row(t, &row, _("Port:"), w, NULL);
+ w = trgp_entry_new(dlg, TRG_PREFS_KEY_RPC_URL_PATH, TRG_PREFS_PROFILE);
+ hig_workarea_add_row(t, &row, _("RPC URL Path:"), w, NULL);
w = trgp_entry_new(dlg, TRG_PREFS_KEY_USERNAME, TRG_PREFS_PROFILE);
hig_workarea_add_row(t, &row, _("Username:"), w, NULL);
diff --git a/src/trg-prefs.c b/src/trg-prefs.c
index a1a2c8f..9b573a6 100644
--- a/src/trg-prefs.c
+++ b/src/trg-prefs.c
@@ -91,6 +91,7 @@ static void trg_prefs_create_defaults(TrgPrefs * p)
trg_prefs_add_default_string(p, TRG_PREFS_KEY_PROFILE_NAME,
_(TRG_PROFILE_NAME_DEFAULT));
+ trg_prefs_add_default_string(p, TRG_PREFS_KEY_RPC_URL_PATH, "/transmission/rpc");
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);
diff --git a/src/trg-prefs.h b/src/trg-prefs.h
index 793ec04..1bf43c5 100644
--- a/src/trg-prefs.h
+++ b/src/trg-prefs.h
@@ -30,6 +30,7 @@
#define TRG_SESSION_INTERVAL_DEFAULT 60
#define TRG_PROFILE_NAME_DEFAULT "Default"
+#define TRG_PREFS_KEY_RPC_URL_PATH "rpc-url-path"
#define TRG_PREFS_KEY_PROFILE_ID "profile-id"
#define TRG_PREFS_KEY_PROFILES "profiles"
#define TRG_PREFS_KEY_PROFILE_NAME "profile-name"