summaryrefslogtreecommitdiff
path: root/src/trg-state-selector.c
diff options
context:
space:
mode:
authorGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-08 12:47:02 +0000
committerGravatar Alan Fitton <ajf@eth0.org.uk>2011-09-08 12:47:02 +0000
commit9d4f57555411c56b3fa8daf5b072eeca82b7a666 (patch)
tree0e95becd8923bd6a02539c147e00f6d687a488dd /src/trg-state-selector.c
parent859d493ec2cb0360b648ccf1d9b22ca1dafadc20 (diff)
issue 59 - add first tracker column.
Diffstat (limited to 'src/trg-state-selector.c')
-rw-r--r--src/trg-state-selector.c303
1 files changed, 125 insertions, 178 deletions
diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c
index 199598e..8b324f1 100644
--- a/src/trg-state-selector.c
+++ b/src/trg-state-selector.c
@@ -30,15 +30,13 @@
#include "trg-client.h"
enum {
- SELECTOR_STATE_CHANGED,
- SELECTOR_SIGNAL_COUNT
+ SELECTOR_STATE_CHANGED, SELECTOR_SIGNAL_COUNT
};
enum {
PROP_0, PROP_CLIENT
};
-
#define N_CATEGORIES 12
static guint signals[SELECTOR_SIGNAL_COUNT] = { 0 };
@@ -59,21 +57,17 @@ struct _TrgStateSelectorPrivate {
GRegex *urlHostRegex;
};
-GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s)
-{
+GRegex *trg_state_selector_get_url_host_regex(TrgStateSelector * s) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
return priv->urlHostRegex;
}
-guint32 trg_state_selector_get_flag(TrgStateSelector * s)
-{
+guint32 trg_state_selector_get_flag(TrgStateSelector * s) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
return priv->flag;
}
-static void state_selection_changed(GtkTreeSelection * selection,
- gpointer data)
-{
+static void state_selection_changed(GtkTreeSelection * selection, gpointer data) {
TrgStateSelectorPrivate *priv;
GtkTreeIter iter;
GtkTreeView *tv;
@@ -86,20 +80,20 @@ static void state_selection_changed(GtkTreeSelection * selection,
stateModel = gtk_tree_view_get_model(tv);
if (gtk_tree_selection_get_selected(selection, &stateModel, &iter))
- gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT,
- &priv->flag, STATE_SELECTOR_INDEX, &index, -1);
+ gtk_tree_model_get(stateModel, &iter, STATE_SELECTOR_BIT, &priv->flag,
+ STATE_SELECTOR_INDEX, &index, -1);
else
priv->flag = 0;
- trg_prefs_set_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, index, TRG_PREFS_GLOBAL);
+ trg_prefs_set_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, index,
+ TRG_PREFS_GLOBAL);
- g_signal_emit(TRG_STATE_SELECTOR(data),
- signals[SELECTOR_STATE_CHANGED], 0, priv->flag);
+ g_signal_emit(TRG_STATE_SELECTOR(data), signals[SELECTOR_STATE_CHANGED], 0,
+ priv->flag);
}
static GtkTreeRowReference *quick_tree_ref_new(GtkTreeModel * model,
- GtkTreeIter * iter)
-{
+ GtkTreeIter * iter) {
GtkTreePath *path = gtk_tree_model_get_path(model, iter);
GtkTreeRowReference *rr = gtk_tree_row_reference_new(model, path);
gtk_tree_path_free(path);
@@ -111,10 +105,8 @@ struct cruft_remove_args {
gint64 serial;
};
-static gboolean trg_state_selector_remove_cruft(gpointer key,
- gpointer value,
- gpointer data)
-{
+static gboolean trg_state_selector_remove_cruft(gpointer key, gpointer value,
+ gpointer data) {
struct cruft_remove_args *args = (struct cruft_remove_args *) data;
GtkTreeRowReference *rr = (GtkTreeRowReference *) value;
GtkTreeModel *model = gtk_tree_row_reference_get_model(rr);
@@ -125,8 +117,7 @@ static gboolean trg_state_selector_remove_cruft(gpointer key,
gint64 currentSerial;
gtk_tree_model_get_iter(model, &iter, path);
- gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, &currentSerial,
- -1);
+ gtk_tree_model_get(model, &iter, STATE_SELECTOR_SERIAL, &currentSerial, -1);
remove = (args->serial != currentSerial);
@@ -135,8 +126,7 @@ static gboolean trg_state_selector_remove_cruft(gpointer key,
return remove;
}
-gchar *trg_state_selector_get_selected_text(TrgStateSelector * s)
-{
+gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) {
GtkTreeSelection *sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(s));
GtkTreeModel *model;
GtkTreeIter iter;
@@ -149,26 +139,21 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s)
}
static void trg_state_selector_update_serial(GtkTreeModel * model,
- GtkTreeRowReference * rr,
- gint64 serial)
-{
+ GtkTreeRowReference * rr, gint64 serial) {
GtkTreeIter iter;
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
gtk_tree_model_get_iter(model, &iter, path);
- gtk_list_store_set(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_SERIAL, serial, -1);
+ gtk_list_store_set(GTK_LIST_STORE(model), &iter, STATE_SELECTOR_SERIAL,
+ serial, -1);
gtk_tree_path_free(path);
}
-static void refresh_statelist_cb(GtkWidget * w, gpointer data)
-{
+static void refresh_statelist_cb(GtkWidget * w, gpointer data) {
trg_state_selector_update(TRG_STATE_SELECTOR(data));
}
-static void
-view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
- gpointer data G_GNUC_UNUSED)
-{
+static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
+ gpointer data G_GNUC_UNUSED) {
GtkWidget *menu, *item;
menu = gtk_menu_new();
@@ -176,28 +161,25 @@ view_popup_menu(GtkWidget * treeview, GdkEventButton * event,
item = gtk_image_menu_item_new_with_label(GTK_STOCK_REFRESH);
gtk_image_menu_item_set_use_stock(GTK_IMAGE_MENU_ITEM(item), TRUE);
gtk_image_menu_item_set_always_show_image(GTK_IMAGE_MENU_ITEM
- (item), TRUE);
+ (item), TRUE);
g_signal_connect(item, "activate", G_CALLBACK(refresh_statelist_cb),
- treeview);
+ treeview);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
gtk_widget_show_all(menu);
gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL,
- (event != NULL) ? event->button : 0,
- gdk_event_get_time((GdkEvent *) event));
+ (event != NULL) ? event->button : 0,
+ gdk_event_get_time((GdkEvent *) event));
}
-static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata)
-{
+static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer userdata) {
view_popup_menu(treeview, NULL, userdata);
return TRUE;
}
-static gboolean
-view_onButtonPressed(GtkWidget * treeview, GdkEventButton * event,
- gpointer userdata)
-{
+static gboolean view_onButtonPressed(GtkWidget * treeview,
+ GdkEventButton * event, gpointer userdata) {
if (event->type == GDK_BUTTON_PRESS && event->button == 3) {
view_popup_menu(treeview, event, userdata);
return TRUE;
@@ -214,9 +196,8 @@ struct state_find_pos {
};
static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel *model,
- GtkTreePath *path, GtkTreeIter *iter, gpointer data)
-{
- struct state_find_pos *args = (struct state_find_pos*)data;
+ GtkTreePath *path, GtkTreeIter *iter, gpointer data) {
+ struct state_find_pos *args = (struct state_find_pos*) data;
gchar *name;
gboolean res;
@@ -237,9 +218,8 @@ static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel *model,
return res;
}
-static void trg_state_selector_insert(TrgStateSelector *s,
- int offset, gint range, const gchar *name, GtkTreeIter *iter)
-{
+static void trg_state_selector_insert(TrgStateSelector *s, int offset,
+ gint range, const gchar *name, GtkTreeIter *iter) {
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s));
struct state_find_pos args;
@@ -249,16 +229,16 @@ static void trg_state_selector_insert(TrgStateSelector *s,
args.name = name;
gtk_tree_model_foreach(model, trg_state_selector_find_pos_foreach, &args);
- gtk_list_store_insert (GTK_LIST_STORE(model), iter, args.pos);
+ gtk_list_store_insert(GTK_LIST_STORE(model), iter, args.pos);
}
-void trg_state_selector_update(TrgStateSelector * s)
-{
+void trg_state_selector_update(TrgStateSelector * s) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(s));
TrgClient *client = priv->client;
gint64 updateSerial = trg_client_get_serial(client);
- GList *torrentItemRefs = g_hash_table_get_values(trg_client_get_torrent_table(client));
+ GList *torrentItemRefs = g_hash_table_get_values(
+ trg_client_get_torrent_table(client));
GtkTreeIter iter;
GList *trackersList, *trackerItem, *li;
GtkTreeRowReference *rr;
@@ -279,8 +259,8 @@ void trg_state_selector_update(TrgStateSelector * s)
if (path) {
GtkTreeIter iter;
if (gtk_tree_model_get_iter(torrentModel, &iter, path)) {
- gtk_tree_model_get(torrentModel, &iter,
- TORRENT_COLUMN_JSON, &t, -1);
+ gtk_tree_model_get(torrentModel, &iter, TORRENT_COLUMN_JSON,
+ &t, -1);
}
gtk_tree_path_free(path);
}
@@ -289,15 +269,15 @@ void trg_state_selector_update(TrgStateSelector * s)
continue;
if (priv->showTrackers) {
- trackersList =
- json_array_get_elements(torrent_get_tracker_stats(t));
- for (trackerItem = trackersList; trackerItem;
- trackerItem = g_list_next(trackerItem)) {
- JsonObject *tracker =
- json_node_get_object((JsonNode *) trackerItem->data);
+ trackersList
+ = json_array_get_elements(torrent_get_tracker_stats(t));
+ for (trackerItem = trackersList; trackerItem; trackerItem
+ = g_list_next(trackerItem)) {
+ JsonObject *tracker = json_node_get_object(
+ (JsonNode *) trackerItem->data);
const gchar *announceUrl = tracker_stats_get_announce(tracker);
- gchar *announceHost =
- trg_gregex_get_first(priv->urlHostRegex, announceUrl);
+ gchar *announceHost = trg_gregex_get_first(priv->urlHostRegex,
+ announceUrl);
if (!announceHost)
continue;
@@ -306,25 +286,20 @@ void trg_state_selector_update(TrgStateSelector * s)
if (result) {
trg_state_selector_update_serial(model,
- (GtkTreeRowReference
- *)
- result,
- updateSerial);
+ (GtkTreeRowReference *) result, updateSerial);
g_free(announceHost);
} else {
trg_state_selector_insert(s, N_CATEGORIES,
- g_hash_table_size(priv->trackers), announceHost, &iter);
+ g_hash_table_size(priv->trackers), announceHost,
+ &iter);
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_ICON,
- GTK_STOCK_NETWORK,
- STATE_SELECTOR_NAME, announceHost,
- STATE_SELECTOR_SERIAL,
- updateSerial,
- STATE_SELECTOR_BIT, FILTER_FLAG_TRACKER,
- STATE_SELECTOR_INDEX, 0,
- -1);
+ STATE_SELECTOR_ICON, GTK_STOCK_NETWORK,
+ STATE_SELECTOR_NAME, announceHost,
+ STATE_SELECTOR_SERIAL, updateSerial,
+ STATE_SELECTOR_BIT, FILTER_FLAG_TRACKER,
+ STATE_SELECTOR_INDEX, 0, -1);
g_hash_table_insert(priv->trackers, announceHost,
- quick_tree_ref_new(model, &iter));
+ quick_tree_ref_new(model, &iter));
}
}
g_list_free(trackersList);
@@ -335,23 +310,18 @@ void trg_state_selector_update(TrgStateSelector * s)
result = g_hash_table_lookup(priv->directories, dir);
if (result) {
trg_state_selector_update_serial(model,
- (GtkTreeRowReference *)
- result,
- updateSerial);
+ (GtkTreeRowReference *) result, updateSerial);
} else {
- trg_state_selector_insert(s, N_CATEGORIES+
- g_hash_table_size(priv->trackers), -1, dir, &iter);
+ trg_state_selector_insert(s,
+ N_CATEGORIES + g_hash_table_size(priv->trackers), -1,
+ dir, &iter);
gtk_list_store_set(GTK_LIST_STORE(model), &iter,
- STATE_SELECTOR_ICON,
- GTK_STOCK_DIRECTORY,
- STATE_SELECTOR_NAME, dir,
- STATE_SELECTOR_SERIAL,
- updateSerial,
- STATE_SELECTOR_BIT, FILTER_FLAG_DIR,
- STATE_SELECTOR_INDEX, 0,
- -1);
+ STATE_SELECTOR_ICON, GTK_STOCK_DIRECTORY,
+ STATE_SELECTOR_NAME, dir, STATE_SELECTOR_SERIAL,
+ updateSerial, STATE_SELECTOR_BIT, FILTER_FLAG_DIR,
+ STATE_SELECTOR_INDEX, 0, -1);
g_hash_table_insert(priv->directories, g_strdup(dir),
- quick_tree_ref_new(model, &iter));
+ quick_tree_ref_new(model, &iter));
}
}
}
@@ -363,20 +333,17 @@ void trg_state_selector_update(TrgStateSelector * s)
if (priv->showTrackers) {
cruft.table = priv->trackers;
g_hash_table_foreach_remove(priv->trackers,
- trg_state_selector_remove_cruft,
- &cruft);
+ trg_state_selector_remove_cruft, &cruft);
}
if (priv->showDirs) {
cruft.table = priv->directories;
g_hash_table_foreach_remove(priv->directories,
- trg_state_selector_remove_cruft,
- &cruft);
+ trg_state_selector_remove_cruft, &cruft);
}
}
-void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show)
-{
+void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
priv->showDirs = show;
if (!show)
@@ -385,9 +352,7 @@ void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show)
trg_state_selector_update(s);
}
-void trg_state_selector_set_show_trackers(TrgStateSelector * s,
- gboolean show)
-{
+void trg_state_selector_set_show_trackers(TrgStateSelector * s, gboolean show) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
priv->showTrackers = show;
if (!show)
@@ -397,20 +362,15 @@ void trg_state_selector_set_show_trackers(TrgStateSelector * s,
}
static void trg_state_selector_add_state(GtkListStore * model,
- GtkTreeIter * iter, gchar * icon,
- gchar * name, guint32 flag)
-{
+ GtkTreeIter * iter, gchar * icon, gchar * name, guint32 flag) {
gtk_list_store_append(model, iter);
- gtk_list_store_set(model, iter,
- STATE_SELECTOR_ICON, icon,
- STATE_SELECTOR_NAME, name,
- STATE_SELECTOR_BIT, flag,
- STATE_SELECTOR_INDEX, gtk_tree_model_iter_n_children (GTK_TREE_MODEL(model), NULL),
- -1);
+ gtk_list_store_set(model, iter, STATE_SELECTOR_ICON, icon,
+ STATE_SELECTOR_NAME, name, STATE_SELECTOR_BIT, flag,
+ STATE_SELECTOR_INDEX,
+ gtk_tree_model_iter_n_children(GTK_TREE_MODEL(model), NULL), -1);
}
-static void remove_row_ref_and_free(GtkTreeRowReference * rr)
-{
+static void remove_row_ref_and_free(GtkTreeRowReference * rr) {
GtkTreeModel *model = gtk_tree_row_reference_get_model(rr);
GtkTreePath *path = gtk_tree_row_reference_get_path(rr);
GtkTreeIter iter;
@@ -421,20 +381,17 @@ static void remove_row_ref_and_free(GtkTreeRowReference * rr)
gtk_tree_row_reference_free(rr);
}
-void trg_state_selector_disconnect(TrgStateSelector * s)
-{
+void trg_state_selector_disconnect(TrgStateSelector * s) {
TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s);
g_hash_table_remove_all(priv->trackers);
g_hash_table_remove_all(priv->directories);
}
-static void trg_state_selector_init(TrgStateSelector * self)
-{
+static void trg_state_selector_init(TrgStateSelector * self) {
}
-TrgStateSelector *trg_state_selector_new(TrgClient * client)
-{
+TrgStateSelector *trg_state_selector_new(TrgClient * client) {
return g_object_new(TRG_TYPE_STATE_SELECTOR, "client", client, NULL);
}
@@ -458,12 +415,10 @@ static GObject *trg_state_selector_constructor(GType type,
priv->flag = 0;
priv->urlHostRegex = trg_uri_host_regex_new();
- priv->trackers =
- g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- (GDestroyNotify) remove_row_ref_and_free);
- priv->directories =
- g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
- (GDestroyNotify) remove_row_ref_and_free);
+ priv->trackers = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+ (GDestroyNotify) remove_row_ref_and_free);
+ priv->directories = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+ (GDestroyNotify) remove_row_ref_and_free);
gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(object), FALSE);
@@ -472,8 +427,7 @@ static GObject *trg_state_selector_constructor(GType type,
renderer = gtk_cell_renderer_pixbuf_new();
gtk_tree_view_column_pack_start(column, renderer, FALSE);
g_object_set(renderer, "stock-size", 4, NULL);
- gtk_tree_view_column_set_attributes(column, renderer, "stock-id",
- 0, NULL);
+ gtk_tree_view_column_set_attributes(column, renderer, "stock-id", 0, NULL);
renderer = gtk_cell_renderer_text_new();
gtk_tree_view_column_pack_start(column, renderer, TRUE);
@@ -481,31 +435,30 @@ static GObject *trg_state_selector_constructor(GType type,
gtk_tree_view_append_column(GTK_TREE_VIEW(object), column);
- store =
- gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING,
- G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, G_TYPE_UINT);
+ store = gtk_list_store_new(STATE_SELECTOR_COLUMNS, G_TYPE_STRING,
+ G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT64, G_TYPE_UINT);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_ABOUT, _("All"),
- 0);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_ABOUT, _("All"), 0);
trg_state_selector_add_state(store, &iter, GTK_STOCK_GO_DOWN,
- _("Downloading"),
- TORRENT_FLAG_DOWNLOADING);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_REWIND, _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_GO_UP,
- _("Seeding"), TORRENT_FLAG_SEEDING);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_FORWARD, _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT);
+ _("Downloading"), TORRENT_FLAG_DOWNLOADING);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_REWIND,
+ _("Queue Down"), TORRENT_FLAG_DOWNLOADING_WAIT);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_GO_UP, _("Seeding"),
+ TORRENT_FLAG_SEEDING);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_FORWARD,
+ _("Queue Up"), TORRENT_FLAG_SEEDING_WAIT);
trg_state_selector_add_state(store, &iter, GTK_STOCK_MEDIA_PAUSE,
- _("Paused"), TORRENT_FLAG_PAUSED);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_APPLY,
- _("Complete"), TORRENT_FLAG_COMPLETE);
+ _("Paused"), TORRENT_FLAG_PAUSED);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_APPLY, _("Complete"),
+ TORRENT_FLAG_COMPLETE);
trg_state_selector_add_state(store, &iter, GTK_STOCK_SELECT_ALL,
- _("Incomplete"), TORRENT_FLAG_INCOMPLETE);
- trg_state_selector_add_state(store, &iter, GTK_STOCK_NETWORK,
- _("Active"), TORRENT_FLAG_ACTIVE);
+ _("Incomplete"), TORRENT_FLAG_INCOMPLETE);
+ trg_state_selector_add_state(store, &iter, GTK_STOCK_NETWORK, _("Active"),
+ TORRENT_FLAG_ACTIVE);
trg_state_selector_add_state(store, &iter, GTK_STOCK_REFRESH,
- _("Checking"), TORRENT_FLAG_CHECKING);
+ _("Checking"), TORRENT_FLAG_CHECKING);
trg_state_selector_add_state(store, &iter, GTK_STOCK_DIALOG_WARNING,
- _("Error"), TORRENT_FLAG_ERROR);
+ _("Error"), TORRENT_FLAG_ERROR);
trg_state_selector_add_state(store, &iter, NULL, NULL, 0);
gtk_tree_view_set_model(GTK_TREE_VIEW(object), GTK_TREE_MODEL(store));
@@ -516,36 +469,34 @@ static GObject *trg_state_selector_constructor(GType type,
selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(object));
g_signal_connect(G_OBJECT(selection), "changed",
- G_CALLBACK(state_selection_changed), object);
+ G_CALLBACK(state_selection_changed), object);
g_signal_connect(object, "button-press-event",
- G_CALLBACK(view_onButtonPressed), NULL);
+ G_CALLBACK(view_onButtonPressed), NULL);
g_signal_connect(object, "popup-menu", G_CALLBACK(view_onPopupMenu),
- NULL);
+ NULL);
- gtk_tree_view_set_search_column(GTK_TREE_VIEW(object),
- STATE_SELECTOR_NAME);
+ gtk_tree_view_set_search_column(GTK_TREE_VIEW(object), STATE_SELECTOR_NAME);
- index = trg_prefs_get_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST, TRG_PREFS_GLOBAL);
- if (index > 0 && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store), &iter, NULL,
- index)) {
- GtkTreeSelection *selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(object));
+ index = trg_prefs_get_int(priv->prefs, TRG_PREFS_STATE_SELECTOR_LAST,
+ TRG_PREFS_GLOBAL);
+ if (index > 0 && gtk_tree_model_iter_nth_child(GTK_TREE_MODEL(store),
+ &iter, NULL, index)) {
+ GtkTreeSelection *selection = gtk_tree_view_get_selection(
+ GTK_TREE_VIEW(object));
gtk_tree_selection_select_iter(selection, &iter);
}
- priv->showDirs =
- trg_prefs_get_bool(priv->prefs,
- TRG_PREFS_KEY_FILTER_DIRS, TRG_PREFS_GLOBAL);
- priv->showTrackers =
- trg_prefs_get_bool(priv->prefs,
- TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL);
+ priv->showDirs = trg_prefs_get_bool(priv->prefs, TRG_PREFS_KEY_FILTER_DIRS,
+ TRG_PREFS_GLOBAL);
+ priv->showTrackers = trg_prefs_get_bool(priv->prefs,
+ TRG_PREFS_KEY_FILTER_TRACKERS, TRG_PREFS_GLOBAL);
return object;
}
static void trg_state_selector_get_property(GObject * object,
guint property_id, GValue * value, GParamSpec * pspec) {
- TrgStateSelectorPrivate *priv =
- TRG_STATE_SELECTOR_GET_PRIVATE(object);
+ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object);
switch (property_id) {
case PROP_CLIENT:
g_value_set_object(value, priv->client);
@@ -555,10 +506,9 @@ static void trg_state_selector_get_property(GObject * object,
}
}
-static void trg_state_selector_set_property(GObject * object,
- guint prop_id, const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
- TrgStateSelectorPrivate *priv =
- TRG_STATE_SELECTOR_GET_PRIVATE(object);
+static void trg_state_selector_set_property(GObject * object, guint prop_id,
+ const GValue * value, GParamSpec * pspec G_GNUC_UNUSED) {
+ TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object);
switch (prop_id) {
case PROP_CLIENT:
@@ -568,21 +518,18 @@ static void trg_state_selector_set_property(GObject * object,
}
}
-static void trg_state_selector_class_init(TrgStateSelectorClass * klass)
-{
+static void trg_state_selector_class_init(TrgStateSelectorClass * klass) {
GObjectClass *object_class = G_OBJECT_CLASS(klass);
object_class->constructor = trg_state_selector_constructor;
object_class->set_property = trg_state_selector_set_property;
object_class->get_property = trg_state_selector_get_property;
- signals[SELECTOR_STATE_CHANGED] =
- g_signal_new("torrent-state-changed",
- G_TYPE_FROM_CLASS(object_class),
- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
- G_STRUCT_OFFSET(TrgStateSelectorClass,
- torrent_state_changed), NULL,
- NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE,
- 1, G_TYPE_UINT);
+ signals[SELECTOR_STATE_CHANGED] = g_signal_new("torrent-state-changed",
+ G_TYPE_FROM_CLASS(object_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+ G_STRUCT_OFFSET(TrgStateSelectorClass,
+ torrent_state_changed), NULL, NULL,
+ g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT);
g_object_class_install_property(
object_class,