summaryrefslogtreecommitdiff
path: root/src/trg-torrent-add-dialog.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-08-27 17:15:31 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-08-27 17:15:31 +0000
commitbd758ee4fc423b9ca152a01f897609daa656c938 (patch)
tree0378306b5b007f38f0c4f6c0d868215f70fd70d6 /src/trg-torrent-add-dialog.c
parentb8a1599a2ab9eafd496ba23179dda97d6e83e917 (diff)
Profile support! Please test and report bugs, as the config system is totally rewritten and may not be perfect. No more GConf (trying to implement profiles with this was UGLY), settings now (for most) live in JSON at $HOME/.config/transmission-remote-gtk/config.json. Hopefully windows support will be easier without GConf.
Diffstat (limited to 'src/trg-torrent-add-dialog.c')
-rw-r--r--src/trg-torrent-add-dialog.c36
1 files changed, 17 insertions, 19 deletions
diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c
index f6f17e6..ae44c0e 100644
--- a/src/trg-torrent-add-dialog.c
+++ b/src/trg-torrent-add-dialog.c
@@ -26,7 +26,6 @@
#include <gtk/gtk.h>
#include <json-glib/json-glib.h>
#include <glib/gprintf.h>
-#include <gconf/gconf-client.h>
#include "hig.h"
#include "util.h"
@@ -36,7 +35,7 @@
#include "trg-torrent-add-dialog.h"
#include "trg-cell-renderer-size.h"
#include "trg-destination-combo.h"
-#include "trg-preferences.h"
+#include "trg-prefs.h"
#include "requests.h"
#include "torrent.h"
#include "json.h"
@@ -74,7 +73,7 @@ typedef struct _TrgTorrentAddDialogPrivate
TrgTorrentAddDialogPrivate;
struct _TrgTorrentAddDialogPrivate {
- trg_client *client;
+ TrgClient *client;
TrgMainWindow *parent;
GSList *filenames;
GtkWidget *source_chooser;
@@ -733,19 +732,18 @@ static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d,
}
static void trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c,
- GConfClient * gcc)
+ TrgPrefs *prefs)
{
gchar *cwd = gtk_file_chooser_get_current_folder(c);
if (cwd) {
- gconf_client_set_string(gcc, TRG_GCONF_KEY_LAST_TORRENT_DIR, cwd,
- NULL);
+ trg_prefs_set_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, cwd, TRG_PREFS_GLOBAL);
g_free(cwd);
}
}
static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent,
- GConfClient * gcc)
+ TrgPrefs * prefs)
{
GtkWidget *w = gtk_file_chooser_dialog_new(_("Add a Torrent"), parent,
GTK_FILE_CHOOSER_ACTION_OPEN,
@@ -755,7 +753,7 @@ static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent,
GTK_RESPONSE_ACCEPT,
NULL);
gchar *dir =
- gconf_client_get_string(gcc, TRG_GCONF_KEY_LAST_TORRENT_DIR, NULL);
+ trg_prefs_get_string(prefs, TRG_PREFS_KEY_LAST_TORRENT_DIR, TRG_PREFS_GLOBAL);
if (dir) {
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir);
g_free(dir);
@@ -774,7 +772,7 @@ static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w,
TrgTorrentAddDialogPrivate *priv =
TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data);
GtkWidget *d = trg_torrent_add_dialog_generic(GTK_WINDOW(data),
- priv->client->gconf);
+ trg_client_get_prefs(priv->client));
if (gtk_dialog_run(GTK_DIALOG(d)) == GTK_RESPONSE_ACCEPT) {
if (priv->filenames)
@@ -784,7 +782,7 @@ static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w,
gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(d));
trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(d),
- priv->client->gconf);
+ trg_client_get_prefs(priv->client));
trg_torrent_add_dialog_set_filenames(TRG_TORRENT_ADD_DIALOG(data),
priv->filenames);
}
@@ -804,6 +802,7 @@ static GObject *trg_torrent_add_dialog_constructor(GType type,
construct_params);
TrgTorrentAddDialogPrivate *priv =
TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(obj);
+ TrgPrefs *prefs = trg_client_get_prefs(priv->client);
GtkWidget *t, *l;
gint row = 0;
@@ -836,8 +835,7 @@ static GObject *trg_torrent_add_dialog_constructor(GType type,
priv->paused_check =
gtk_check_button_new_with_mnemonic(_("Start _paused"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(priv->paused_check),
- pref_get_start_paused(priv->
- client->gconf));
+ trg_prefs_get_bool(prefs, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL));
priv->priority_combo = gtr_priority_combo_new();
gtk_combo_box_set_active(GTK_COMBO_BOX(priv->priority_combo), 1);
@@ -967,7 +965,7 @@ static void trg_torrent_add_dialog_init(TrgTorrentAddDialog * self)
}
TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * parent,
- trg_client * client,
+ TrgClient * client,
GSList * filenames)
{
return g_object_new(TRG_TYPE_TORRENT_ADD_DIALOG,
@@ -975,17 +973,17 @@ TrgTorrentAddDialog *trg_torrent_add_dialog_new(TrgMainWindow * parent,
"parent", parent, "client", client, NULL);
}
-void trg_torrent_add_dialog(TrgMainWindow * win, trg_client * client)
+void trg_torrent_add_dialog(TrgMainWindow * win, TrgClient * client)
{
GtkWidget *w;
GtkWidget *c;
+ TrgPrefs *prefs = trg_client_get_prefs(client);
- w = trg_torrent_add_dialog_generic(GTK_WINDOW(win), client->gconf);
+ w = trg_torrent_add_dialog_generic(GTK_WINDOW(win), prefs);
c = gtk_check_button_new_with_mnemonic(_("Show _options dialog"));
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(c),
- pref_get_add_options_dialog
- (client->gconf));
+ trg_prefs_get_bool(prefs, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRG_PREFS_GLOBAL));
gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(w), c);
if (gtk_dialog_run(GTK_DIALOG(w)) == GTK_RESPONSE_ACCEPT) {
@@ -996,7 +994,7 @@ void trg_torrent_add_dialog(TrgMainWindow * win, trg_client * client)
GSList *l = gtk_file_chooser_get_filenames(chooser);
trg_torrent_add_dialog_generic_save_dir(GTK_FILE_CHOOSER(w),
- client->gconf);
+ prefs);
if (showOptions) {
TrgTorrentAddDialog *dialog =
@@ -1009,7 +1007,7 @@ void trg_torrent_add_dialog(TrgMainWindow * win, trg_client * client)
args->list = l;
args->cb_data = win;
args->client = client;
- args->paused = pref_get_start_paused(client->gconf);
+ args->paused = trg_prefs_get_bool(prefs, TRG_PREFS_KEY_START_PAUSED, TRG_PREFS_GLOBAL);
args->extraArgs = FALSE;
launch_add_thread(args);