summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/trg-destination-combo.c2
-rw-r--r--src/trg-destination-combo.h2
-rw-r--r--src/trg-files-tree-view.c2
-rw-r--r--src/trg-main-window.c11
-rw-r--r--src/trg-peers-tree-view.c3
-rw-r--r--src/trg-torrent-add-dialog.c4
-rw-r--r--src/trg-torrent-props-dialog.c6
-rw-r--r--src/trg-torrent-tree-view.c1
-rw-r--r--src/trg-trackers-tree-view.c2
-rw-r--r--src/trg-tree-view.c54
-rw-r--r--src/trg-tree-view.h1
-rw-r--r--src/util.c3
12 files changed, 74 insertions, 17 deletions
diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c
index 87ce934..9dc4b87 100644
--- a/src/trg-destination-combo.c
+++ b/src/trg-destination-combo.c
@@ -1,6 +1,6 @@
/*
* transmission-remote-gtk - Transmission RPC client for GTK
- * Copyright (C) 2010 Alan Fitton
+ * Copyright (C) 2011 Alan Fitton
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/trg-destination-combo.h b/src/trg-destination-combo.h
index d93300d..17ecc84 100644
--- a/src/trg-destination-combo.h
+++ b/src/trg-destination-combo.h
@@ -1,6 +1,6 @@
/*
* transmission-remote-gtk - Transmission RPC client for GTK
- * Copyright (C) 2010 Alan Fitton
+ * Copyright (C) 2011 Alan Fitton
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c
index 432c5b8..11c535c 100644
--- a/src/trg-files-tree-view.c
+++ b/src/trg-files-tree-view.c
@@ -321,5 +321,7 @@ TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model,
priv->client = client;
priv->win = win;
+ trg_tree_view_restore_sort(TRG_TREE_VIEW(obj));
+
return TRG_FILES_TREE_VIEW(obj);
}
diff --git a/src/trg-main-window.c b/src/trg-main-window.c
index 2975614..8236914 100644
--- a/src/trg-main-window.c
+++ b/src/trg-main-window.c
@@ -346,6 +346,11 @@ static gboolean delete_event(GtkWidget * w,
GdkEvent * event G_GNUC_UNUSED,
gpointer data G_GNUC_UNUSED)
{
+ return FALSE;
+}
+
+static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED)
+{
TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(w);
int width, height;
gtk_window_get_size(GTK_WINDOW(w), &width, &height);
@@ -358,12 +363,6 @@ static gboolean delete_event(GtkWidget * w,
trg_tree_view_persist(TRG_TREE_VIEW(priv->torrentTreeView));
trg_tree_view_persist(TRG_TREE_VIEW(priv->trackersTreeView));
- return FALSE;
-}
-
-static void
-destroy_window(GtkWidget * w G_GNUC_UNUSED, gpointer data G_GNUC_UNUSED)
-{
gtk_main_quit();
}
diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c
index 8d160d1..f1f09a9 100644
--- a/src/trg-peers-tree-view.c
+++ b/src/trg-peers-tree-view.c
@@ -14,7 +14,7 @@
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Streef, Fifth Floor, Boston, MA 02110-1301 USA.
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifdef HAVE_CONFIG_H
@@ -77,6 +77,7 @@ TrgPeersTreeView *trg_peers_tree_view_new(TrgPeersModel * model)
GObject *obj = g_object_new(TRG_TYPE_PEERS_TREE_VIEW, NULL);
gtk_tree_view_set_model(GTK_TREE_VIEW(obj), GTK_TREE_MODEL(model));
+ trg_tree_view_restore_sort(TRG_TREE_VIEW(obj));
return TRG_PEERS_TREE_VIEW(obj);
}
diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c
index 4282cc7..f6f17e6 100644
--- a/src/trg-torrent-add-dialog.c
+++ b/src/trg-torrent-add-dialog.c
@@ -836,8 +836,8 @@ 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));
+ pref_get_start_paused(priv->
+ client->gconf));
priv->priority_combo = gtr_priority_combo_new();
gtk_combo_box_set_active(GTK_COMBO_BOX(priv->priority_combo), 1);
diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c
index d50bd89..9b82297 100644
--- a/src/trg-torrent-props-dialog.c
+++ b/src/trg-torrent-props-dialog.c
@@ -139,10 +139,12 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id,
(priv->seedRatioLimit), args);
json_object_set_int_member(args, FIELD_SEED_RATIO_MODE,
gtk_combo_box_get_active(GTK_COMBO_BOX
- (priv->seedRatioMode)));
+ (priv->
+ seedRatioMode)));
json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY,
gtk_combo_box_get_active(GTK_COMBO_BOX
- (priv->bandwidthPriorityCombo))
+ (priv->
+ bandwidthPriorityCombo))
- 1);
gtk_spin_button_json_int_out(GTK_SPIN_BUTTON
diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c
index ad63597..bd5b860 100644
--- a/src/trg-torrent-tree-view.c
+++ b/src/trg-torrent-tree-view.c
@@ -123,6 +123,7 @@ TrgTorrentTreeView *trg_torrent_tree_view_new(GtkTreeModel * model)
GObject *obj = g_object_new(TRG_TYPE_TORRENT_TREE_VIEW, NULL);
gtk_tree_view_set_model(GTK_TREE_VIEW(obj), model);
+ trg_tree_view_restore_sort(TRG_TREE_VIEW(obj));
return TRG_TORRENT_TREE_VIEW(obj);
}
diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c
index a543078..8733bec 100644
--- a/src/trg-trackers-tree-view.c
+++ b/src/trg-trackers-tree-view.c
@@ -354,5 +354,7 @@ TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model,
priv->client = client;
priv->win = win;
+ trg_tree_view_restore_sort(TRG_TREE_VIEW(obj));
+
return TRG_TRACKERS_TREE_VIEW(obj);
}
diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c
index 0bf9f5b..cd1f709 100644
--- a/src/trg-tree-view.c
+++ b/src/trg-tree-view.c
@@ -321,14 +321,18 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv,
void trg_tree_view_persist(TrgTreeView * tv)
{
GConfClient *gcc = gconf_client_get_default();
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv));
GList *cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(tv));
gint n_cols = g_list_length(cols);
+ gint sort_column_id;
+ GtkSortType sort_type;
+ const gchar *tree_view_name = G_OBJECT_TYPE_NAME(tv);
gchar *cols_key =
g_strdup_printf("/apps/transmission-remote-gtk/%s-columns",
- G_OBJECT_TYPE_NAME(tv));
+ tree_view_name);
gchar *widths_key =
g_strdup_printf("/apps/transmission-remote-gtk/%s-widths",
- G_OBJECT_TYPE_NAME(tv));
+ tree_view_name);
gchar **cols_v = g_new0(gchar *, n_cols + 1);
gchar **widths_v = g_new0(gchar *, n_cols + 1);
gchar *widths_js, *cols_js;
@@ -348,6 +352,20 @@ void trg_tree_view_persist(TrgTreeView * tv)
widths_js = g_strjoinv(",", widths_v);
cols_js = g_strjoinv(",", cols_v);
+ if (gtk_tree_sortable_get_sort_column_id
+ (GTK_TREE_SORTABLE(model), &sort_column_id, &sort_type)) {
+ gchar *sort_col_key =
+ g_strdup_printf("/apps/transmission-remote-gtk/%s-sort_col",
+ tree_view_name);
+ gchar *sort_type_key =
+ g_strdup_printf("/apps/transmission-remote-gtk/%s-sort_type",
+ tree_view_name);
+ gconf_client_set_int(gcc, sort_col_key, sort_column_id, NULL);
+ gconf_client_set_int(gcc, sort_type_key, (gint) sort_type, NULL);
+ g_free(sort_type_key);
+ g_free(sort_col_key);
+ }
+
gconf_client_set_string(gcc, cols_key, cols_js, NULL);
gconf_client_set_string(gcc, widths_key, widths_js, NULL);
@@ -361,6 +379,38 @@ void trg_tree_view_persist(TrgTreeView * tv)
g_object_unref(gcc);
}
+void trg_tree_view_restore_sort(TrgTreeView * tv)
+{
+ GConfClient *gcc = gconf_client_get_default();
+ GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv));
+ gchar *sort_col_key =
+ g_strdup_printf("/apps/transmission-remote-gtk/%s-sort_col",
+ G_OBJECT_TYPE_NAME(tv));
+ gchar *sort_type_key =
+ g_strdup_printf("/apps/transmission-remote-gtk/%s-sort_type",
+ G_OBJECT_TYPE_NAME(tv));
+ GConfValue *sort_col_gv =
+ gconf_client_get_without_default(gcc, sort_col_key, NULL);
+ GConfValue *sort_type_gv =
+ gconf_client_get_without_default(gcc, sort_type_key, NULL);
+ if (sort_col_gv) {
+ gint sort_col_value = gconf_value_get_int(sort_col_gv);
+ GtkSortType sort_type_value = GTK_SORT_ASCENDING;
+ if (sort_type_gv) {
+ sort_type_value =
+ (GtkSortType) gconf_value_get_int(sort_type_gv);
+ gconf_value_free(sort_type_gv);
+ }
+ gconf_value_free(sort_col_gv);
+ gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(model),
+ sort_col_value,
+ sort_type_value);
+ }
+ g_free(sort_col_key);
+ g_free(sort_type_key);
+ g_object_unref(gcc);
+}
+
void trg_tree_view_setup_columns(TrgTreeView * tv)
{
TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv);
diff --git a/src/trg-tree-view.h b/src/trg-tree-view.h
index 8418ae2..3b73a2f 100644
--- a/src/trg-tree-view.h
+++ b/src/trg-tree-view.h
@@ -85,5 +85,6 @@ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv,
gchar * id, gint flags);
void trg_tree_view_setup_columns(TrgTreeView * tv);
void trg_tree_view_persist(TrgTreeView * tv);
+void trg_tree_view_restore_sort(TrgTreeView * tv);
#endif /* _TRG_TREE_VIEW_H_ */
diff --git a/src/util.c b/src/util.c
index 9614855..abb7e26 100644
--- a/src/util.c
+++ b/src/util.c
@@ -34,7 +34,6 @@
#include "util.h"
#include "dispatch.h"
-#include "trg-client.h"
void add_file_id_to_array(JsonObject * args, gchar * key, gint index)
{
@@ -182,7 +181,7 @@ char *tr_strratio(char *buf, size_t buflen, double ratio,
const char *infinity)
{
if ((int) ratio == TR_RATIO_NA)
- tr_strlcpy(buf, "None", buflen);
+ tr_strlcpy(buf, _("None"), buflen);
else if ((int) ratio == TR_RATIO_INF)
tr_strlcpy(buf, infinity, buflen);
else if (ratio < 10.0)