summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dispatch.c4
-rw-r--r--src/json.c4
-rw-r--r--src/main.c2
-rw-r--r--src/trg-main-window.c35
-rw-r--r--src/trg-menu-bar.c152
-rw-r--r--src/trg-menu-bar.h3
-rw-r--r--src/trg-preferences-dialog.c14
-rw-r--r--src/trg-prefs.c20
-rw-r--r--src/trg-prefs.h4
-rw-r--r--src/trg-torrent-add-dialog.c2
10 files changed, 180 insertions, 60 deletions
diff --git a/src/dispatch.c b/src/dispatch.c
index 5bf42c1..e6181a1 100644
--- a/src/dispatch.c
+++ b/src/dispatch.c
@@ -42,7 +42,7 @@ JsonObject *dispatch(TrgClient * client, JsonNode * req, int *status)
json_node_free(req);
#ifdef DEBUG
if (g_getenv("TRG_SHOW_OUTGOING"))
- g_printf("=>(outgoing)=> %s\n", serialized);
+ g_debug("=>(outgoing)=>\n%s\n", serialized);
#endif
response = trg_http_perform(client, serialized);
g_free(serialized);
@@ -103,7 +103,7 @@ gboolean dispatch_async(TrgClient * client, JsonNode * req,
trg_client_thread_pool_push(client, args, &error);
if (error) {
- g_printf("thread creation error: %s\n", error->message);
+ g_error("thread creation error: %s\n", error->message);
g_error_free(error);
g_free(args);
return FALSE;
diff --git a/src/json.c b/src/json.c
index c10ed0b..47ca27b 100644
--- a/src/json.c
+++ b/src/json.c
@@ -58,7 +58,7 @@ JsonObject *trg_deserialize(struct http_response * response,
root = json_parser_get_root(parser);
#ifdef DEBUG
if (g_getenv("TRG_SHOW_INCOMING") != NULL) {
- g_printf("incoming JSON data:\n%s\n", response->data);
+ g_debug("<=(incoming)<=:\n%s\n", response->data);
} else if (g_getenv("TRG_SHOW_INCOMING_PRETTY") != NULL) {
JsonGenerator *pg;
gsize len;
@@ -69,7 +69,7 @@ JsonObject *trg_deserialize(struct http_response * response,
json_generator_set_root(pg, root);
pgdata = json_generator_to_data(pg, &len);
- g_printf("incoming JSON data:\n%s\n", pgdata);
+ g_debug("<=(incoming)<=:\n%s\n", pgdata);
g_free(pgdata);
g_object_unref(pg);
diff --git a/src/main.c b/src/main.c
index e41b3c7..09dc3da 100644
--- a/src/main.c
+++ b/src/main.c
@@ -149,8 +149,6 @@ int main(int argc, char *argv[])
}
#endif
- gtk_widget_show_all(GTK_WIDGET(window));
-
auto_connect_if_required(window, client);
gtk_main();
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index ff1bace..d752347 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -480,6 +480,17 @@ static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
gtk_widget_show_all(GTK_WIDGET(dlg));
}
+static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, gpointer win) {
+ TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
+ trg_state_selector_set_show_dirs(priv->stateSelector, gtk_check_menu_item_get_active(w));
+}
+
+static void main_window_toggle_filter_trackers(GtkCheckMenuItem * w, gpointer win) {
+ TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
+ trg_state_selector_set_show_trackers(priv->stateSelector,
+ gtk_check_menu_item_get_active(w));
+}
+
static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) {
GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause;
GObject *b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs;
@@ -503,8 +514,6 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) {
g_signal_connect(b_props, "clicked", G_CALLBACK(open_props_cb), win);
g_signal_connect(b_local_prefs, "clicked",
G_CALLBACK(open_local_prefs_cb), win);
- g_signal_connect(b_remote_prefs, "clicked",
- G_CALLBACK(open_remote_prefs_cb), win);
return toolBar;
}
@@ -1125,14 +1134,16 @@ static void quit_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) {
}
static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
+ TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win);
+
GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause, *b_verify,
*b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs,
*b_about, *b_view_states, *b_view_notebook, *b_view_stats,
*b_add_url, *b_quit, *b_move, *b_reannounce, *b_pause_all,
- *b_resume_all;
+ *b_resume_all, *b_dir_filters, *b_tracker_filters;
TrgMenuBar *menuBar;
- menuBar = trg_menu_bar_new(win);
+ menuBar = trg_menu_bar_new(trg_client_get_prefs(priv->client));
g_object_get(menuBar, "connect-button", &b_connect, "disconnect-button",
&b_disconnect, "add-button", &b_add, "add-url-button", &b_add_url,
"resume-button", &b_resume, "resume-all-button", &b_resume_all,
@@ -1144,6 +1155,7 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
&b_local_prefs, "view-notebook-button", &b_view_notebook,
"view-states-button", &b_view_states, "view-stats-button",
&b_view_stats, "about-button", &b_about, "quit-button", &b_quit,
+ "dir-filters", &b_dir_filters, "tracker-filters", &b_tracker_filters,
NULL);
g_signal_connect(b_connect, "activate", G_CALLBACK(connect_cb), win);
@@ -1171,7 +1183,13 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) {
g_signal_connect(b_view_notebook, "toggled",
G_CALLBACK(view_notebook_toggled_cb), win);
g_signal_connect(b_view_states, "toggled",
+ G_CALLBACK(view_notebook_toggled_cb), win);
+ g_signal_connect(b_view_states, "toggled",
G_CALLBACK(view_states_toggled_cb), win);
+ g_signal_connect(b_dir_filters, "toggled",
+ G_CALLBACK(main_window_toggle_filter_dirs), win);
+ g_signal_connect(b_tracker_filters, "toggled",
+ G_CALLBACK(main_window_toggle_filter_trackers), win);
g_signal_connect(b_view_stats, "activate",
G_CALLBACK(view_stats_toggled_cb), win);
g_signal_connect(b_props, "activate", G_CALLBACK(open_props_cb), win);
@@ -1708,8 +1726,6 @@ static GObject *trg_main_window_constructor(GType type,
g_signal_connect(priv->client, "session-updated",
G_CALLBACK(trg_client_session_updated_cb), priv->statusBar);
- /*g_signal_connect(priv->statusBar, "text-pushed",
- G_CALLBACK(status_bar_text_pushed), self);*/
gtk_box_pack_start(GTK_BOX(outerVbox), GTK_WIDGET(priv->statusBar), FALSE,
FALSE, 2);
@@ -1721,6 +1737,13 @@ static GObject *trg_main_window_constructor(GType type,
if (width > 0 && height > 0)
gtk_window_set_default_size(GTK_WINDOW(self), width, height);
+ gtk_widget_show_all(GTK_WIDGET(self));
+
+ trg_widget_set_visible(priv->stateSelectorScroller,
+ trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_STATE_SELECTOR, TRG_PREFS_GLOBAL));
+ trg_widget_set_visible(priv->notebook,
+ trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SHOW_NOTEBOOK, TRG_PREFS_GLOBAL));
+
return G_OBJECT(self);
}
diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c
index 7efa149..6d73df4 100644
--- a/src/trg-menu-bar.c
+++ b/src/trg-menu-bar.c
@@ -19,6 +19,7 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
+
#include "trg-main-window.h"
#include "trg-menu-bar.h"
@@ -44,7 +45,10 @@ enum {
PROP_VIEW_STATS_BUTTON,
PROP_VIEW_STATES_BUTTON,
PROP_VIEW_NOTEBOOK_BUTTON,
- PROP_QUIT
+ PROP_QUIT,
+ PROP_PREFS,
+ PROP_DIR_FILTERS,
+ PROP_TRACKER_FILTERS
};
G_DEFINE_TYPE(TrgMenuBar, trg_menu_bar, GTK_TYPE_MENU_BAR)
@@ -74,6 +78,9 @@ struct _TrgMenuBarPrivate {
GtkWidget *mb_view_stats;
GtkWidget *mb_about;
GtkWidget *mb_quit;
+ GtkWidget *mb_directory_filters;
+ GtkWidget *mb_tracker_filters;
+ TrgPrefs *prefs;
};
void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected)
@@ -105,6 +112,17 @@ void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb,
gtk_widget_set_sensitive(priv->mb_move, sensitive);
}
+static void trg_menu_bar_set_property(GObject * object,
+ guint prop_id, const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
+ TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(object);
+
+ switch (prop_id) {
+ case PROP_PREFS:
+ priv->prefs = g_value_get_object(value);
+ break;
+ }
+}
+
static void
trg_menu_bar_get_property(GObject * object, guint property_id,
GValue * value, GParamSpec * pspec)
@@ -174,6 +192,15 @@ trg_menu_bar_get_property(GObject * object, guint property_id,
case PROP_QUIT:
g_value_set_object(value, priv->mb_quit);
break;
+ case PROP_PREFS:
+ g_value_set_object(value, priv->prefs);
+ break;
+ case PROP_DIR_FILTERS:
+ g_value_set_object(value, priv->mb_directory_filters);
+ break;
+ case PROP_TRACKER_FILTERS:
+ g_value_set_object(value, priv->mb_tracker_filters);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
}
@@ -215,29 +242,66 @@ GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, char *text,
return item;
}
-static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBarPrivate * priv)
+static void view_menu_item_toggled_cb(GtkCheckMenuItem * w, gpointer data)
{
+ TrgPrefs *p = TRG_PREFS(data);
+ gchar *key = (gchar*)g_object_get_data(G_OBJECT(w), "conf-key");
+ trg_prefs_set_bool(p, key, gtk_check_menu_item_get_active(w), TRG_PREFS_GLOBAL);
+}
+
+static void view_menu_bar_toggled_dependency_cb(GtkCheckMenuItem *w, gpointer data)
+{
+ gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(w)));
+}
+
+static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs *prefs, gchar *key,
+ gchar *label, GtkWidget *dependency)
+{
+ GtkWidget *w = gtk_check_menu_item_new_with_label(label);
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
+ (w), trg_prefs_get_bool(prefs, key, TRG_PREFS_GLOBAL));
+ g_object_set_data_full(G_OBJECT(w), "conf-key", g_strdup(key),
+ g_free);
+
+ if (dependency) {
+ gtk_widget_set_sensitive(w, gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(dependency)));
+ g_signal_connect(dependency, "toggled",
+ G_CALLBACK(view_menu_bar_toggled_dependency_cb), w);
+ }
+
+ g_signal_connect(w, "toggled",
+ G_CALLBACK(view_menu_item_toggled_cb), prefs);
+
+ return w;
+}
+
+static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb)
+{
+ TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb);
+
GtkWidget *view = gtk_menu_item_new_with_mnemonic(_("_View"));
GtkWidget *viewMenu = gtk_menu_new();
gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), viewMenu);
- priv->mb_view_states =
- gtk_check_menu_item_new_with_label(_("State selector"));
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
- (priv->mb_view_states), TRUE);
+ priv->mb_view_states = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_STATE_SELECTOR, _("State selector"), NULL);
+ gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states);
- priv->mb_view_notebook =
- gtk_check_menu_item_new_with_mnemonic(_("Torrent _details"));
- gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM
- (priv->mb_view_notebook), TRUE);
+ priv->mb_directory_filters = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS, _("Directory filters"), priv->mb_view_states);
+ gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
+ priv->mb_directory_filters);
- priv->mb_view_stats =
- gtk_menu_item_new_with_mnemonic(_("_Statistics"));
- gtk_widget_set_sensitive(priv->mb_view_stats, FALSE);
+ priv->mb_tracker_filters = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_FILTER_TRACKERS, _("Tracker filters"), priv->mb_view_states);
+ gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
+ priv->mb_tracker_filters);
- gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_states);
+ priv->mb_view_notebook = trg_menu_bar_view_item_new(priv->prefs, TRG_PREFS_KEY_SHOW_NOTEBOOK, _("Torrent details"), NULL);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu),
priv->mb_view_notebook);
+
+
+ priv->mb_view_stats =
+ gtk_menu_item_new_with_mnemonic(_("_Statistics"));
+ gtk_widget_set_sensitive(priv->mb_view_stats, FALSE);
gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_stats);
return view;
@@ -355,10 +419,35 @@ GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar)
return helpMenu;
}
+static GObject *trg_menu_bar_constructor(GType type,
+ guint n_construct_properties, GObjectConstructParam * construct_params) {
+ GObject *object;
+ TrgMenuBarPrivate *priv;
+
+ object = G_OBJECT_CLASS
+ (trg_menu_bar_parent_class)->constructor(type,
+ n_construct_properties, construct_params);
+ priv = TRG_MENU_BAR_GET_PRIVATE(object);
+
+ gtk_menu_shell_append(GTK_MENU_SHELL(object),
+ trg_menu_bar_file_file_menu_new(priv));
+ gtk_menu_shell_append(GTK_MENU_SHELL(object),
+ trg_menu_bar_torrent_menu_new(priv));
+ gtk_menu_shell_append(GTK_MENU_SHELL(object),
+ trg_menu_bar_options_menu_new(priv));
+ gtk_menu_shell_append(GTK_MENU_SHELL(object),
+ trg_menu_bar_view_menu_new(TRG_MENU_BAR(object)));
+ trg_menu_bar_help_menu_new(TRG_MENU_BAR(object));
+
+ return object;
+}
+
static void trg_menu_bar_class_init(TrgMenuBarClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->get_property = trg_menu_bar_get_property;
+ object_class->set_property = trg_menu_bar_set_property;
+ object_class->constructor = trg_menu_bar_constructor;
g_type_class_add_private(klass, sizeof(TrgMenuBarPrivate));
@@ -416,25 +505,32 @@ static void trg_menu_bar_class_init(TrgMenuBarClass * klass)
"Local Prefs Button");
trg_menu_bar_install_widget_prop(object_class, PROP_QUIT,
"quit-button", "Quit Button");
+ trg_menu_bar_install_widget_prop(object_class, PROP_DIR_FILTERS,
+ "dir-filters", "Dir Filters");
+ trg_menu_bar_install_widget_prop(object_class, PROP_TRACKER_FILTERS,
+ "tracker-filters", "Tracker Filters");
+
+
+ g_object_class_install_property(object_class,
+ PROP_PREFS,
+ g_param_spec_object("prefs",
+ "prefs",
+ "Prefs",
+ TRG_TYPE_PREFS,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY
+ |
+ G_PARAM_STATIC_NAME
+ |
+ G_PARAM_STATIC_NICK
+ |
+ G_PARAM_STATIC_BLURB));
}
static void trg_menu_bar_init(TrgMenuBar * self)
{
- TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(self);
-
- gtk_menu_shell_append(GTK_MENU_SHELL(self),
- trg_menu_bar_file_file_menu_new(priv));
- gtk_menu_shell_append(GTK_MENU_SHELL(self),
- trg_menu_bar_torrent_menu_new(priv));
- gtk_menu_shell_append(GTK_MENU_SHELL(self),
- trg_menu_bar_options_menu_new(priv));
- gtk_menu_shell_append(GTK_MENU_SHELL(self),
- trg_menu_bar_view_menu_new(priv));
- trg_menu_bar_help_menu_new(TRG_MENU_BAR(self));
}
-TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win G_GNUC_UNUSED)
+TrgMenuBar *trg_menu_bar_new(TrgPrefs *prefs)
{
- GObject *obj = g_object_new(TRG_TYPE_MENU_BAR, NULL);
- return TRG_MENU_BAR(obj);
+ return g_object_new(TRG_TYPE_MENU_BAR, "prefs", prefs, NULL);
}
diff --git a/src/trg-menu-bar.h b/src/trg-menu-bar.h
index cc148be..1f9fe29 100644
--- a/src/trg-menu-bar.h
+++ b/src/trg-menu-bar.h
@@ -23,6 +23,7 @@
#include <glib-object.h>
#include <gtk/gtk.h>
+#include "trg-prefs.h"
#include "trg-main-window.h"
G_BEGIN_DECLS
@@ -47,7 +48,7 @@ typedef struct {
GType trg_menu_bar_get_type(void);
-TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win);
+TrgMenuBar *trg_menu_bar_new(TrgPrefs * prefs);
GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, char *text,
char *stock_id, gboolean sensitive);
diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c
index aa2f18b..fd9add2 100644
--- a/src/trg-preferences-dialog.c
+++ b/src/trg-preferences-dialog.c
@@ -274,12 +274,6 @@ static void toggle_filter_trackers(GtkToggleButton * w, gpointer win) {
gtk_toggle_button_get_active(w));
}
-static void toggle_filter_dirs(GtkToggleButton * w, gpointer win) {
- TrgStateSelector *selector = trg_main_window_get_state_selector(
- TRG_MAIN_WINDOW(win));
- trg_state_selector_set_show_dirs(selector, gtk_toggle_button_get_active(w));
-}
-
static void toggle_graph(GtkToggleButton * w, gpointer win) {
if (gtk_toggle_button_get_active(w))
trg_main_window_add_graph(TRG_MAIN_WINDOW(win), TRUE);
@@ -294,6 +288,12 @@ static void toggle_tray_icon(GtkToggleButton * w, gpointer win) {
trg_main_window_remove_status_icon(TRG_MAIN_WINDOW(win));
}
+static void menu_bar_toggle_filter_dirs(GtkToggleButton * w, gpointer win) {
+ TrgStateSelector *selector = trg_main_window_get_state_selector(
+ TRG_MAIN_WINDOW(win));
+ trg_state_selector_set_show_dirs(selector, gtk_toggle_button_get_active(w));
+}
+
static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog *dlg) {
TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg);
@@ -307,7 +307,7 @@ static GtkWidget *trg_prefs_desktopPage(TrgPreferencesDialog *dlg) {
w = trgp_check_new(dlg, _("Directory filters"), TRG_PREFS_KEY_FILTER_DIRS,
TRG_PREFS_GLOBAL);
g_signal_connect(G_OBJECT(w), "toggled",
- G_CALLBACK(toggle_filter_dirs), priv->win);
+ G_CALLBACK(menu_bar_toggle_filter_dirs), priv->win);
hig_workarea_add_wide_control(t, &row, w);
w = trgp_check_new(dlg, _("Tracker filters"),
diff --git a/src/trg-prefs.c b/src/trg-prefs.c
index 9a507b1..7ea742f 100644
--- a/src/trg-prefs.c
+++ b/src/trg-prefs.c
@@ -73,12 +73,12 @@ static void trg_prefs_create_defaults(TrgPrefs *p) {
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_bool(p, TRG_PREFS_KEY_FILTER_DIRS, TRUE);
- trg_prefs_add_default_bool(p, TRG_PREFS_KEY_FILTER_TRACKERS, TRUE);
- trg_prefs_add_default_bool(p, TRG_PREFS_KEY_AUTO_CONNECT, FALSE);
- trg_prefs_add_default_bool(p, TRG_PREFS_KEY_SHOW_GRAPH, TRUE);
- trg_prefs_add_default_bool(p, TRG_PREFS_KEY_SHOW_GRAPH, TRUE);
- trg_prefs_add_default_bool(p, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG, TRUE);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_FILTER_DIRS);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_FILTER_TRACKERS);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_SHOW_GRAPH);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_ADD_OPTIONS_DIALOG);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_SHOW_STATE_SELECTOR);
+ trg_prefs_add_default_bool_true(p, TRG_PREFS_KEY_SHOW_NOTEBOOK);
}
static GObject *trg_prefs_constructor(GType type, guint n_construct_properties,
@@ -138,9 +138,10 @@ void trg_prefs_add_default_double(TrgPrefs *p, gchar *key, double value) {
json_object_set_double_member(priv->defaultsObj, key, value);
}
-void trg_prefs_add_default_bool(TrgPrefs *p, gchar *key, gboolean value) {
+/* Not much point adding a default of FALSE, as that's the fallback */
+void trg_prefs_add_default_bool_true(TrgPrefs *p, gchar *key) {
TrgPrefsPrivate *priv = GET_PRIVATE(p);
- json_object_set_boolean_member(priv->defaultsObj, key, value);
+ json_object_set_boolean_member(priv->defaultsObj, key, TRUE);
}
gint trg_prefs_get_profile_id(TrgPrefs *p) {
@@ -171,9 +172,8 @@ JsonNode *trg_prefs_get_value(TrgPrefs *p, gchar *key, int flags) {
}
}
- if (priv->defaultsObj && json_object_has_member(priv->defaultsObj, key)) {
+ if (priv->defaultsObj && json_object_has_member(priv->defaultsObj, key))
return json_object_get_member(priv->defaultsObj, key);
- }
return NULL;
}
diff --git a/src/trg-prefs.h b/src/trg-prefs.h
index af4a2ca..dc01daf 100644
--- a/src/trg-prefs.h
+++ b/src/trg-prefs.h
@@ -51,6 +51,8 @@
#define TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE "system-tray-minimise"
#define TRG_PREFS_KEY_FILTER_TRACKERS "filter-trackers"
#define TRG_PREFS_KEY_FILTER_DIRS "filter-dirs"
+#define TRG_PREFS_KEY_SHOW_STATE_SELECTOR "show-state-selector"
+#define TRG_PREFS_KEY_SHOW_NOTEBOOK "show-notebook"
#define TRG_PREFS_KEY_LAST_TORRENT_DIR "last-torrent-dir"
#define TRG_PREFS_KEY_ADD_OPTIONS_DIALOG "add-options-dialog"
#define TRG_PREFS_KEY_START_PAUSED "start-paused"
@@ -102,7 +104,7 @@ TrgPrefs* trg_prefs_new (void);
void trg_prefs_add_default_int(TrgPrefs *p, gchar *key, int value);
void trg_prefs_add_default_string(TrgPrefs *p, gchar *key, gchar *value);
void trg_prefs_add_default_double(TrgPrefs *p, gchar *key, double value);
-void trg_prefs_add_default_bool(TrgPrefs *p, gchar *key, gboolean value);
+void trg_prefs_add_default_bool_true(TrgPrefs *p, gchar *key);
JsonNode *trg_prefs_get_value(TrgPrefs *p, gchar *key, int flags);
gchar *trg_prefs_get_string(TrgPrefs *p, gchar *key, int flags);
diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c
index e3718c7..d02b4e6 100644
--- a/src/trg-torrent-add-dialog.c
+++ b/src/trg-torrent-add-dialog.c
@@ -174,7 +174,7 @@ void launch_add_thread(struct add_torrent_threadfunc_args *args)
g_thread_create(add_files_threadfunc, args, FALSE, &error);
if (error) {
- g_printf("thread creation error: %s\n", error->message);
+ g_error("thread creation error: %s\n", error->message);
g_error_free(error);
g_str_slist_free(args->list);
g_free(args);