diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/trg-destination-combo.c | 2 | ||||
-rw-r--r-- | src/trg-destination-combo.h | 2 | ||||
-rw-r--r-- | src/trg-files-tree-view.c | 2 | ||||
-rw-r--r-- | src/trg-main-window.c | 11 | ||||
-rw-r--r-- | src/trg-peers-tree-view.c | 3 | ||||
-rw-r--r-- | src/trg-torrent-add-dialog.c | 4 | ||||
-rw-r--r-- | src/trg-torrent-props-dialog.c | 6 | ||||
-rw-r--r-- | src/trg-torrent-tree-view.c | 1 | ||||
-rw-r--r-- | src/trg-trackers-tree-view.c | 2 | ||||
-rw-r--r-- | src/trg-tree-view.c | 54 | ||||
-rw-r--r-- | src/trg-tree-view.h | 1 | ||||
-rw-r--r-- | src/util.c | 3 |
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_ */ @@ -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) |