diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2012-01-25 11:59:32 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2012-01-25 11:59:32 +0000 |
commit | 5563da141e1fd0474f1eeedb967209c55227abae (patch) | |
tree | 79edb6566aecd22050117f9728b17e40156fd093 /src | |
parent | 4d57ef2197461c450aaaf79cdbb31b256ae0e81e (diff) |
issue 175. make some (incomplete) changes as per the GTK+ best practices document - mainly using a pointer in the public class to access the private object (on a few important classes for now) for performance, and don't use C99 (C99 comments or mixed declarations/statements).
Diffstat (limited to 'src')
52 files changed, 1132 insertions, 1034 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index d564181..1d725a4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -44,7 +44,7 @@ desktop_DATA = transmission-remote-gtk.desktop endif bin_PROGRAMS = transmission-remote-gtk -INCLUDES = --pedantic -Wall -Wno-format -Wno-overflow -I.. -DTRGLICENSE=\""$(trglicense)"\" $(libcurl_CFLAGS) $(jsonglib_CFLAGS) $(gthread_CFLAGS) $(gtk_CFLAGS) $(gio_CFLAGS) $(unique_CFLAGS) $(notify_CFLAGS) $(libproxy_CFLAGS) $(libappindicator_CFLAGS) -std=gnu99 +INCLUDES = --pedantic -Wall -Wno-format -Wno-overflow -I.. -DTRGLICENSE=\""$(trglicense)"\" $(libcurl_CFLAGS) $(jsonglib_CFLAGS) $(gthread_CFLAGS) $(gtk_CFLAGS) $(gio_CFLAGS) $(unique_CFLAGS) $(notify_CFLAGS) $(libproxy_CFLAGS) $(libappindicator_CFLAGS) transmission_remote_gtk_SOURCES = main.c \ requests.c \ diff --git a/src/bencode.c b/src/bencode.c index b6d64af..f060cbe 100644 --- a/src/bencode.c +++ b/src/bencode.c @@ -204,7 +204,8 @@ void be_free(be_node * node) case BE_INT: break; - case BE_LIST:{ + case BE_LIST: + { unsigned int i; if (node->val.l) { for (i = 0; node->val.l[i]; ++i) @@ -214,7 +215,8 @@ void be_free(be_node * node) break; } - case BE_DICT:{ + case BE_DICT: + { unsigned int i; for (i = 0; node->val.d[i].val; ++i) { _be_free_str(node->val.d[i].key); @@ -33,8 +33,8 @@ void hig_workarea_add_section_divider(GtkWidget * t, int *row) } void -hig_workarea_add_section_title_widget(GtkWidget * t, - int *row, GtkWidget * w) +hig_workarea_add_section_title_widget(GtkWidget * t, int *row, + GtkWidget * w) { gtk_table_attach(GTK_TABLE(t), w, 0, 2, *row, *row + 1, ~0, 0, 0, 0); ++*row; @@ -115,8 +115,8 @@ void hig_workarea_add_label_w(GtkWidget * t, int row, GtkWidget * l) GTK_FILL, 0, 0); } -GtkWidget *hig_workarea_add_label(GtkWidget * t, - int row, const char *mnemonic_string) +GtkWidget *hig_workarea_add_label(GtkWidget * t, int row, + const char *mnemonic_string) { GtkWidget *l = gtk_label_new_with_mnemonic(mnemonic_string); @@ -96,8 +96,9 @@ message_received_cb(UniqueApp * app G_GNUC_UNUSED, return res; } -static gint trg_libunique_init(TrgClient * client, int argc, - gchar * argv[], gchar ** args) +static gint +trg_libunique_init(TrgClient * client, int argc, + gchar * argv[], gchar ** args) { UniqueApp *app = unique_app_new_with_commands("uk.org.eth0.trg", NULL, "add", COMMAND_ADD, @@ -159,8 +160,8 @@ static gint trg_gtkapp_init(TrgClient * client, int argc, char *argv[]) #elif WIN32 -static gint trg_win32_init(TrgClient * client, int argc, char *argv[], - gchar ** args) +static gint +trg_win32_init(TrgClient * client, int argc, char *argv[], gchar ** args) { gchar *moddir = g_win32_get_package_installation_directory_of_module(NULL); @@ -186,8 +187,8 @@ static gint trg_win32_init(TrgClient * client, int argc, char *argv[], #else -static gint trg_simple_init(TrgClient * client, int argc, char *argv[], - gchar ** args) +static gint +trg_simple_init(TrgClient * client, int argc, char *argv[], gchar ** args) { TrgMainWindow *window = trg_main_window_new(client, should_be_minimised(argc, argv)); diff --git a/src/protocol-constants.h b/src/protocol-constants.h index c618487..c4a21eb 100644 --- a/src/protocol-constants.h +++ b/src/protocol-constants.h @@ -40,7 +40,6 @@ #define FIELD_TOTAL_SIZE "totalSize" #define FIELD_DONE_DATE "doneDate" #define FIELD_ADDED_DATE "addedDate" -//#define FIELD_TRACKERS "trackers" #define FIELD_TRACKER_STATS "trackerStats" #define FIELD_DOWNLOAD_DIR "downloadDir" #define FIELD_HASH_STRING "hashString" @@ -182,8 +181,8 @@ typedef enum { } tr_torrent_activity; enum { - TR_PRI_UNSET = -3, // Not actually in the protocol. Just used in UI. - TR_PRI_MIXED = -2, // Neither is this. + TR_PRI_UNSET = -3, /* Not actually in the protocol. Just used in UI. */ + TR_PRI_MIXED = -2, /* Neither is this. */ TR_PRI_LOW = -1, TR_PRI_NORMAL = 0, /* since NORMAL is 0, memset initializes nicely */ TR_PRI_HIGH = 1 diff --git a/src/remote-exec.c b/src/remote-exec.c index fb6d903..17f7c41 100644 --- a/src/remote-exec.c +++ b/src/remote-exec.c @@ -65,7 +65,8 @@ static gchar *dump_json_value(JsonNode * node) g_string_append_printf(buffer, "%" G_GINT64_FORMAT, g_value_get_int64(&value)); break; - case G_TYPE_STRING:{ + case G_TYPE_STRING: + { gchar *tmp; tmp = g_strescape(g_value_get_string(&value), json_exceptions); @@ -74,7 +75,8 @@ static gchar *dump_json_value(JsonNode * node) g_free(tmp); } break; - case G_TYPE_DOUBLE:{ + case G_TYPE_DOUBLE: + { gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; g_string_append(buffer, diff --git a/src/torrent.c b/src/torrent.c index b5dcd7c..c77e943 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -208,8 +208,9 @@ gint64 torrent_get_activity_date(JsonObject * t) return json_object_get_int_member(t, FIELD_ACTIVITY_DATE); } -guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, - gint64 downRate, gint64 upRate) +guint32 +torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, + gint64 downRate, gint64 upRate) { guint32 flags = 0; @@ -239,8 +240,8 @@ guint32 torrent_get_flags(JsonObject * t, gint64 rpcv, gint64 status, if (!(flags & TORRENT_FLAG_COMPLETE)) flags |= TORRENT_FLAG_DOWNLOADING; - //if (torrent_get_metadata_percent_complete(t) < 100) - // flags |= TORRENT_FLAG_DOWNLOADING_METADATA; + /* if (torrent_get_metadata_percent_complete(t) < 100) + * flags |= TORRENT_FLAG_DOWNLOADING_METADATA; */ flags |= TORRENT_FLAG_ACTIVE; break; @@ -286,8 +287,8 @@ gchar *torrent_get_status_icon(gint64 rpcv, guint flags) { if (flags & TORRENT_FLAG_ERROR) return g_strdup(GTK_STOCK_DIALOG_WARNING); - //else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) - // return g_strdup(GTK_STOCK_FIND); + /*else if (flags & TORRENT_FLAG_DOWNLOADING_METADATA) + * return g_strdup(GTK_STOCK_FIND); */ else if (flags & TORRENT_FLAG_DOWNLOADING) return g_strdup(GTK_STOCK_GO_DOWN); else if (flags & TORRENT_FLAG_PAUSED) @@ -350,7 +351,6 @@ gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags) } } - //g_warning("Unknown status: %ld", value); return g_strdup(_("Unknown")); } diff --git a/src/trg-cell-renderer-counter.c b/src/trg-cell-renderer-counter.c index 13867ab..900753c 100644 --- a/src/trg-cell-renderer-counter.c +++ b/src/trg-cell-renderer-counter.c @@ -72,10 +72,11 @@ static void trg_cell_renderer_counter_refresh(TrgCellRendererCounter * cr) } } -static void trg_cell_renderer_counter_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_cell_renderer_counter_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgCellRendererCounterPrivate *priv = TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object); @@ -102,8 +103,8 @@ static void trg_cell_renderer_counter_dispose(GObject * object) TrgCellRendererCounterPrivate *priv = TRG_CELL_RENDERER_COUNTER_GET_PRIVATE(object); g_free(priv->originalLabel); - G_OBJECT_CLASS(trg_cell_renderer_counter_parent_class)->dispose - (object); + G_OBJECT_CLASS(trg_cell_renderer_counter_parent_class)-> + dispose(object); } static void diff --git a/src/trg-cell-renderer-epoch.c b/src/trg-cell-renderer-epoch.c index e897450..ee2f6fc 100644 --- a/src/trg-cell-renderer-epoch.c +++ b/src/trg-cell-renderer-epoch.c @@ -40,7 +40,8 @@ struct _TrgCellRendererEpochPrivate { }; static void -trg_cell_renderer_epoch_get_property(GObject * object, guint property_id, +trg_cell_renderer_epoch_get_property(GObject * object, + guint property_id, GValue * value, GParamSpec * pspec) { TrgCellRendererEpochPrivate *priv = diff --git a/src/trg-cell-renderer-eta.c b/src/trg-cell-renderer-eta.c index cf5014f..60caee5 100644 --- a/src/trg-cell-renderer-eta.c +++ b/src/trg-cell-renderer-eta.c @@ -39,8 +39,9 @@ struct _TrgCellRendererEtaPrivate { }; static void -trg_cell_renderer_eta_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +trg_cell_renderer_eta_get_property(GObject * object, + guint property_id, GValue * value, + GParamSpec * pspec) { TrgCellRendererEtaPrivate *priv = TRG_CELL_RENDERER_ETA_GET_PRIVATE(object); diff --git a/src/trg-cell-renderer-file-icon.c b/src/trg-cell-renderer-file-icon.c index fddd0a5..55be2dd 100644 --- a/src/trg-cell-renderer-file-icon.c +++ b/src/trg-cell-renderer-file-icon.c @@ -47,7 +47,8 @@ struct _TrgCellRendererFileIconPrivate { static void trg_cell_renderer_file_icon_get_property(GObject * object, - guint property_id, GValue * value, + guint property_id, + GValue * value, GParamSpec * pspec) { TrgCellRendererFileIconPrivate *priv = @@ -62,8 +63,8 @@ trg_cell_renderer_file_icon_get_property(GObject * object, } } -static void trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon * - fi) +static void +trg_cell_renderer_file_icon_refresh(TrgCellRendererFileIcon * fi) { TrgCellRendererFileIconPrivate *priv = TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(fi); @@ -125,8 +126,8 @@ static void trg_cell_renderer_file_icon_dispose(GObject * object) TrgCellRendererFileIconPrivate *priv = TRG_CELL_RENDERER_FILE_ICON_GET_PRIVATE(object); g_free(priv->text); - G_OBJECT_CLASS(trg_cell_renderer_file_icon_parent_class)->dispose - (object); + G_OBJECT_CLASS(trg_cell_renderer_file_icon_parent_class)-> + dispose(object); } static void @@ -173,8 +174,8 @@ trg_cell_renderer_file_icon_class_init(TrgCellRendererFileIconClass * sizeof(TrgCellRendererFileIconPrivate)); } -static void trg_cell_renderer_file_icon_init(TrgCellRendererFileIcon * - self) +static void +trg_cell_renderer_file_icon_init(TrgCellRendererFileIcon * self) { } diff --git a/src/trg-cell-renderer-numgteqthan.c b/src/trg-cell-renderer-numgteqthan.c index 01b9ac1..d92c81f 100644 --- a/src/trg-cell-renderer-numgteqthan.c +++ b/src/trg-cell-renderer-numgteqthan.c @@ -131,8 +131,8 @@ trg_cell_renderer_numgteqthan_class_init(TrgCellRendererNumGtEqThanClass * sizeof(TrgCellRendererNumGtEqThanPrivate)); } -static void trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * - self) +static void +trg_cell_renderer_numgteqthan_init(TrgCellRendererNumGtEqThan * self) { g_object_set(self, "xalign", 1.0f, NULL); } diff --git a/src/trg-cell-renderer-priority.c b/src/trg-cell-renderer-priority.c index b91abe5..84181b1 100644 --- a/src/trg-cell-renderer-priority.c +++ b/src/trg-cell-renderer-priority.c @@ -44,8 +44,8 @@ struct _TrgCellRendererPriorityPrivate { static void trg_cell_renderer_priority_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, GParamSpec * pspec) { TrgCellRendererPriorityPrivate *priv = TRG_CELL_RENDERER_PRIORITY_GET_PRIVATE(object); diff --git a/src/trg-cell-renderer-ratio.c b/src/trg-cell-renderer-ratio.c index 9e21f0e..1999fb7 100644 --- a/src/trg-cell-renderer-ratio.c +++ b/src/trg-cell-renderer-ratio.c @@ -39,7 +39,8 @@ struct _TrgCellRendererRatioPrivate { }; static void -trg_cell_renderer_ratio_get_property(GObject * object, guint property_id, +trg_cell_renderer_ratio_get_property(GObject * object, + guint property_id, GValue * value, GParamSpec * pspec) { TrgCellRendererRatioPrivate *priv = diff --git a/src/trg-cell-renderer-size.c b/src/trg-cell-renderer-size.c index 1efdb17..526c90e 100644 --- a/src/trg-cell-renderer-size.c +++ b/src/trg-cell-renderer-size.c @@ -39,8 +39,9 @@ struct _TrgCellRendererSizePrivate { }; static void -trg_cell_renderer_size_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +trg_cell_renderer_size_get_property(GObject * object, + guint property_id, GValue * value, + GParamSpec * pspec) { TrgCellRendererSizePrivate *priv = TRG_CELL_RENDERER_SIZE_GET_PRIVATE(object); diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index 0c52d10..bea429e 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -39,7 +39,8 @@ struct _TrgCellRendererSpeedPrivate { }; static void -trg_cell_renderer_speed_get_property(GObject * object, guint property_id, +trg_cell_renderer_speed_get_property(GObject * object, + guint property_id, GValue * value, GParamSpec * pspec) { TrgCellRendererSpeedPrivate *priv = diff --git a/src/trg-cell-renderer-wanted.c b/src/trg-cell-renderer-wanted.c index 9840a2e..5a31a06 100644 --- a/src/trg-cell-renderer-wanted.c +++ b/src/trg-cell-renderer-wanted.c @@ -44,8 +44,8 @@ struct _TrgCellRendererWantedPrivate { static void trg_cell_renderer_wanted_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) + guint property_id, + GValue * value, GParamSpec * pspec) { TrgCellRendererWantedPrivate *priv = TRG_CELL_RENDERER_WANTED_GET_PRIVATE(object); diff --git a/src/trg-client.c b/src/trg-client.c index f5e86e5..479c53c 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -1,5 +1,5 @@ /* - * transmission-remote-gtk - A GTK RPC client to Transmission + * transmission-remote-gtk - A GTK RPC tc to Transmission * Copyright (C) 2011 Alan Fitton * This program is free software; you can redistribute it and/or modify @@ -54,18 +54,12 @@ */ G_DEFINE_TYPE(TrgClient, trg_client, G_TYPE_OBJECT) - enum { TC_SESSION_UPDATED, TC_SIGNAL_COUNT }; static guint signals[TC_SIGNAL_COUNT] = { 0 }; -#define TRG_CLIENT_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CLIENT, TrgClientPrivate)) - -typedef struct _TrgClientPrivate TrgClientPrivate; - struct _TrgClientPrivate { char *session_id; gint connid; @@ -90,10 +84,11 @@ struct _TrgClientPrivate { }; static void dispatch_async_threadfunc(trg_request * reqrsp, - TrgClient * client); + TrgClient * tc); -static void trg_client_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +static void +trg_client_get_property(GObject * object, guint property_id, + GValue * value, GParamSpec * pspec) { switch (property_id) { default: @@ -102,9 +97,9 @@ static void trg_client_get_property(GObject * object, guint property_id, } } -static void trg_client_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_client_set_property(GObject * object, guint property_id, + const GValue * value, GParamSpec * pspec) { switch (property_id) { default: @@ -144,12 +139,15 @@ static void trg_client_class_init(TrgClientClass * klass) static void trg_client_init(TrgClient * self) { + self->priv = + G_TYPE_INSTANCE_GET_PRIVATE(self, TRG_TYPE_CLIENT, + TrgClientPrivate); } TrgClient *trg_client_new(void) { TrgClient *tc = g_object_new(TRG_TYPE_CLIENT, NULL); - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; TrgPrefs *prefs = priv->prefs = trg_prefs_new(); trg_prefs_load(prefs); @@ -171,31 +169,31 @@ TrgClient *trg_client_new(void) const gchar *trg_client_get_version_string(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return session_get_version_string(priv->session); } gdouble trg_client_get_version(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->version; } gint64 trg_client_get_rpc_version(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return session_get_rpc_version(priv->session); } void trg_client_inc_connid(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_atomic_int_inc(&priv->connid); } void trg_client_set_session(TrgClient * tc, JsonObject * session) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; if (priv->session) { json_object_unref(priv->session); @@ -211,13 +209,13 @@ void trg_client_set_session(TrgClient * tc, JsonObject * session) TrgPrefs *trg_client_get_prefs(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->prefs; } int trg_client_populate_with_settings(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; TrgPrefs *prefs = priv->prefs; gint port; @@ -296,31 +294,31 @@ int trg_client_populate_with_settings(TrgClient * tc) gchar *trg_client_get_password(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->password; } gchar *trg_client_get_username(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->username; } gchar *trg_client_get_url(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->url; } gchar *trg_client_get_session_id(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->session_id ? g_strdup(priv->session_id) : NULL; } void trg_client_set_session_id(TrgClient * tc, gchar * session_id) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_mutex_lock(priv->configMutex); @@ -334,7 +332,7 @@ void trg_client_set_session_id(TrgClient * tc, gchar * session_id) void trg_client_status_change(TrgClient * tc, gboolean connected) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; if (!connected) { if (priv->session) { @@ -349,100 +347,100 @@ void trg_client_status_change(TrgClient * tc, gboolean connected) JsonObject *trg_client_get_session(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->session; } -void trg_client_thread_pool_push(TrgClient * tc, gpointer data, - GError ** err) +void +trg_client_thread_pool_push(TrgClient * tc, gpointer data, GError ** err) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_thread_pool_push(priv->pool, data, err); } void trg_client_inc_serial(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; priv->updateSerial++; } gint64 trg_client_get_serial(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->updateSerial; } #ifndef CURL_NO_SSL gboolean trg_client_get_ssl(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->ssl; } #endif gchar *trg_client_get_proxy(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->proxy; } void trg_client_set_torrent_table(TrgClient * tc, GHashTable * table) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; priv->torrentTable = table; } GHashTable *trg_client_get_torrent_table(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->torrentTable; } gboolean trg_client_is_connected(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->session != NULL; } void trg_client_updatelock(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_mutex_lock(priv->updateMutex); } void trg_client_configlock(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_mutex_lock(priv->configMutex); } guint trg_client_get_failcount(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return priv->failCount; } guint trg_client_inc_failcount(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; return ++(priv->failCount); } void trg_client_reset_failcount(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; priv->failCount = 0; } void trg_client_updateunlock(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_mutex_unlock(priv->updateMutex); } void trg_client_configunlock(TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; g_mutex_unlock(priv->configMutex); } @@ -455,8 +453,8 @@ void trg_response_free(trg_response * response) g_free(response); } -static size_t http_receive_callback(void *ptr, size_t size, size_t nmemb, - void *data) +static size_t +http_receive_callback(void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; trg_response *mem = (trg_response *) data; @@ -471,8 +469,8 @@ static size_t http_receive_callback(void *ptr, size_t size, size_t nmemb, return realsize; } -static size_t header_callback(void *ptr, size_t size, size_t nmemb, - void *data) +static size_t +header_callback(void *ptr, size_t size, size_t nmemb, void *data) { char *header = (char *) (ptr); TrgClient *tc = TRG_CLIENT(data); @@ -533,11 +531,11 @@ trg_tls *trg_tls_new(TrgClient * tc) return tls; } -static int trg_http_perform_inner(TrgClient * tc, gchar * reqstr, - trg_response * response, - gboolean recurse) +static int +trg_http_perform_inner(TrgClient * tc, gchar * reqstr, + trg_response * response, gboolean recurse) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(tc); + TrgClientPrivate *priv = tc->priv; TrgPrefs *prefs = trg_client_get_prefs(tc); gpointer threadLocalStorage = g_private_get(priv->tlsKey); trg_tls *tls; @@ -600,7 +598,7 @@ int trg_http_perform(TrgClient * tc, gchar * reqstr, trg_response * reqrsp) /* formerly dispatch.c */ -trg_response *dispatch(TrgClient * client, JsonNode * req) +trg_response *dispatch(TrgClient * tc, JsonNode * req) { gchar *serialized = trg_serialize(req); json_node_free(req); @@ -608,16 +606,16 @@ trg_response *dispatch(TrgClient * client, JsonNode * req) if (g_getenv("TRG_SHOW_OUTGOING")) g_debug("=>(OUTgoing)=>: %s", serialized); #endif - return dispatch_str(client, serialized); + return dispatch_str(tc, serialized); } -trg_response *dispatch_str(TrgClient * client, gchar * req) +trg_response *dispatch_str(TrgClient * tc, gchar * req) { trg_response *response = g_new0(trg_response, 1); GError *decode_error = NULL; JsonNode *result; - trg_http_perform(client, req, response); + trg_http_perform(tc, req, response); g_free(req); if (response->status == CURLE_OK) @@ -643,22 +641,20 @@ trg_response *dispatch_str(TrgClient * client, gchar * req) return response; } -static void dispatch_async_threadfunc(trg_request * req, - TrgClient * client) +static void dispatch_async_threadfunc(trg_request * req, TrgClient * tc) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); + TrgClientPrivate *priv = tc->priv; trg_response *rsp; if (req->str) - rsp = dispatch_str(client, req->str); + rsp = dispatch_str(tc, req->str); else - rsp = dispatch(client, req->node); + rsp = dispatch(tc, req->node); rsp->cb_data = req->cb_data; - if (req->callback && req->connid == g_atomic_int_get(&priv->connid) - ) + if (req->callback && req->connid == g_atomic_int_get(&priv->connid)) g_idle_add(req->callback, rsp); else trg_response_free(rsp); @@ -666,18 +662,19 @@ static void dispatch_async_threadfunc(trg_request * req, g_free(req); } -static gboolean dispatch_async_common(TrgClient * client, - trg_request * trg_req, - GSourceFunc callback, gpointer data) +static gboolean +dispatch_async_common(TrgClient * tc, + trg_request * trg_req, + GSourceFunc callback, gpointer data) { - TrgClientPrivate *priv = TRG_CLIENT_GET_PRIVATE(client); + TrgClientPrivate *priv = tc->priv; GError *error = NULL; trg_req->callback = callback; trg_req->cb_data = data; trg_req->connid = g_atomic_int_get(&priv->connid); - trg_client_thread_pool_push(client, trg_req, &error); + trg_client_thread_pool_push(tc, trg_req, &error); if (error) { g_error("thread creation error: %s\n", error->message); g_error_free(error); @@ -688,20 +685,22 @@ static gboolean dispatch_async_common(TrgClient * client, } } -gboolean dispatch_async(TrgClient * client, JsonNode * req, - GSourceFunc callback, gpointer data) +gboolean +dispatch_async(TrgClient * tc, JsonNode * req, + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->node = req; - return dispatch_async_common(client, trg_req, callback, data); + return dispatch_async_common(tc, trg_req, callback, data); } -gboolean dispatch_async_str(TrgClient * client, gchar * req, - GSourceFunc callback, gpointer data) +gboolean +dispatch_async_str(TrgClient * tc, gchar * req, + GSourceFunc callback, gpointer data) { trg_request *trg_req = g_new0(trg_request, 1); trg_req->str = req; - return dispatch_async_common(client, trg_req, callback, data); + return dispatch_async_common(tc, trg_req, callback, data); } diff --git a/src/trg-client.h b/src/trg-client.h index d73a5a7..b57bb4e 100644 --- a/src/trg-client.h +++ b/src/trg-client.h @@ -74,6 +74,8 @@ typedef struct { gpointer cb_data; } trg_request; +typedef struct _TrgClientPrivate TrgClientPrivate; + G_BEGIN_DECLS #define TRG_TYPE_CLIENT trg_client_get_type() #define TRG_CLIENT(obj) \ @@ -88,6 +90,7 @@ G_BEGIN_DECLS (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_CLIENT, TrgClientClass)) typedef struct { GObject parent; + TrgClientPrivate *priv; } TrgClient; typedef struct { @@ -160,4 +163,4 @@ void trg_client_inc_serial(TrgClient * tc); void trg_client_inc_connid(TrgClient * tc); G_END_DECLS -#endif // _TRG_CLIENT_H_ +#endif /* _TRG_CLIENT_H_ */ diff --git a/src/trg-destination-combo.c b/src/trg-destination-combo.c index c7cf418..64e0c23 100644 --- a/src/trg-destination-combo.c +++ b/src/trg-destination-combo.c @@ -58,10 +58,10 @@ static void trg_destination_combo_finalize(GObject * object) g_free(priv->last_selection); } -static void trg_destination_combo_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) +static void +trg_destination_combo_get_property(GObject * object, + guint property_id, + GValue * value, GParamSpec * pspec) { TrgDestinationComboPrivate *priv = TRG_DESTINATION_COMBO_GET_PRIVATE(object); @@ -78,10 +78,11 @@ static void trg_destination_combo_get_property(GObject * object, } } -static void trg_destination_combo_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_destination_combo_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgDestinationComboPrivate *priv = TRG_DESTINATION_COMBO_GET_PRIVATE(object); @@ -118,8 +119,8 @@ void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box) GtkTreeIter iter; if (priv->last_selection - && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), - &iter)) { + && gtk_combo_box_get_active_iter(GTK_COMBO_BOX(combo_box), &iter)) + { GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(combo_box)); TrgPrefs *prefs = trg_client_get_prefs(priv->client); @@ -132,8 +133,9 @@ void trg_destination_combo_save_selection(TrgDestinationCombo * combo_box) } } -static void gtk_combo_box_entry_active_changed(GtkComboBox * combo_box, - gpointer user_data) +static void +gtk_combo_box_entry_active_changed(GtkComboBox * combo_box, + gpointer user_data) { GtkTreeModel *model; GtkTreeIter iter; @@ -188,9 +190,10 @@ GtkEntry *trg_destination_combo_get_entry(TrgDestinationCombo * combo) return GTK_ENTRY(priv->entry); } -static void add_entry_cb(GtkEntry * entry, - GtkEntryIconPosition icon_pos, - GdkEvent * event, gpointer user_data) +static void +add_entry_cb(GtkEntry * entry, + GtkEntryIconPosition icon_pos, + GdkEvent * event, gpointer user_data) { GtkComboBox *combo = GTK_COMBO_BOX(user_data); GtkTreeModel *model = gtk_combo_box_get_model(combo); @@ -222,10 +225,11 @@ trg_destination_combo_insert_check_dupe_foreach(GtkTreeModel * model, return args->isDupe; } -static void trg_destination_combo_insert(GtkComboBox * box, - const gchar * label, - const gchar * dir, guint type, - const gchar * lastDestination) +static void +trg_destination_combo_insert(GtkComboBox * box, + const gchar * label, + const gchar * dir, guint type, + const gchar * lastDestination) { GtkTreeModel *model = gtk_combo_box_get_model(box); gchar *comboLabel; @@ -281,7 +285,7 @@ static GObject *trg_destination_combo_constructor(GType type, GtkListStore *comboModel; JsonArray *savedDestinations; gchar *defaultDir; - const gchar *lastDestination = NULL; + gchar *lastDestination = NULL; comboModel = gtk_list_store_new(N_DEST_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT); @@ -326,8 +330,8 @@ static GObject *trg_destination_combo_constructor(GType type, trg_destination_combo_insert(GTK_COMBO_BOX(object), NULL, - defaultDir, - DEST_DEFAULT, lastDestination); + defaultDir, DEST_DEFAULT, + lastDestination); gtk_combo_box_set_active(GTK_COMBO_BOX(object), 0); if (savedDestinations) { @@ -384,6 +388,7 @@ static GObject *trg_destination_combo_constructor(GType type, g_list_free(list); g_free(defaultDir); + g_free(lastDestination); return object; } @@ -410,8 +415,8 @@ gchar *trg_destination_combo_get_dir(TrgDestinationCombo * combo) (trg_destination_combo_get_entry(combo))); } -static void trg_destination_combo_class_init(TrgDestinationComboClass * - klass) +static void +trg_destination_combo_class_init(TrgDestinationComboClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); diff --git a/src/trg-file-parser.c b/src/trg-file-parser.c index a4854bb..d59cabc 100644 --- a/src/trg-file-parser.c +++ b/src/trg-file-parser.c @@ -26,10 +26,13 @@ #include "bencode.h" #include "trg-file-parser.h" -static trg_files_tree_node - * trg_file_parser_node_insert(trg_files_tree_node * top, - trg_files_tree_node * last, - be_node * file_node, gint index) +static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node + * top, + trg_files_tree_node + * last, + be_node * + file_node, + gint index) { be_node *file_length_node = be_dict_find(file_node, "length", BE_INT); be_node *file_path_list = be_dict_find(file_node, "path", BE_LIST); diff --git a/src/trg-files-model-common.c b/src/trg-files-model-common.c index 6c4e41f..6e72907 100644 --- a/src/trg-files-model-common.c +++ b/src/trg-files-model-common.c @@ -32,9 +32,10 @@ struct SubtreeForeachData { GtkTreePath *path; }; -static void set_wanted_foreachfunc(GtkTreeModel * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, gpointer data) +static void +set_wanted_foreachfunc(GtkTreeModel * model, + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct SubtreeForeachData *args = (struct SubtreeForeachData *) data; @@ -45,9 +46,10 @@ static void set_wanted_foreachfunc(GtkTreeModel * model, args->new_value); } -static void set_priority_foreachfunc(GtkTreeModel * model, - GtkTreePath * path, - GtkTreeIter * iter, gpointer data) +static void +set_priority_foreachfunc(GtkTreeModel * model, + GtkTreePath * path, + GtkTreeIter * iter, gpointer data) { struct SubtreeForeachData *args = (struct SubtreeForeachData *) data; GValue value = { 0 }; @@ -62,8 +64,8 @@ static void set_priority_foreachfunc(GtkTreeModel * model, args->new_value); } -void trg_files_model_set_wanted(GtkTreeView * tv, gint column, - gint new_value) +void +trg_files_model_set_wanted(GtkTreeView * tv, gint column, gint new_value) { struct SubtreeForeachData args; GtkTreeSelection *selection = gtk_tree_view_get_selection(tv); @@ -75,8 +77,9 @@ void trg_files_model_set_wanted(GtkTreeView * tv, gint column, &args); } -void trg_files_tree_model_set_priority(GtkTreeView * tv, gint column, - gint new_value) +void +trg_files_tree_model_set_priority(GtkTreeView * tv, gint column, + gint new_value) { struct SubtreeForeachData args; GtkTreeSelection *selection = gtk_tree_view_get_selection(tv); @@ -89,8 +92,9 @@ void trg_files_tree_model_set_priority(GtkTreeView * tv, gint column, } -static gboolean setSubtreeForeach(GtkTreeModel * model, GtkTreePath * path, - GtkTreeIter * iter, gpointer gdata) +static gboolean +setSubtreeForeach(GtkTreeModel * model, GtkTreePath * path, + GtkTreeIter * iter, gpointer gdata) { struct SubtreeForeachData *data = gdata; @@ -108,9 +112,10 @@ static gboolean setSubtreeForeach(GtkTreeModel * model, GtkTreePath * path, return FALSE; /* keep walking */ } -void trg_files_tree_model_propogate_change_up(GtkTreeModel * model, - GtkTreeIter * iter, - gint column, gint new_value) +void +trg_files_tree_model_propogate_change_up(GtkTreeModel * model, + GtkTreeIter * iter, + gint column, gint new_value) { GtkTreeIter back_iter = *iter; gint result = new_value; @@ -146,10 +151,11 @@ void trg_files_tree_model_propogate_change_up(GtkTreeModel * model, } } -void trg_files_tree_model_set_subtree(GtkTreeModel * model, - GtkTreePath * path, - GtkTreeIter * iter, gint column, - gint new_value) +void +trg_files_tree_model_set_subtree(GtkTreeModel * model, + GtkTreePath * path, + GtkTreeIter * iter, gint column, + gint new_value) { GtkTreeIter back_iter = *iter; @@ -170,8 +176,9 @@ void trg_files_tree_model_set_subtree(GtkTreeModel * model, new_value); } -void trg_files_model_update_parents(GtkTreeModel * model, - GtkTreeIter * iter, gint size_column) +void +trg_files_model_update_parents(GtkTreeModel * model, + GtkTreeIter * iter, gint size_column) { GtkTreeIter back_iter = *iter; GtkTreeIter tmp_iter; @@ -187,5 +194,6 @@ void trg_files_model_update_parents(GtkTreeModel * model, gtk_tree_store_set(GTK_TREE_STORE(model), &tmp_iter, size_column, size + oldSize, -1); back_iter = tmp_iter; - } while (gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)); + } + while (gtk_tree_model_iter_parent(model, &tmp_iter, &back_iter)); } diff --git a/src/trg-files-model.c b/src/trg-files-model.c index fc79c73..1368a7c 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -116,8 +116,9 @@ static void trg_files_tree_update_ancestors(trg_files_tree_node * node) } } -static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, - trg_files_tree_node * node) +static void +store_add_node(GtkTreeStore * store, GtkTreeIter * parent, + trg_files_tree_node * node) { GtkTreeIter child; GList *li; @@ -125,13 +126,14 @@ static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, if (node->name) { gdouble progress = file_get_progress(node->length, node->bytesCompleted); - gtk_tree_store_append(store, &child, parent); - gtk_tree_store_set(store, &child, FILESCOL_WANTED, node->enabled, - FILESCOL_PROGRESS, progress, - FILESCOL_SIZE, node->length, - FILESCOL_ID, node->index, - FILESCOL_PRIORITY, node->priority, - FILESCOL_NAME, node->name, -1); + gtk_tree_store_insert_with_values(store, &child, parent, INT_MAX, + FILESCOL_WANTED, node->enabled, + FILESCOL_PROGRESS, progress, + FILESCOL_SIZE, node->length, + FILESCOL_ID, node->index, + FILESCOL_PRIORITY, + node->priority, FILESCOL_NAME, + node->name, -1); } for (li = node->children; li; li = g_list_next(li)) @@ -139,12 +141,16 @@ static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, (trg_files_tree_node *) li->data); } -static trg_files_tree_node - * trg_file_parser_node_insert(trg_files_tree_node * top, - trg_files_tree_node * last, - JsonObject * file, gint index, - JsonArray * enabled, - JsonArray * priorities) +static trg_files_tree_node *trg_file_parser_node_insert(trg_files_tree_node + * top, + trg_files_tree_node + * last, + JsonObject * file, + gint index, + JsonArray * + enabled, + JsonArray * + priorities) { gchar **path = g_strsplit(file_get_name(file), "/", -1); trg_files_tree_node *lastIter = last; @@ -236,12 +242,12 @@ void trg_files_model_set_accept(TrgFilesModel * model, gboolean accept) priv->accept = accept; } -static void trg_files_model_iter_update(TrgFilesModel * model, - GtkTreeIter * filesIter, - JsonObject * file, - JsonArray * wantedArray, - JsonArray * prioritiesArray, - gint id) +static void +trg_files_model_iter_update(TrgFilesModel * model, + GtkTreeIter * filesIter, + JsonObject * file, + JsonArray * wantedArray, + JsonArray * prioritiesArray, gint id) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); gint64 fileLength = file_get_length(file); @@ -292,9 +298,10 @@ static void trg_files_model_init(TrgFilesModel * self) column_types); } -gboolean trg_files_model_update_foreach(GtkListStore * model, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeIter * iter, GList * files) +gboolean +trg_files_model_update_foreach(GtkListStore * model, + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeIter * iter, GList * files) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); JsonObject *file; @@ -370,8 +377,9 @@ static gpointer trg_files_model_buildtree_threadfunc(gpointer data) return NULL; } -void trg_files_model_update(TrgFilesModel * model, GtkTreeView * tv, - gint64 updateSerial, JsonObject * t, gint mode) +void +trg_files_model_update(TrgFilesModel * model, GtkTreeView * tv, + gint64 updateSerial, JsonObject * t, gint mode) { TrgFilesModelPrivate *priv = TRG_FILES_MODEL_GET_PRIVATE(model); JsonArray *files = torrent_get_files(t); diff --git a/src/trg-files-tree-view-common.c b/src/trg-files-tree-view-common.c index 0ab24c9..a9e0fcd 100644 --- a/src/trg-files-tree-view-common.c +++ b/src/trg-files-tree-view-common.c @@ -37,11 +37,11 @@ static void collapse_all_cb(GtkWidget * w, gpointer data) gtk_tree_view_collapse_all(GTK_TREE_VIEW(data)); } -static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, - GCallback low_cb, GCallback normal_cb, - GCallback high_cb, GCallback wanted_cb, - GCallback unwanted_cb, - gpointer data G_GNUC_UNUSED) +static void +view_popup_menu(GtkWidget * treeview, GdkEventButton * event, + GCallback low_cb, GCallback normal_cb, + GCallback high_cb, GCallback wanted_cb, + GCallback unwanted_cb, gpointer data G_GNUC_UNUSED) { GtkWidget *menu, *menuitem; @@ -98,24 +98,25 @@ static void view_popup_menu(GtkWidget * treeview, GdkEventButton * event, gdk_event_get_time((GdkEvent *) event)); } -gboolean trg_files_tree_view_viewOnPopupMenu(GtkWidget * treeview, - GCallback low_cb, - GCallback normal_cb, - GCallback high_cb, - GCallback wanted_cb, - GCallback unwanted_cb, - gpointer userdata) +gboolean +trg_files_tree_view_viewOnPopupMenu(GtkWidget * treeview, + GCallback low_cb, + GCallback normal_cb, + GCallback high_cb, + GCallback wanted_cb, + GCallback unwanted_cb, + gpointer userdata) { view_popup_menu(treeview, NULL, low_cb, normal_cb, high_cb, wanted_cb, unwanted_cb, userdata); return TRUE; } -static gboolean onViewPathToggled(GtkTreeView * view, - GtkTreeViewColumn * col, - GtkTreePath * path, - gint pri_id, - gint enabled_id, gpointer data) +static gboolean +onViewPathToggled(GtkTreeView * view, + GtkTreeViewColumn * col, + GtkTreePath * path, + gint pri_id, gint enabled_id, gpointer data) { int cid; gboolean handled = FALSE; @@ -161,10 +162,10 @@ static gboolean onViewPathToggled(GtkTreeView * view, return handled; } -static gboolean getAndSelectEventPath(GtkTreeView * treeview, - GdkEventButton * event, - GtkTreeViewColumn ** col, - GtkTreePath ** path) +static gboolean +getAndSelectEventPath(GtkTreeView * treeview, + GdkEventButton * event, + GtkTreeViewColumn ** col, GtkTreePath ** path) { GtkTreeSelection *sel; @@ -181,16 +182,17 @@ static gboolean getAndSelectEventPath(GtkTreeView * treeview, return FALSE; } -gboolean trg_files_tree_view_onViewButtonPressed(GtkWidget * w, - GdkEventButton * event, - gint pri_id, - gint enabled_id, - GCallback low_cb, - GCallback normal_cb, - GCallback high_cb, - GCallback wanted_cb, - GCallback unwanted_cb, - gpointer gdata) +gboolean +trg_files_tree_view_onViewButtonPressed(GtkWidget * w, + GdkEventButton * event, + gint pri_id, + gint enabled_id, + GCallback low_cb, + GCallback normal_cb, + GCallback high_cb, + GCallback wanted_cb, + GCallback unwanted_cb, + gpointer gdata) { GtkTreeViewColumn *col = NULL; GtkTreePath *path = NULL; diff --git a/src/trg-files-tree-view.c b/src/trg-files-tree-view.c index 598502e..aa92f90 100644 --- a/src/trg-files-tree-view.c +++ b/src/trg-files-tree-view.c @@ -47,11 +47,11 @@ static void trg_files_tree_view_class_init(TrgFilesTreeViewClass * klass) g_type_class_add_private(klass, sizeof(TrgFilesTreeViewPrivate)); } -static gboolean send_updated_file_prefs_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) +static gboolean +send_updated_file_prefs_foreachfunc(GtkTreeModel * model, + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { JsonObject *args = (JsonObject *) data; gint priority; @@ -155,13 +155,13 @@ static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) send_updated_file_prefs(TRG_FILES_TREE_VIEW(data)); } -static gboolean view_onButtonPressed(GtkWidget * treeview, - GdkEventButton * event, - gpointer userdata) +static gboolean +view_onButtonPressed(GtkWidget * treeview, + GdkEventButton * event, gpointer userdata) { gboolean handled = trg_files_tree_view_onViewButtonPressed(treeview, event, - -1, //FILESCOL_PRIORITY, + -1, FILESCOL_WANTED, G_CALLBACK(set_low), G_CALLBACK(set_normal), @@ -218,7 +218,6 @@ TrgFilesTreeView *trg_files_tree_view_new(TrgFilesModel * model, priv->win = win; trg_tree_view_setup_columns(TRG_TREE_VIEW(obj)); - //trg_tree_view_restore_sort(TRG_TREE_VIEW(obj)); return TRG_FILES_TREE_VIEW(obj); } diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index 6d88c3f..5d2337d 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -102,8 +102,9 @@ static void trg_general_panel_class_init(TrgGeneralPanelClass * klass) g_type_class_add_private(klass, sizeof(TrgGeneralPanelPrivate)); } -void trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, - GtkTreeIter * iter) +void +trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, + GtkTreeIter * iter) { TrgGeneralPanelPrivate *priv; gchar buf[32]; diff --git a/src/trg-json-widgets.c b/src/trg-json-widgets.c index 49e8ded..5f6fb1e 100644 --- a/src/trg-json-widgets.c +++ b/src/trg-json-widgets.c @@ -117,8 +117,9 @@ GtkWidget *trg_json_widget_entry_new(GList ** wl, JsonObject * obj, return w; } -void trg_json_widget_time_save(GtkWidget * widget, JsonObject * obj, - gchar * key) +void +trg_json_widget_time_save(GtkWidget * widget, JsonObject * obj, + gchar * key) { json_object_set_double_member(obj, key, @@ -155,23 +156,26 @@ GtkWidget *trg_json_widget_spin_new(GList ** wl, JsonObject * obj, return w; } -void trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, - gchar * key) +void +trg_json_widget_check_save(GtkWidget * widget, JsonObject * obj, + gchar * key) { gboolean active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)); json_object_set_boolean_member(obj, key, active); } -void trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, - gchar * key) +void +trg_json_widget_entry_save(GtkWidget * widget, JsonObject * obj, + gchar * key) { json_object_set_string_member(obj, key, gtk_entry_get_text(GTK_ENTRY(widget))); } -void trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, - gchar * key) +void +trg_json_widget_spin_save_double(GtkWidget * widget, JsonObject * obj, + gchar * key) { json_object_set_double_member(obj, key, gtk_spin_button_get_value(GTK_SPIN_BUTTON diff --git a/src/trg-main-window.c b/src/trg-main-window.c index a189664..2ff5a21 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -99,7 +99,8 @@ static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, gpointer data); static gboolean delete_event(GtkWidget * w, GdkEvent * event, gpointer data); -static void destroy_window(GtkWidget * w, gpointer data); +static void destroy_window(TrgMainWindow * win, + gpointer data G_GNUC_UNUSED); static void torrent_tv_onRowActivated(GtkTreeView * treeview, GtkTreePath * path, GtkTreeViewColumn * col, @@ -107,27 +108,31 @@ static void torrent_tv_onRowActivated(GtkTreeView * treeview, static void add_url_cb(GtkWidget * w, gpointer data); static void add_cb(GtkWidget * w, gpointer data); static void disconnect_cb(GtkWidget * w, gpointer data); -static void open_local_prefs_cb(GtkWidget * w, gpointer data); -static void open_remote_prefs_cb(GtkWidget * w, gpointer data); +static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, + TrgMainWindow * win); +static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, + TrgMainWindow * win); static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win); -static void verify_cb(GtkWidget * w, gpointer data); -static void reannounce_cb(GtkWidget * w, gpointer data); -static void pause_cb(GtkWidget * w, gpointer data); -static void resume_cb(GtkWidget * w, gpointer data); -static void remove_cb(GtkWidget * w, gpointer data); -static void resume_all_cb(GtkWidget * w, gpointer data); -static void pause_all_cb(GtkWidget * w, gpointer data); -static void move_cb(GtkWidget * w, gpointer data); -static void delete_cb(GtkWidget * w, gpointer data); -static void open_props_cb(GtkWidget * w, gpointer data); -static gint confirm_action_dialog(GtkWindow * win, +static void verify_cb(GtkWidget * w, TrgMainWindow * win); +static void reannounce_cb(GtkWidget * w, TrgMainWindow * win); +static void pause_cb(GtkWidget * w, TrgMainWindow * win); +static void resume_cb(GtkWidget * w, TrgMainWindow * win); +static void remove_cb(GtkWidget * w, TrgMainWindow * win); +static void resume_all_cb(GtkWidget * w, TrgMainWindow * win); +static void pause_all_cb(GtkWidget * w, TrgMainWindow * win); +static void move_cb(GtkWidget * w, TrgMainWindow * win); +static void delete_cb(GtkWidget * w, TrgMainWindow * win); +static void open_props_cb(GtkWidget * w, TrgMainWindow * win); +static gint confirm_action_dialog(GtkWindow * gtk_win, GtkTreeSelection * selection, gchar * question_single, gchar * question_multi, gchar * action_stock); static void view_stats_toggled_cb(GtkWidget * w, gpointer data); -static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data); -static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data); +static void view_states_toggled_cb(GtkCheckMenuItem * w, + TrgMainWindow * win); +static void view_notebook_toggled_cb(GtkCheckMenuItem * w, + TrgMainWindow * win); static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win); static gboolean on_session_get(gpointer data); static gboolean on_torrent_get(gpointer data, int mode); @@ -146,9 +151,9 @@ static TrgTorrentTreeView static gboolean trg_dialog_error_handler(TrgMainWindow * win, trg_response * response); static gboolean torrent_selection_changed(GtkTreeSelection * selection, - gpointer data); + TrgMainWindow * win); static void trg_main_window_torrent_scrub(TrgMainWindow * win); -static void entry_filter_changed_cb(GtkWidget * w, gpointer data); +static void entry_filter_changed_cb(GtkWidget * w, TrgMainWindow * win); static void torrent_state_selection_changed(TrgStateSelector * selector, guint flag, gpointer data); static void trg_main_window_conn_changed(TrgMainWindow * win, @@ -163,12 +168,13 @@ static void trg_main_window_set_property(GObject * object, static void quit_cb(GtkWidget * w, gpointer data); static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win); #ifndef HAVE_LIBAPPINDICATOR -static void status_icon_activated(GtkStatusIcon * icon, gpointer data); +static void status_icon_activated(GtkStatusIcon * icon, + TrgMainWindow * win); static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, - gpointer userdata); + TrgMainWindow * win); static gboolean status_icon_button_press_event(GtkStatusIcon * icon, GdkEventButton * event, - gpointer data); + TrgMainWindow * win); #endif static void clear_filter_entry_cb(GtkEntry * entry, GtkEntryIconPosition icon_pos, @@ -177,7 +183,7 @@ static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell, const gchar * text, char *stock_id, gboolean sensitive, GCallback cb, gpointer cbdata); -static void set_limit_cb(GtkWidget * w, gpointer data); +static void set_limit_cb(GtkWidget * w, TrgMainWindow * win); static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu, gint64 currentLimit, gfloat limit); static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, @@ -185,7 +191,7 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, JsonArray * ids); static void trg_torrent_tv_view_menu(GtkWidget * treeview, GdkEventButton * event, - gpointer data); + TrgMainWindow * win); static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win, const gchar * msg); static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, @@ -194,16 +200,12 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview, gpointer userdata); static gboolean is_ready_for_torrent_action(TrgMainWindow * win); -static gboolean window_state_event(GtkWidget * widget, +static gboolean window_state_event(TrgMainWindow * win, GdkEventWindowState * event, gpointer trayIcon); G_DEFINE_TYPE(TrgMainWindow, trg_main_window, GTK_TYPE_WINDOW) -#define TRG_MAIN_WINDOW_GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_MAIN_WINDOW, TrgMainWindowPrivate)) -typedef struct _TrgMainWindowPrivate TrgMainWindowPrivate; - struct _TrgMainWindowPrivate { TrgClient *client; TrgToolbar *toolBar; @@ -260,27 +262,30 @@ enum { static void reset_connect_args(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; if (priv->args) { g_strfreev(priv->args); priv->args = NULL; } } -static void trg_main_window_init(TrgMainWindow * self G_GNUC_UNUSED) +static void trg_main_window_init(TrgMainWindow * self) { + self->priv = + G_TYPE_INSTANCE_GET_PRIVATE(self, TRG_TYPE_MAIN_WINDOW, + TrgMainWindowPrivate); } gint trg_mw_get_selected_torrent_id(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; return priv->selectedTorrentId; } -static void update_selected_torrent_notebook(TrgMainWindow * win, - gint mode, gint64 id) +static void +update_selected_torrent_notebook(TrgMainWindow * win, gint mode, gint64 id) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgClient *client = priv->client; JsonObject *t; GtkTreeIter iter; @@ -307,12 +312,14 @@ static void update_selected_torrent_notebook(TrgMainWindow * win, } #ifdef HAVE_LIBNOTIFY -static void torrent_event_notification(TrgTorrentModel * model, - gchar * icon, gchar * desc, - gint tmout, gchar * prefKey, - GtkTreeIter * iter, gpointer data) +static void +torrent_event_notification(TrgTorrentModel * model, + gchar * icon, gchar * desc, + gint tmout, gchar * prefKey, + GtkTreeIter * iter, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); gchar *name; NotifyNotification *notify; @@ -346,8 +353,9 @@ static void torrent_event_notification(TrgTorrentModel * model, } #endif -static void on_torrent_completed(TrgTorrentModel * model, - GtkTreeIter * iter, gpointer data) +static void +on_torrent_completed(TrgTorrentModel * model, + GtkTreeIter * iter, gpointer data) { #ifdef HAVE_LIBNOTIFY torrent_event_notification(model, GTK_STOCK_APPLY, @@ -357,8 +365,9 @@ static void on_torrent_completed(TrgTorrentModel * model, #endif } -static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, - gpointer data) +static void +on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, + gpointer data) { #ifdef HAVE_LIBNOTIFY torrent_event_notification(model, GTK_STOCK_ADD, @@ -368,15 +377,17 @@ static void on_torrent_added(TrgTorrentModel * model, GtkTreeIter * iter, #endif } -static gboolean delete_event(GtkWidget * w, GdkEvent * event G_GNUC_UNUSED, - gpointer data G_GNUC_UNUSED) +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) +static void +destroy_window(TrgMainWindow * win, gpointer data G_GNUC_UNUSED) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(w); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); trg_prefs_set_int(prefs, TRG_PREFS_KEY_WINDOW_HEIGHT, priv->height, @@ -399,25 +410,26 @@ static void destroy_window(GtkWidget * w, gpointer data G_GNUC_UNUSED) gtk_main_quit(); } -static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void open_props_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; TrgTorrentPropsDialog *dialog; if (priv->selectedTorrentId < 0) return; - dialog = trg_torrent_props_dialog_new(GTK_WINDOW(data), + dialog = trg_torrent_props_dialog_new(GTK_WINDOW(win), priv->torrentTreeView, priv->client); gtk_widget_show_all(GTK_WIDGET(dialog)); } -static void torrent_tv_onRowActivated(GtkTreeView * treeview, - GtkTreePath * path G_GNUC_UNUSED, - GtkTreeViewColumn * - col G_GNUC_UNUSED, gpointer userdata) +static void +torrent_tv_onRowActivated(GtkTreeView * treeview, + GtkTreePath * path G_GNUC_UNUSED, + GtkTreeViewColumn * + col G_GNUC_UNUSED, gpointer userdata) { open_props_cb(GTK_WIDGET(treeview), userdata); } @@ -425,7 +437,7 @@ static void torrent_tv_onRowActivated(GtkTreeView * treeview, static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { TrgMainWindow *win = TRG_MAIN_WINDOW(data); - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; TrgTorrentAddUrlDialog *dlg = trg_torrent_add_url_dialog_new(win, priv-> @@ -435,35 +447,36 @@ static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) static void add_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) - trg_torrent_add_dialog(TRG_MAIN_WINDOW(data), priv->client); + trg_torrent_add_dialog(win, priv->client); } -static void pause_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void pause_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) dispatch_async(priv->client, torrent_pause(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void pause_all_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) dispatch_async(priv->client, torrent_pause(NULL), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } gint trg_add_from_filename(TrgMainWindow * win, gchar ** uris) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgClient *client = priv->client; TrgPrefs *prefs = trg_client_get_prefs(client); GSList *filesList = NULL; @@ -506,29 +519,30 @@ gint trg_add_from_filename(TrgMainWindow * win, gchar ** uris) return EXIT_SUCCESS; } -static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void resume_all_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) dispatch_async(priv->client, torrent_start(NULL), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void resume_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void resume_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) dispatch_async(priv->client, torrent_start(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; trg_client_inc_connid(priv->client); trg_main_window_conn_changed(TRG_MAIN_WINDOW(data), FALSE); @@ -537,7 +551,9 @@ static void disconnect_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) void connect_cb(GtkWidget * w, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; + TrgPrefs *prefs = trg_client_get_prefs(priv->client); JsonObject *currentProfile = trg_prefs_get_profile(prefs); JsonObject *profile = NULL; @@ -585,31 +601,32 @@ void connect_cb(GtkWidget * w, gpointer data) dispatch_async(priv->client, session_get(), on_session_get, data); } -static void open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void +open_local_prefs_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - GtkWidget *dlg = - trg_preferences_dialog_get_instance(TRG_MAIN_WINDOW(data), - priv->client); + GtkWidget *dlg = trg_preferences_dialog_get_instance(win, + priv->client); gtk_widget_show_all(dlg); } -static void open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, - gpointer data) +static void +open_remote_prefs_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) gtk_widget_show_all(GTK_WIDGET (trg_remote_prefs_dialog_get_instance - (TRG_MAIN_WINDOW(data), priv->client))); + (win, priv->client))); } -static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, - gpointer win) +static void +main_window_toggle_filter_dirs(GtkCheckMenuItem * w, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; if (gtk_widget_is_sensitive(GTK_WIDGET(w))) trg_state_selector_set_show_dirs(priv->stateSelector, @@ -617,10 +634,11 @@ static void main_window_toggle_filter_dirs(GtkCheckMenuItem * w, (w)); } -static void main_window_toggle_filter_trackers(GtkCheckMenuItem * w, - gpointer win) +static void +main_window_toggle_filter_trackers(GtkCheckMenuItem * w, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; if (gtk_widget_is_sensitive(GTK_WIDGET(w))) trg_state_selector_set_show_trackers(priv->stateSelector, @@ -630,7 +648,7 @@ static void main_window_toggle_filter_trackers(GtkCheckMenuItem * w, static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); GObject *b_connect, *b_disconnect, *b_add, *b_resume, *b_pause; @@ -664,100 +682,96 @@ static TrgToolbar *trg_main_window_toolbar_new(TrgMainWindow * win) return toolBar; } -static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void reannounce_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) dispatch_async(priv->client, torrent_reannounce(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void verify_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void verify_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_verify(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void start_now_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_start_now(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void up_queue_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (priv->queuesEnabled - && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (priv->queuesEnabled && is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_queue_move_up(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void top_queue_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (priv->queuesEnabled - && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (priv->queuesEnabled && is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_queue_move_top(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void +bottom_queue_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (priv->queuesEnabled - && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (priv->queuesEnabled && is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_queue_move_bottom(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void down_queue_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (priv->queuesEnabled - && is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (priv->queuesEnabled && is_ready_for_torrent_action(win)) dispatch_async(priv->client, torrent_queue_move_down(build_json_id_array (priv->torrentTreeView)), - on_generic_interactive_action, data); + on_generic_interactive_action, win); } -static gint confirm_action_dialog(GtkWindow * win, - GtkTreeSelection * selection, - gchar * question_single, - gchar * question_multi, - gchar * action_stock) +static gint +confirm_action_dialog(GtkWindow * gtk_win, + GtkTreeSelection * selection, + gchar * question_single, + gchar * question_multi, gchar * action_stock) { - TrgMainWindowPrivate *priv; + TrgMainWindow *win = TRG_MAIN_WINDOW(gtk_win); + TrgMainWindowPrivate *priv = win->priv; gint selectCount; gint response; GtkWidget *dialog = NULL; - priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); - selectCount = gtk_tree_selection_count_selected_rows(selection); if (selectCount == 1) { @@ -811,74 +825,72 @@ static gint confirm_action_dialog(GtkWindow * win, static gboolean is_ready_for_torrent_action(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; return priv->selectedTorrentId >= 0 && trg_client_is_connected(priv->client); } -static void move_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void move_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - if (is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (is_ready_for_torrent_action(win)) gtk_widget_show_all(GTK_WIDGET (trg_torrent_move_dialog_new - (TRG_MAIN_WINDOW(data), priv->client, - priv->torrentTreeView))); + (win, priv->client, priv->torrentTreeView))); } -static void remove_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void remove_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; GtkTreeSelection *selection; JsonArray *ids; - if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (!is_ready_for_torrent_action(win)) return; selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); ids = build_json_id_array(priv->torrentTreeView); - if (confirm_action_dialog(GTK_WINDOW(data), selection, _ + if (confirm_action_dialog(GTK_WINDOW(win), selection, _ ("<big><b>Remove torrent \"%s\"?</b></big>"), _("<big><b>Remove %d torrents?</b></big>"), - GTK_STOCK_REMOVE) - == GTK_RESPONSE_ACCEPT) + GTK_STOCK_REMOVE) == GTK_RESPONSE_ACCEPT) dispatch_async(priv->client, torrent_remove(ids, FALSE), - on_generic_interactive_action, data); + on_generic_interactive_action, win); else json_array_unref(ids); } -static void delete_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) +static void delete_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) { - TrgMainWindowPrivate *priv; + TrgMainWindowPrivate *priv = win->priv; GtkTreeSelection *selection; JsonArray *ids; - priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(priv->torrentTreeView)); ids = build_json_id_array(priv->torrentTreeView); - if (!is_ready_for_torrent_action(TRG_MAIN_WINDOW(data))) + if (!is_ready_for_torrent_action(win)) return; - if (confirm_action_dialog(GTK_WINDOW(data), selection, _ + if (confirm_action_dialog(GTK_WINDOW(win), selection, _ ("<big><b>Remove and delete torrent \"%s\"?</b></big>"), _ ("<big><b>Remove and delete %d torrents?</b></big>"), GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) dispatch_async(priv->client, torrent_remove(ids, TRUE), - on_generic_interactive_action, data); + on_generic_interactive_action, win); else json_array_unref(ids); } static void view_stats_toggled_cb(GtkWidget * w, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; if (trg_client_is_connected(priv->client)) { TrgStatsDialog *dlg = @@ -889,25 +901,30 @@ static void view_stats_toggled_cb(GtkWidget * w, gpointer data) } } -static void view_states_toggled_cb(GtkCheckMenuItem * w, gpointer data) +static void +view_states_toggled_cb(GtkCheckMenuItem * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; + trg_widget_set_visible(priv->stateSelectorScroller, gtk_check_menu_item_get_active(w)); } -static void view_notebook_toggled_cb(GtkCheckMenuItem * w, gpointer data) +static void +view_notebook_toggled_cb(GtkCheckMenuItem * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; + trg_widget_set_visible(priv->notebook, gtk_check_menu_item_get_active(w)); } #if TRG_WITH_GRAPH -static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, - gpointer win) +static void +trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; if (!gtk_widget_is_sensitive(GTK_WIDGET(w))) { return; @@ -920,16 +937,16 @@ static void trg_main_window_toggle_graph_cb(GtkCheckMenuItem * w, } #endif -void trg_main_window_notebook_set_visible(TrgMainWindow * win, - gboolean visible) +void +trg_main_window_notebook_set_visible(TrgMainWindow * win, gboolean visible) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; trg_widget_set_visible(priv->notebook, visible); } static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); GtkWidget *notebook = priv->notebook = gtk_notebook_new(); @@ -983,9 +1000,10 @@ static GtkWidget *trg_main_window_notebook_new(TrgMainWindow * win) gboolean on_session_set(gpointer data) { + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; + trg_response *response = (trg_response *) data; - TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); if (response->status == CURLE_OK || response->status == FAIL_RESPONSE_UNSUCCESSFUL) @@ -998,8 +1016,8 @@ gboolean on_session_set(gpointer data) return FALSE; } -static gboolean hasEnabledChanged(JsonObject * a, JsonObject * b, - const gchar * key) +static gboolean +hasEnabledChanged(JsonObject * a, JsonObject * b, const gchar * key) { return json_object_get_boolean_member(a, key) != json_object_get_boolean_member(b, key); @@ -1009,8 +1027,8 @@ static gboolean on_session_get(gpointer data) { trg_response *response = (trg_response *) data; TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); - TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); + TrgMainWindowPrivate *priv = win->priv; + TrgClient *client = priv->client; gboolean isConnected = trg_client_is_connected(client); JsonObject *lastSession = trg_client_get_session(client); @@ -1029,8 +1047,8 @@ static gboolean on_session_get(gpointer data) } if ((version = - session_get_version(newSession)) < - TRANSMISSION_MIN_SUPPORTED) { + session_get_version(newSession)) < TRANSMISSION_MIN_SUPPORTED) + { gchar *msg = g_strdup_printf(_ ("This application supports Transmission %g and later, you have %g."), @@ -1091,14 +1109,15 @@ TRANSMISSION_MIN_SUPPORTED, version); return FALSE; } -static void connchange_whatever_statusicon(TrgMainWindow * win, - gboolean connected) +static void +connchange_whatever_statusicon(TrgMainWindow * win, gboolean connected) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); - const gchar *display = connected ? + gchar *display = connected ? trg_prefs_get_string(prefs, TRG_PREFS_KEY_PROFILE_NAME, - TRG_PREFS_CONNECTION) : _("Disconnected"); + TRG_PREFS_CONNECTION) : g_strdup(_("Disconnected")); + GtkMenu *menu = trg_status_icon_view_menu(win, display); #ifdef HAVE_LIBAPPINDICATOR if (priv->appIndicator) { @@ -1106,7 +1125,6 @@ static void connchange_whatever_statusicon(TrgMainWindow * win, app_indicator_set_menu(priv->appIndicator, menu); } #else - GtkMenu *menu = trg_status_icon_view_menu(win, display); if (priv->iconMenu) gtk_widget_destroy(GTK_WIDGET(priv->iconMenu)); @@ -1116,13 +1134,15 @@ static void connchange_whatever_statusicon(TrgMainWindow * win, if (priv->statusIcon) gtk_status_icon_set_tooltip_text(priv->statusIcon, display); #endif + + g_free(display); } -static void update_whatever_statusicon(TrgMainWindow * win, - trg_torrent_model_update_stats * - stats) +static void +update_whatever_statusicon(TrgMainWindow * win, + trg_torrent_model_update_stats * stats) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR if (!priv->appIndicator) @@ -1164,8 +1184,7 @@ static gboolean on_torrent_get(gpointer data, int mode) { trg_response *response = (trg_response *) data; TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); - TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); + TrgMainWindowPrivate *priv = win->priv; TrgClient *client = priv->client; TrgPrefs *prefs = trg_client_get_prefs(client); trg_torrent_model_update_stats *stats; @@ -1223,16 +1242,27 @@ static gboolean on_torrent_get(gpointer data, int mode) trg_client_reset_failcount(client); trg_client_inc_serial(client); - gtk_widget_freeze_child_notify(GTK_WIDGET(priv->torrentTreeView)); - gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE(priv->sortedTorrentModel), &old_sort_id, &old_order); - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(priv->sortedTorrentModel), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); + if (mode != TORRENT_GET_MODE_FIRST) + gtk_widget_freeze_child_notify(GTK_WIDGET(priv->torrentTreeView)); + + gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE + (priv->sortedTorrentModel), + &old_sort_id, &old_order); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE + (priv->sortedTorrentModel), + GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, + GTK_SORT_ASCENDING); stats = trg_torrent_model_update(priv->torrentModel, client, response->obj, mode); - gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(priv->sortedTorrentModel), old_sort_id, old_order); - gtk_widget_thaw_child_notify(GTK_WIDGET(priv->torrentTreeView)); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE + (priv->sortedTorrentModel), + old_sort_id, old_order); + + if (mode != TORRENT_GET_MODE_FIRST) + gtk_widget_thaw_child_notify(GTK_WIDGET(priv->torrentTreeView)); update_selected_torrent_notebook(win, mode, priv->selectedTorrentId); trg_status_bar_update(priv->statusBar, stats, client); @@ -1261,9 +1291,8 @@ static gboolean on_torrent_get_active(gpointer data) static gboolean on_torrent_get_first(gpointer data) { trg_response *response = (trg_response *) data; - TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); + TrgMainWindowPrivate *priv = win->priv; gboolean result = on_torrent_get(data, TORRENT_GET_MODE_FIRST); @@ -1287,7 +1316,8 @@ static gboolean on_torrent_get_update(gpointer data) static gboolean trg_update_torrents_timerfunc(gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; TrgClient *tc = priv->client; TrgPrefs *prefs = trg_client_get_prefs(tc); @@ -1298,10 +1328,10 @@ static gboolean trg_update_torrents_timerfunc(gpointer data) && (!trg_prefs_get_bool(prefs, TRG_PREFS_ACTIVEONLY_FULLSYNC_ENABLED, TRG_PREFS_CONNECTION) - || (trg_client_get_serial(tc) - % trg_prefs_get_int(prefs, - TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, - TRG_PREFS_CONNECTION) != 0)); + || (trg_client_get_serial(tc) % trg_prefs_get_int(prefs, + TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, + TRG_PREFS_CONNECTION) + != 0)); dispatch_async(tc, torrent_get(activeOnly ? TORRENT_GET_TAG_MODE_UPDATE : TORRENT_GET_TAG_MODE_FULL), @@ -1324,12 +1354,12 @@ static void open_about_cb(GtkWidget * w G_GNUC_UNUSED, GtkWindow * parent) gtk_widget_destroy(aboutDialog); } -static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model, - GtkTreeIter * iter, - gpointer data) +static gboolean +trg_torrent_tree_view_visible_func(GtkTreeModel * model, + GtkTreeIter * iter, gpointer data) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); - + TrgMainWindow *win = TRG_MAIN_WINDOW(data); + TrgMainWindowPrivate *priv = win->priv; guint flags; gboolean visible; const gchar *filterText; @@ -1396,16 +1426,16 @@ static gboolean trg_torrent_tree_view_visible_func(GtkTreeModel * model, void trg_main_window_reload_dir_aliases(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; trg_torrent_model_reload_dir_aliases(priv->client, GTK_TREE_MODEL (priv->torrentModel)); } static TrgTorrentTreeView - * trg_main_window_torrent_tree_view_new(TrgMainWindow * win, - GtkTreeModel * model) + *trg_main_window_torrent_tree_view_new(TrgMainWindow * win, + GtkTreeModel * model) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgTorrentTreeView *torrentTreeView = trg_torrent_tree_view_new(trg_client_get_prefs(priv->client), model); @@ -1419,10 +1449,10 @@ static TrgTorrentTreeView return torrentTreeView; } -static gboolean trg_dialog_error_handler(TrgMainWindow * win, - trg_response * response) +static gboolean +trg_dialog_error_handler(TrgMainWindow * win, trg_response * response) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; if (response->status != CURLE_OK) { GtkWidget *dialog; @@ -1444,11 +1474,11 @@ static gboolean trg_dialog_error_handler(TrgMainWindow * win, } } -static gboolean torrent_selection_changed(GtkTreeSelection * selection, - gpointer data) +static gboolean +torrent_selection_changed(GtkTreeSelection * selection, + TrgMainWindow * win) { - TrgMainWindow *win = TRG_MAIN_WINDOW(data); - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; GList *selectionList; GList *firstNode; gint64 id; @@ -1483,8 +1513,7 @@ gboolean on_generic_interactive_action(gpointer data) { trg_response *response = (trg_response *) data; TrgMainWindow *win = TRG_MAIN_WINDOW(response->cb_data); - TrgMainWindowPrivate *priv = - TRG_MAIN_WINDOW_GET_PRIVATE(response->cb_data); + TrgMainWindowPrivate *priv = win->priv; TrgClient *tc = priv->client; if (trg_client_is_connected(tc)) { @@ -1506,10 +1535,9 @@ gboolean on_generic_interactive_action(gpointer data) return FALSE; } -static -void trg_main_window_torrent_scrub(TrgMainWindow * win) +static void trg_main_window_torrent_scrub(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; gtk_tree_store_clear(GTK_TREE_STORE(priv->filesModel)); gtk_list_store_clear(GTK_LIST_STORE(priv->trackersModel)); @@ -1522,9 +1550,9 @@ void trg_main_window_torrent_scrub(TrgMainWindow * win) trg_menu_bar_torrent_actions_sensitive(priv->menuBar, FALSE); } -static void entry_filter_changed_cb(GtkWidget * w, gpointer data) +static void entry_filter_changed_cb(GtkWidget * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; gboolean clearSensitive = gtk_entry_get_text_length(GTK_ENTRY(w)) > 0; gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER @@ -1534,18 +1562,18 @@ static void entry_filter_changed_cb(GtkWidget * w, gpointer data) clearSensitive, NULL); } -static void torrent_state_selection_changed(TrgStateSelector * - selector G_GNUC_UNUSED, - guint flag G_GNUC_UNUSED, - gpointer data) +static void +torrent_state_selection_changed(TrgStateSelector * + selector G_GNUC_UNUSED, + guint flag G_GNUC_UNUSED, gpointer data) { gtk_tree_model_filter_refilter(GTK_TREE_MODEL_FILTER(data)); } -static -void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) +static void +trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgClient *tc = priv->client; trg_toolbar_connected_change(priv->toolBar, connected); @@ -1576,11 +1604,14 @@ void trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) connchange_whatever_statusicon(win, connected); } -static void trg_main_window_get_property(GObject * object, - guint property_id, GValue * value, - GParamSpec * pspec) +static void +trg_main_window_get_property(GObject * object, + guint property_id, GValue * value, + GParamSpec * pspec) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); + TrgMainWindow *win = TRG_MAIN_WINDOW(object); + TrgMainWindowPrivate *priv = win->priv; + switch (property_id) { case PROP_CLIENT: g_value_set_pointer(value, priv->client); @@ -1594,12 +1625,14 @@ static void trg_main_window_get_property(GObject * object, } } -static void trg_main_window_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_main_window_set_property(GObject * object, + guint property_id, + const GValue * value, GParamSpec * pspec) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(object); + TrgMainWindow *win = TRG_MAIN_WINDOW(object); + TrgMainWindowPrivate *priv = win->priv; + switch (property_id) { case PROP_CLIENT: priv->client = g_value_get_pointer(value); @@ -1620,7 +1653,7 @@ 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); + TrgMainWindowPrivate *priv = win->priv; GObject *b_disconnect, *b_add, *b_resume, *b_pause, *b_verify, *b_remove, *b_delete, *b_props, *b_local_prefs, *b_remote_prefs, @@ -1715,26 +1748,27 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) } #ifndef HAVE_LIBAPPINDICATOR -static void status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED, - gpointer data) +static void +status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED, + TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; - gtk_window_deiconify(GTK_WINDOW(data)); - gtk_window_present(GTK_WINDOW(data)); + gtk_window_deiconify(GTK_WINDOW(win)); + gtk_window_present(GTK_WINDOW(win)); if (priv->timerId > 0) { g_source_remove(priv->timerId); dispatch_async(priv->client, torrent_get(TORRENT_GET_TAG_MODE_FULL), - on_torrent_get_update, data); + on_torrent_get_update, win); } } -static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, - gpointer userdata) +static gboolean +trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(userdata); + TrgMainWindowPrivate *priv = win->priv; gtk_menu_popup(priv->iconMenu, NULL, NULL, #ifdef WIN32 @@ -1747,12 +1781,14 @@ static gboolean trg_status_icon_popup_menu_cb(GtkStatusIcon * icon, return TRUE; } -static gboolean status_icon_button_press_event(GtkStatusIcon * icon, - GdkEventButton * event, - gpointer data) +static gboolean +status_icon_button_press_event(GtkStatusIcon * icon, + GdkEventButton * event, TrgMainWindow * win) { + TrgMainWindowPrivate *priv = win->priv; + if (event->type == GDK_BUTTON_PRESS && event->button == 3) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + gtk_menu_popup(priv->iconMenu, NULL, NULL, #ifdef WIN32 NULL, @@ -1769,9 +1805,10 @@ static gboolean status_icon_button_press_event(GtkStatusIcon * icon, } #endif -static void clear_filter_entry_cb(GtkEntry * entry, - GtkEntryIconPosition icon_pos, - GdkEvent * event, gpointer user_data) +static void +clear_filter_entry_cb(GtkEntry * entry, + GtkEntryIconPosition icon_pos, + GdkEvent * event, gpointer user_data) { gtk_entry_set_text(entry, ""); } @@ -1794,9 +1831,9 @@ static GtkWidget *trg_imagemenuitem_new(GtkMenuShell * shell, return item; } -static void set_limit_cb(GtkWidget * w, gpointer data) +static void set_limit_cb(GtkWidget * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; GtkWidget *parent = gtk_widget_get_parent(w); @@ -1822,14 +1859,14 @@ static void set_limit_cb(GtkWidget * w, gpointer data) if (limitIds) dispatch_async(priv->client, req, on_generic_interactive_action, - data); + win); else - dispatch_async(priv->client, req, on_session_set, data); + dispatch_async(priv->client, req, on_session_set, win); } -static void set_priority_cb(GtkWidget * w, gpointer data) +static void set_priority_cb(GtkWidget * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; GtkWidget *parent = gtk_widget_get_parent(w); @@ -1846,7 +1883,7 @@ static void set_priority_cb(GtkWidget * w, gpointer data) json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, priority); - dispatch_async(priv->client, req, on_generic_interactive_action, data); + dispatch_async(priv->client, req, on_generic_interactive_action, win); } static GtkWidget *limit_item_new(TrgMainWindow * win, GtkWidget * menu, @@ -1888,7 +1925,7 @@ static GtkWidget *priority_menu_item_new(TrgMainWindow * win, static GtkWidget *priority_menu_new(TrgMainWindow * win, JsonArray * ids) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgClient *client = priv->client; JsonObject *t = NULL; gint selected_pri = TR_PRI_UNSET; @@ -1925,7 +1962,7 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, gchar * enabledKey, gchar * speedKey, JsonArray * ids) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgClient *client = priv->client; JsonObject *current = NULL; GtkTreeIter iter; @@ -1991,9 +2028,9 @@ static GtkWidget *limit_menu_new(TrgMainWindow * win, gchar * title, return toplevel; } -static void exec_cmd_cb(GtkWidget * w, gpointer data) +static void exec_cmd_cb(GtkWidget * w, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; JsonObject *cmd_obj = (JsonObject *) g_object_get_data(G_OBJECT(w), "cmd-object"); GtkTreeSelection *selection = @@ -2016,8 +2053,8 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) if (!cmd_line) return; - //GTK has bug, won't let you pass a string here containing a quoted param, so use parse and then spawn - // rather than g_spawn_command_line_async(cmd_line,&cmd_error); + /* GTK has bug, won't let you pass a string here containing a quoted param, so use parse and then spawn + * rather than g_spawn_command_line_async(cmd_line,&cmd_error); */ g_shell_parse_argv(cmd_line, NULL, &argv, NULL); g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, @@ -2032,7 +2069,7 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) g_free(cmd_line); if (cmd_error) { - GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(data), + GtkWidget *dialog = gtk_message_dialog_new(GTK_WINDOW(win), GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", @@ -2044,10 +2081,11 @@ static void exec_cmd_cb(GtkWidget * w, gpointer data) } } -static void trg_torrent_tv_view_menu(GtkWidget * treeview, - GdkEventButton * event, gpointer data) +static void +trg_torrent_tv_view_menu(GtkWidget * treeview, + GdkEventButton * event, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); GtkWidget *menu; gint n_cmds; @@ -2059,28 +2097,28 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview, trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Properties"), GTK_STOCK_PROPERTIES, TRUE, - G_CALLBACK(open_props_cb), data); + G_CALLBACK(open_props_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Resume"), GTK_STOCK_MEDIA_PLAY, TRUE, - G_CALLBACK(resume_cb), data); + G_CALLBACK(resume_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Pause"), GTK_STOCK_MEDIA_PAUSE, TRUE, - G_CALLBACK(pause_cb), data); + G_CALLBACK(pause_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Verify"), GTK_STOCK_REFRESH, TRUE, G_CALLBACK(verify_cb), - data); + win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Re-announce"), GTK_STOCK_REFRESH, TRUE, - G_CALLBACK(reannounce_cb), data); + G_CALLBACK(reannounce_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move"), GTK_STOCK_HARDDISK, TRUE, G_CALLBACK(move_cb), - data); + win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove"), GTK_STOCK_REMOVE, TRUE, G_CALLBACK(remove_cb), - data); + win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Remove & Delete"), GTK_STOCK_CLEAR, TRUE, G_CALLBACK(delete_cb), - data); + win); cmds = trg_prefs_get_array(prefs, TRG_PREFS_KEY_EXEC_COMMANDS, TRG_PREFS_CONNECTION); @@ -2120,7 +2158,7 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview, GTK_STOCK_EXECUTE, TRUE, G_CALLBACK - (exec_cmd_cb), data); + (exec_cmd_cb), win); g_object_set_data(G_OBJECT(item), "cmd-object", cmd_obj); } @@ -2133,35 +2171,35 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview, if (priv->queuesEnabled) { trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Start Now"), GTK_STOCK_MEDIA_PLAY, TRUE, - G_CALLBACK(start_now_cb), data); + G_CALLBACK(start_now_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Up Queue"), GTK_STOCK_GO_UP, TRUE, - G_CALLBACK(up_queue_cb), data); + G_CALLBACK(up_queue_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Move Down Queue"), GTK_STOCK_GO_DOWN, TRUE, - G_CALLBACK(down_queue_cb), data); + G_CALLBACK(down_queue_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Bottom Of Queue"), GTK_STOCK_GOTO_BOTTOM, TRUE, - G_CALLBACK(bottom_queue_cb), data); + G_CALLBACK(bottom_queue_cb), win); trg_imagemenuitem_new(GTK_MENU_SHELL(menu), _("Top Of Queue"), GTK_STOCK_GOTO_TOP, TRUE, - G_CALLBACK(top_queue_cb), data); + G_CALLBACK(top_queue_cb), win); gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); } gtk_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), + limit_menu_new(win, _("Down Limit"), FIELD_DOWNLOAD_LIMITED, FIELD_DOWNLOAD_LIMIT, ids)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - limit_menu_new(TRG_MAIN_WINDOW(data), + limit_menu_new(win, _("Up Limit"), FIELD_UPLOAD_LIMITED, FIELD_UPLOAD_LIMIT, ids)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), - priority_menu_new(TRG_MAIN_WINDOW(data), ids)); + priority_menu_new(win, ids)); gtk_widget_show_all(menu); @@ -2173,7 +2211,7 @@ static void trg_torrent_tv_view_menu(GtkWidget * treeview, static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win, const gchar * msg) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); gboolean connected = trg_client_is_connected(priv->client); GtkWidget *menu, *connect; @@ -2254,9 +2292,9 @@ static GtkMenu *trg_status_icon_view_menu(TrgMainWindow * win, return GTK_MENU(menu); } -static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, - GdkEventButton * event, - gpointer userdata) +static gboolean +torrent_tv_button_pressed_cb(GtkWidget * treeview, + GdkEventButton * event, gpointer userdata) { GtkTreeSelection *selection; GtkTreePath *path; @@ -2282,19 +2320,19 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, return FALSE; } -static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview, - gpointer userdata) +static gboolean +torrent_tv_popup_menu_cb(GtkWidget * treeview, gpointer userdata) { trg_torrent_tv_view_menu(treeview, NULL, userdata); return TRUE; } -static gboolean window_state_event(GtkWidget * widget, - GdkEventWindowState * event, - gpointer trayIcon) +static gboolean +window_state_event(TrgMainWindow * win, + GdkEventWindowState * event, gpointer trayIcon) { #ifndef HAVE_LIBAPPINDICATOR - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); if (priv->statusIcon @@ -2304,7 +2342,7 @@ static gboolean window_state_event(GtkWidget * widget, (GDK_WINDOW_STATE_ICONIFIED | GDK_WINDOW_STATE_MAXIMIZED)) && trg_prefs_get_bool(prefs, TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, TRG_PREFS_GLOBAL)) { - gtk_widget_hide(GTK_WIDGET(widget)); + gtk_widget_hide(GTK_WIDGET(win)); } return TRUE; @@ -2315,7 +2353,7 @@ static gboolean window_state_event(GtkWidget * widget, void trg_main_window_remove_status_icon(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR if (priv->appIndicator) g_object_unref(G_OBJECT(priv->appIndicator)); @@ -2333,7 +2371,7 @@ void trg_main_window_remove_status_icon(TrgMainWindow * win) #if TRG_WITH_GRAPH void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; priv->graph = trg_torrent_graph_new(gtk_widget_get_style(priv->notebook)); @@ -2350,7 +2388,7 @@ void trg_main_window_add_graph(TrgMainWindow * win, gboolean show) void trg_main_window_remove_graph(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; if (priv->graphNotebookIndex >= 0) { gtk_notebook_remove_page(GTK_NOTEBOOK(priv->notebook), @@ -2370,7 +2408,7 @@ void trg_main_window_remove_graph(TrgMainWindow * win) void trg_main_window_add_status_icon(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR if ((priv->appIndicator = app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, @@ -2391,7 +2429,6 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) G_CALLBACK(status_icon_button_press_event), win); g_signal_connect(priv->statusIcon, "popup-menu", G_CALLBACK(trg_status_icon_popup_menu_cb), win); - // g_signal_connect(priv->statusIcon, "size-changed", G_CALLBACK(status_icon_size_changed), win); gtk_status_icon_set_visible(priv->statusIcon, TRUE); #endif @@ -2402,26 +2439,26 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) TrgStateSelector *trg_main_window_get_state_selector(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; return priv->stateSelector; } -static gboolean trg_main_window_config_event(GtkWidget * widget, - GdkEvent * event, - gpointer user_data - G_GNUC_UNUSED) +static gboolean +trg_main_window_config_event(TrgMainWindow * win, + GdkEvent * event, + gpointer user_data G_GNUC_UNUSED) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(widget); + TrgMainWindowPrivate *priv = win->priv; priv->width = event->configure.width; priv->height = event->configure.height; return FALSE; } -static void trg_client_session_updated_cb(TrgClient * tc, - JsonObject * session, - gpointer data) +static void +trg_client_session_updated_cb(TrgClient * tc, + JsonObject * session, TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(data); + TrgMainWindowPrivate *priv = win->priv; gboolean queuesEnabled; trg_status_bar_session_update(priv->statusBar, session); @@ -2452,9 +2489,10 @@ static GtkTargetEntry target_list[] = { static guint n_targets = G_N_ELEMENTS(target_list); -static void on_dropped_file(GtkWidget * widget, GdkDragContext * context, - gint x, gint y, GtkSelectionData * data, - guint info, guint time, gpointer user_data) +static void +on_dropped_file(GtkWidget * widget, GdkDragContext * context, + gint x, gint y, GtkSelectionData * data, + guint info, guint time, gpointer user_data) { TrgMainWindow *win = user_data; @@ -2484,8 +2522,14 @@ static GObject *trg_main_window_constructor(GType type, GObjectConstructParam * construct_params) { - TrgMainWindow *self; - TrgMainWindowPrivate *priv; + TrgMainWindow *self = TRG_MAIN_WINDOW(G_OBJECT_CLASS + (trg_main_window_parent_class)-> + constructor(type, + n_construct_properties, + construct_params)); + TrgMainWindowPrivate *priv = + G_TYPE_INSTANCE_GET_PRIVATE(self, TRG_TYPE_MAIN_WINDOW, + TrgMainWindowPrivate); GtkWidget *w; GtkWidget *outerVbox; GtkWidget *toolbarHbox; @@ -2494,12 +2538,6 @@ static GObject *trg_main_window_constructor(GType type, gboolean tray; TrgPrefs *prefs; - self = TRG_MAIN_WINDOW(G_OBJECT_CLASS - (trg_main_window_parent_class)->constructor - (type, n_construct_properties, - construct_params)); - priv = TRG_MAIN_WINDOW_GET_PRIVATE(self); - priv->queuesEnabled = TRUE; prefs = trg_client_get_prefs(priv->client); @@ -2657,14 +2695,14 @@ static GObject *trg_main_window_constructor(GType type, gtk_widget_hide(GTK_WIDGET(self)); /* Drag and Drop */ - gtk_drag_dest_set(GTK_WIDGET(self), // widget that will accept a drop - GTK_DEST_DEFAULT_ALL, // default actions for dest on DnD - target_list, // lists of target to support - n_targets, // size of list - GDK_ACTION_MOVE // what to do with data after dropped - // | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY + gtk_drag_dest_set(GTK_WIDGET(self), /* widget that will accept a drop */ + GTK_DEST_DEFAULT_ALL, /* default actions for dest on DnD */ + target_list, /* lists of target to support */ + n_targets, /* size of list */ + GDK_ACTION_MOVE /* what to do with data after dropped */ + /* | GDK_ACTION_COPY ... seems that file managers only need ACTION_MOVE, not ACTION_COPY */ ); - //g_signal_connect (priv->torrentTreeView, "drag-motion",G_CALLBACK (drag_motion_handl), NULL); + g_signal_connect(self, "drag-data-received", G_CALLBACK(on_dropped_file), self); @@ -2715,13 +2753,13 @@ static void trg_main_window_class_init(TrgMainWindowClass * klass) void trg_main_window_set_start_args(TrgMainWindow * win, gchar ** args) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; priv->args = args; } void auto_connect_if_required(TrgMainWindow * win) { - TrgMainWindowPrivate *priv = TRG_MAIN_WINDOW_GET_PRIVATE(win); + TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); gchar *host = trg_prefs_get_string(prefs, TRG_PREFS_KEY_HOSTNAME, TRG_PREFS_PROFILE); diff --git a/src/trg-main-window.h b/src/trg-main-window.h index 0c51f67..999ca38 100644 --- a/src/trg-main-window.h +++ b/src/trg-main-window.h @@ -45,8 +45,11 @@ G_BEGIN_DECLS (G_TYPE_CHECK_CLASS_TYPE ((klass), TRG_TYPE_MAIN_WINDOW)) #define TRG_MAIN_WINDOW_GET_CLASS(obj) \ (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_MAIN_WINDOW, TrgMainWindowClass)) - typedef struct { +typedef struct _TrgMainWindowPrivate TrgMainWindowPrivate; + +typedef struct { GtkWindow parent; + TrgMainWindowPrivate *priv; } TrgMainWindow; typedef struct { diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index 23ec34a..0502092 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -130,7 +130,6 @@ void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected) gtk_widget_set_sensitive(priv->mb_add, connected); gtk_widget_set_sensitive(priv->mb_add_url, connected); - //gtk_widget_set_sensitive(priv->mb_connect, !connected); gtk_widget_set_sensitive(priv->mb_disconnect, connected); gtk_widget_set_sensitive(priv->mb_remote_prefs, connected); gtk_widget_set_sensitive(priv->mb_view_stats, connected); @@ -138,8 +137,8 @@ void trg_menu_bar_connected_change(TrgMenuBar * mb, gboolean connected) gtk_widget_set_sensitive(priv->mb_pause_all, connected); } -void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, - gboolean sensitive) +void +trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, gboolean sensitive) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(mb); @@ -158,9 +157,10 @@ void trg_menu_bar_torrent_actions_sensitive(TrgMenuBar * mb, gtk_widget_set_sensitive(priv->mb_bottom_queue, sensitive); } -static void trg_menu_bar_set_property(GObject * object, - guint prop_id, const GValue * value, - GParamSpec * pspec G_GNUC_UNUSED) +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); @@ -315,8 +315,9 @@ GtkWidget *trg_menu_bar_item_new(GtkMenuShell * shell, const gchar * text, return item; } -static void trg_menu_bar_accel_add(TrgMenuBar * menu, GtkWidget * item, - guint key, GdkModifierType mods) +static void +trg_menu_bar_accel_add(TrgMenuBar * menu, GtkWidget * item, + guint key, GdkModifierType mods) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu); @@ -334,16 +335,17 @@ static void view_menu_item_toggled_cb(GtkCheckMenuItem * w, gpointer data) TRG_PREFS_GLOBAL); } -static void view_menu_bar_toggled_dependency_cb(GtkCheckMenuItem * w, - gpointer data) +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 void trg_menu_bar_view_item_update(TrgPrefs * p, gchar * updatedKey, - gpointer data) +static void +trg_menu_bar_view_item_update(TrgPrefs * p, gchar * updatedKey, + gpointer data) { gchar *key = (gchar *) g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); @@ -439,8 +441,7 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb) return view; } -static -GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar * menu) +static GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar * menu) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu); @@ -465,11 +466,11 @@ GtkWidget *trg_menu_bar_options_menu_new(TrgMenuBar * menu) return opts; } -static void trg_menu_bar_file_connect_item_new(TrgMainWindow * win, - GtkMenuShell * shell, - const gchar * text, - gboolean checked, - JsonObject * profile) +static void +trg_menu_bar_file_connect_item_new(TrgMainWindow * win, + GtkMenuShell * shell, + const gchar * text, + gboolean checked, JsonObject * profile) { GtkWidget *item = gtk_check_menu_item_new_with_label(text); @@ -513,8 +514,7 @@ GtkWidget *trg_menu_bar_file_connect_menu_new(TrgMainWindow * win, return menu; } -static -GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu) +static GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu); @@ -556,8 +556,7 @@ GtkWidget *trg_menu_bar_file_file_menu_new(TrgMenuBar * menu) return file; } -static -GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar * menu) +static GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar * menu) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menu); GtkWidget *torrent = gtk_menu_item_new_with_mnemonic(_("_Torrent")); @@ -657,8 +656,7 @@ GtkWidget *trg_menu_bar_torrent_menu_new(TrgMenuBar * menu) return torrent; } -static -GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar) +static GtkWidget *trg_menu_bar_help_menu_new(TrgMenuBar * menuBar) { TrgMenuBarPrivate *priv = TRG_MENU_BAR_GET_PRIVATE(menuBar); diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 17df900..ad1d021 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -57,11 +57,11 @@ static void trg_peers_model_class_init(TrgPeersModelClass * #endif } -gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) +gboolean +find_existing_peer_item_foreachfunc(GtkTreeModel * model, + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { struct peerAndIter *pi = (struct peerAndIter *) data; gchar *ip; @@ -78,8 +78,9 @@ gboolean find_existing_peer_item_foreachfunc(GtkTreeModel * model, return pi->found; } -gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, - GtkTreeIter * iter) +gboolean +find_existing_peer_item(TrgPeersModel * model, JsonObject * p, + GtkTreeIter * iter) { struct peerAndIter pi; pi.ip = peer_get_address(p); @@ -94,8 +95,8 @@ gboolean find_existing_peer_item(TrgPeersModel * model, JsonObject * p, return pi.found; } -static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, - gpointer data) +static void +resolved_dns_cb(GObject * source_object, GAsyncResult * res, gpointer data) { GtkTreeRowReference *treeRef; GtkTreeModel *model; @@ -125,8 +126,9 @@ static void resolved_dns_cb(GObject * source_object, GAsyncResult * res, gtk_tree_row_reference_free(treeRef); } -void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, - gint64 updateSerial, JsonObject * t, gint mode) +void +trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, + gint64 updateSerial, JsonObject * t, gint mode) { #ifdef HAVE_GEOIP TrgPeersModelPrivate *priv = TRG_PEERS_MODEL_GET_PRIVATE(model); @@ -160,7 +162,7 @@ void trg_peers_model_update(TrgPeersModel * model, TrgTreeView * tv, address = peer_get_address(peer); #ifdef HAVE_GEOIP - if (address && doGeoLookup) { // just in case address wasn't set + if (address && doGeoLookup) { /* just in case address wasn't set */ if (strchr(address, ':') && priv->geoipv6) country = GeoIP_country_name_by_addr_v6(priv->geoipv6, diff --git a/src/trg-peers-tree-view.c b/src/trg-peers-tree-view.c index 00c80c3..d4f974d 100644 --- a/src/trg-peers-tree-view.c +++ b/src/trg-peers-tree-view.c @@ -35,7 +35,6 @@ #include "trg-peers-tree-view.h" G_DEFINE_TYPE(TrgPeersTreeView, trg_peers_tree_view, TRG_TYPE_TREE_VIEW) - static void trg_peers_tree_view_class_init(TrgPeersTreeViewClass * klass G_GNUC_UNUSED) { diff --git a/src/trg-persistent-tree-view.c b/src/trg-persistent-tree-view.c index 9943fc3..076dabe 100644 --- a/src/trg-persistent-tree-view.c +++ b/src/trg-persistent-tree-view.c @@ -33,7 +33,8 @@ G_DEFINE_TYPE(TrgPersistentTreeView, trg_persistent_tree_view, GTK_TYPE_VBOX) #define GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_PERSISTENT_TREE_VIEW, TrgPersistentTreeViewPrivate)) -typedef struct _TrgPersistentTreeViewPrivate TrgPersistentTreeViewPrivate; +typedef struct _TrgPersistentTreeViewPrivate + TrgPersistentTreeViewPrivate; enum { PROP_0, PROP_PREFS, PROP_KEY, PROP_MODEL @@ -61,9 +62,10 @@ static void selection_changed(GtkTreeSelection * selection, gpointer data) gtk_widget_set_sensitive(priv->delButton, FALSE); } -static void trg_persistent_tree_view_edit(GtkCellRendererText * renderer, - gchar * path, gchar * new_text, - gpointer user_data) +static void +trg_persistent_tree_view_edit(GtkCellRendererText * renderer, + gchar * path, gchar * new_text, + gpointer user_data) { trg_persistent_tree_view_column *cd = (trg_persistent_tree_view_column *) user_data; @@ -112,13 +114,13 @@ static void trg_persistent_tree_view_refresh(TrgPrefs * prefs, void *wdp) g_list_free(ja_list); } -static gboolean trg_persistent_tree_view_save_foreachfunc(GtkTreeModel * - model, - GtkTreePath * - path, - GtkTreeIter * - iter, - gpointer data) +static gboolean +trg_persistent_tree_view_save_foreachfunc(GtkTreeModel * + model, + GtkTreePath * + path, + GtkTreeIter * iter, + gpointer data) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(data); JsonObject *new = json_object_new(); @@ -145,8 +147,8 @@ static void trg_persistent_tree_view_save(TrgPrefs * prefs, void *wdp) GtkTreeModel *model = gtk_tree_view_get_model(priv->tv); JsonNode *node = trg_prefs_get_value(prefs, wd->key, JSON_NODE_ARRAY, - wd->flags | - TRG_PREFS_REPLACENODE); + wd-> + flags | TRG_PREFS_REPLACENODE); priv->ja = json_array_new(); @@ -189,8 +191,8 @@ trg_persistent_tree_view_column } static GtkTreeView - * trg_persistent_tree_view_tree_view_new(TrgPersistentTreeView * ptv, - GtkTreeModel * model) + *trg_persistent_tree_view_tree_view_new(TrgPersistentTreeView * ptv, + GtkTreeModel * model) { GtkTreeView *tv = GTK_TREE_VIEW(gtk_tree_view_new_with_model(model)); GtkTreeSelection *selection; @@ -235,10 +237,10 @@ static void trg_persistent_tree_view_del_cb(GtkWidget * w, gpointer data) gtk_list_store_remove(GTK_LIST_STORE(model), &iter); } -static void trg_persistent_tree_view_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) +static void +trg_persistent_tree_view_get_property(GObject * object, + guint property_id, + GValue * value, GParamSpec * pspec) { switch (property_id) { default: @@ -247,10 +249,11 @@ static void trg_persistent_tree_view_get_property(GObject * object, } } -static void trg_persistent_tree_view_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_persistent_tree_view_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(object); switch (property_id) { @@ -282,8 +285,8 @@ static void trg_persistent_tree_view_finalize(GObject * object) } g_slist_free(priv->columns); g_free(priv->key); - G_OBJECT_CLASS(trg_persistent_tree_view_parent_class)->finalize - (object); + G_OBJECT_CLASS(trg_persistent_tree_view_parent_class)-> + finalize(object); } trg_pref_widget_desc @@ -293,9 +296,10 @@ trg_pref_widget_desc return priv->wd; } -void trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, - trg_persistent_tree_view_column - * cd) +void +trg_persistent_tree_view_set_add_select(TrgPersistentTreeView * ptv, + trg_persistent_tree_view_column * + cd) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); priv->addSelect = cd; @@ -347,8 +351,8 @@ static GObject *trg_persistent_tree_view_constructor(GType type, return object; } -static void trg_persistent_tree_view_class_init(TrgPersistentTreeViewClass - * klass) +static void +trg_persistent_tree_view_class_init(TrgPersistentTreeViewClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -415,7 +419,8 @@ TrgPersistentTreeView *trg_persistent_tree_view_new(TrgPrefs * prefs, { GObject *obj = g_object_new(TRG_TYPE_PERSISTENT_TREE_VIEW, "prefs", prefs, - "conf-key", g_strdup(key), "persistent-model", model, + "conf-key", g_strdup(key), "persistent-model", + model, NULL); return TRG_PERSISTENT_TREE_VIEW(obj); diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 29e1b86..75abcd1 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -47,7 +47,6 @@ G_DEFINE_TYPE(TrgPreferencesDialog, trg_preferences_dialog, GTK_TYPE_DIALOG) - enum { PROP_0, PROP_TRG_CLIENT, PROP_MAIN_WINDOW }; @@ -81,8 +80,9 @@ trg_pref_widget_desc *trg_pref_widget_desc_new(GtkWidget * w, gchar * key, return desc; } -static void trg_pref_widget_refresh(TrgPreferencesDialog * dlg, - trg_pref_widget_desc * wd) +static void +trg_pref_widget_refresh(TrgPreferencesDialog * dlg, + trg_pref_widget_desc * wd) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); @@ -100,8 +100,8 @@ static void trg_pref_widget_refresh_all(TrgPreferencesDialog * dlg) trg_pref_widget_refresh(dlg, (trg_pref_widget_desc *) li->data); } -static void trg_pref_widget_save(TrgPreferencesDialog * dlg, - trg_pref_widget_desc * wd) +static void +trg_pref_widget_save(TrgPreferencesDialog * dlg, trg_pref_widget_desc * wd) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); @@ -126,11 +126,11 @@ static void trg_pref_widget_save_all(TrgPreferencesDialog * dlg) trg_client_configunlock(priv->client); } -static void trg_preferences_dialog_set_property(GObject * object, - guint prop_id, - const GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) +static void +trg_preferences_dialog_set_property(GObject * object, + guint prop_id, + const GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); @@ -146,11 +146,13 @@ static void trg_preferences_dialog_set_property(GObject * object, } } -static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) +static void +trg_preferences_response_cb(GtkDialog * dlg, gint res_id, + gpointer data G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); + GList *li; if (res_id == GTK_RESPONSE_OK) { trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(dlg)); @@ -159,7 +161,6 @@ static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, trg_main_window_reload_dir_aliases(priv->win); - GList *li; for (li = priv->widgets; li; li = g_list_next(li)) trg_pref_widget_desc_free((trg_pref_widget_desc *) li->data); g_list_free(priv->widgets); @@ -168,11 +169,11 @@ static void trg_preferences_response_cb(GtkDialog * dlg, gint res_id, instance = NULL; } -static void trg_preferences_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) +static void +trg_preferences_dialog_get_property(GObject * object, + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(object); @@ -191,6 +192,7 @@ static void entry_refresh(TrgPrefs * prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; gchar *value = trg_prefs_get_string(prefs, wd->key, wd->flags); + if (value) { gtk_entry_set_text(GTK_ENTRY(wd->widget), value); g_free(value); @@ -202,6 +204,7 @@ static void entry_refresh(TrgPrefs * prefs, void *wdp) static void entry_save(TrgPrefs * prefs, void *wdp) { trg_pref_widget_desc *wd = (trg_pref_widget_desc *) wdp; + trg_prefs_set_string(prefs, wd->key, gtk_entry_get_text(GTK_ENTRY(wd->widget)), wd->flags); @@ -212,11 +215,9 @@ static GtkWidget *trgp_entry_new(TrgPreferencesDialog * dlg, gchar * key, { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); - GtkWidget *w; - - w = gtk_entry_new(); - + GtkWidget *w = gtk_entry_new(); trg_pref_widget_desc *wd = trg_pref_widget_desc_new(w, key, flags); + wd->saveFunc = &entry_save; wd->refreshFunc = &entry_refresh; @@ -299,13 +300,11 @@ static GtkWidget *trgp_spin_new(TrgPreferencesDialog * dlg, gchar * key, { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dlg); - GtkWidget *w; - - w = gtk_spin_button_new_with_range(low, high, step); + GtkWidget *w = gtk_spin_button_new_with_range(low, high, step); + trg_pref_widget_desc *wd = trg_pref_widget_desc_new(w, key, flags); gtk_spin_button_set_digits(GTK_SPIN_BUTTON(w), 0); - trg_pref_widget_desc *wd = trg_pref_widget_desc_new(w, key, flags); wd->saveFunc = &spin_save; wd->refreshFunc = &spin_refresh; @@ -371,8 +370,8 @@ static void notebook_toggled_cb(GtkToggleButton * b, gpointer data) gtk_toggle_button_get_active(b)); } -static void trgp_double_special_dependent(GtkWidget * widget, - gpointer data) +static void +trgp_double_special_dependent(GtkWidget * widget, gpointer data) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel @@ -380,9 +379,8 @@ static void trgp_double_special_dependent(GtkWidget * widget, gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (widget)) - && - gtk_widget_get_sensitive - (priv->fullUpdateCheck) + && gtk_widget_get_sensitive(priv-> + fullUpdateCheck) && gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (priv-> @@ -451,16 +449,16 @@ static GtkWidget *trg_prefs_generalPage(TrgPreferencesDialog * dlg) static void profile_changed_cb(GtkWidget * w, gpointer data) { - GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(w)); TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(data); + GtkTreeModel *model = gtk_combo_box_get_model(GTK_COMBO_BOX(w)); + gint n_children = gtk_tree_model_iter_n_children(model, NULL); GtkTreeIter iter; JsonObject *profile; trg_pref_widget_save_all(TRG_PREFERENCES_DIALOG(data)); - gint n_children = gtk_tree_model_iter_n_children(model, NULL); if (gtk_combo_box_get_active_iter(GTK_COMBO_BOX(w), &iter)) { gtk_tree_model_get(model, &iter, 0, &profile, -1); trg_prefs_set_profile(priv->prefs, profile); @@ -472,9 +470,9 @@ static void profile_changed_cb(GtkWidget * w, gpointer data) } } -static void trg_prefs_profile_combo_populate(TrgPreferencesDialog * dialog, - GtkComboBox * combo, - TrgPrefs * prefs) +static void +trg_prefs_profile_combo_populate(TrgPreferencesDialog * dialog, + GtkComboBox * combo, TrgPrefs * prefs) { TrgPreferencesDialogPrivate *priv = TRG_PREFERENCES_DIALOG_GET_PRIVATE(dialog); @@ -758,7 +756,7 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) priv->profileNameEntry = trgp_entry_new(dlg, TRG_PREFS_KEY_PROFILE_NAME, TRG_PREFS_PROFILE); - w = priv->profileComboBox = trg_prefs_profile_combo_new(priv->client); + priv->profileComboBox = trg_prefs_profile_combo_new(priv->client); profileLabel = gtk_label_new(_("Profile: ")); profileButtonsHbox = gtk_hbox_new(FALSE, 0); @@ -767,12 +765,12 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) priv->profileComboBox); gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); - w = priv->profileDelButton = - gtk_button_new_from_stock(GTK_STOCK_DELETE); - g_signal_connect(w, "clicked", G_CALLBACK(del_profile_cb), - priv->profileComboBox); - gtk_widget_set_sensitive(w, FALSE); - gtk_box_pack_start(GTK_BOX(profileButtonsHbox), w, FALSE, FALSE, 4); + priv->profileDelButton = gtk_button_new_from_stock(GTK_STOCK_DELETE); + g_signal_connect(priv->profileDelButton, "clicked", + G_CALLBACK(del_profile_cb), priv->profileComboBox); + gtk_widget_set_sensitive(priv->profileDelButton, FALSE); + gtk_box_pack_start(GTK_BOX(profileButtonsHbox), priv->profileDelButton, + FALSE, FALSE, 4); trg_prefs_profile_combo_populate(dlg, GTK_COMBO_BOX(priv->profileComboBox), @@ -828,8 +826,6 @@ static GtkWidget *trg_prefs_serverPage(TrgPreferencesDialog * dlg) TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Retries:"), w, NULL); - //hig_workarea_add_section_divider(t, &row); - frame = gtk_frame_new(NULL); frameHbox = gtk_hbox_new(FALSE, 2); gtk_box_pack_start(GTK_BOX(frameHbox), profileLabel, FALSE, FALSE, 2); @@ -913,8 +909,8 @@ static void trg_preferences_dialog_init(TrgPreferencesDialog * pref_dlg) { } -static void trg_preferences_dialog_class_init(TrgPreferencesDialogClass * - class) +static void +trg_preferences_dialog_class_init(TrgPreferencesDialogClass * class) { GObjectClass *g_object_class = (GObjectClass *) class; diff --git a/src/trg-prefs.c b/src/trg-prefs.c index 10aa2cf..3c099b2 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -37,9 +37,6 @@ */ G_DEFINE_TYPE(TrgPrefs, trg_prefs, G_TYPE_OBJECT) -#define GET_PRIVATE(o) \ - (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_PREFS, TrgPrefsPrivate)) -typedef struct _TrgPrefsPrivate TrgPrefsPrivate; struct _TrgPrefsPrivate { JsonObject *defaultsObj; @@ -68,8 +65,9 @@ void trg_prefs_changed_emit_signal(TrgPrefs * p, const gchar * key) g_signal_emit(p, signals[PREF_CHANGE], 0, key); } -static void trg_prefs_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +static void +trg_prefs_get_property(GObject * object, guint property_id, + GValue * value, GParamSpec * pspec) { switch (property_id) { default: @@ -78,9 +76,9 @@ static void trg_prefs_get_property(GObject * object, guint property_id, } } -static void trg_prefs_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_prefs_set_property(GObject * object, guint property_id, + const GValue * value, GParamSpec * pspec) { switch (property_id) { default: @@ -96,7 +94,7 @@ static void trg_prefs_dispose(GObject * object) static void trg_prefs_create_defaults(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; priv->defaultsObj = json_object_new(); trg_prefs_add_default_string(p, TRG_PREFS_KEY_PROFILE_NAME, @@ -124,15 +122,13 @@ static GObject *trg_prefs_constructor(GType type, GObjectConstructParam * construct_params) { - GObject *object; - TrgPrefsPrivate *priv; + GObject *object = G_OBJECT_CLASS + (trg_prefs_parent_class)->constructor(type, n_construct_properties, + construct_params); + TrgPrefs *prefs = TRG_PREFS(object); + TrgPrefsPrivate *priv = prefs->priv; - object = G_OBJECT_CLASS - (trg_prefs_parent_class)->constructor(type, n_construct_properties, - construct_params); - priv = GET_PRIVATE(object); - - trg_prefs_create_defaults(TRG_PREFS(object)); + trg_prefs_create_defaults(prefs); priv->file = g_build_filename(g_get_user_config_dir(), g_get_application_name(), @@ -172,6 +168,7 @@ static void trg_prefs_class_init(TrgPrefsClass * klass) static void trg_prefs_init(TrgPrefs * self) { + self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TRG_TYPE_PREFS, TrgPrefsPrivate); } TrgPrefs *trg_prefs_new(void) @@ -181,40 +178,43 @@ TrgPrefs *trg_prefs_new(void) static JsonObject *trg_prefs_new_profile_object() { - JsonObject *obj = json_object_new(); - return obj; + return json_object_new(); } void trg_prefs_add_default_int(TrgPrefs * p, const gchar * key, int value) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; + json_object_set_int_member(priv->defaultsObj, key, value); } -void trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, - gchar * value) +void +trg_prefs_add_default_string(TrgPrefs * p, const gchar * key, + gchar * value) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; + json_object_set_string_member(priv->defaultsObj, key, value); } -void trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, - double value) +void +trg_prefs_add_default_double(TrgPrefs * p, const gchar * key, double value) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; + json_object_set_double_member(priv->defaultsObj, key, value); } /* Not much point adding a default of FALSE, as that's the fallback */ void trg_prefs_add_default_bool_true(TrgPrefs * p, const gchar * key) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; json_object_set_boolean_member(priv->defaultsObj, key, TRUE); } gint trg_prefs_get_profile_id(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; return (gint) json_object_get_int_member(priv->userObj, TRG_PREFS_KEY_PROFILE_ID); } @@ -242,7 +242,7 @@ static JsonNode *trg_prefs_get_value_inner(JsonObject * obj, JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, int flags) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; JsonNode *res; if (priv->profile && (flags & TRG_PREFS_PROFILE)) { @@ -269,7 +269,7 @@ JsonNode *trg_prefs_get_value(TrgPrefs * p, const gchar * key, int type, void trg_prefs_set_connection(TrgPrefs * p, JsonObject * profile) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; if (priv->connectionObj) json_object_unref(priv->connectionObj); @@ -283,6 +283,7 @@ void trg_prefs_set_connection(TrgPrefs * p, JsonObject * profile) gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); + if (node) return g_strdup(json_node_get_string(node)); else @@ -292,6 +293,7 @@ gchar *trg_prefs_get_string(TrgPrefs * p, const gchar * key, int flags) JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_ARRAY, flags); + if (node) return json_node_get_array(node); else @@ -301,6 +303,7 @@ JsonArray *trg_prefs_get_array(TrgPrefs * p, const gchar * key, int flags) gint64 trg_prefs_get_int(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); + if (node) return json_node_get_int(node); else @@ -319,23 +322,26 @@ gdouble trg_prefs_get_double(TrgPrefs * p, const gchar * key, int flags) gboolean trg_prefs_get_bool(TrgPrefs * p, const gchar * key, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags); + if (node) return json_node_get_boolean(node); else return FALSE; } -void trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, - int flags) +void +trg_prefs_set_int(TrgPrefs * p, const gchar * key, int value, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); + json_node_set_int(node, (gint64) value); trg_prefs_changed_emit_signal(p, key); } -void trg_prefs_set_string(TrgPrefs * p, const gchar * key, - const gchar * value, int flags) +void +trg_prefs_set_string(TrgPrefs * p, const gchar * key, + const gchar * value, int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); @@ -345,12 +351,12 @@ void trg_prefs_set_string(TrgPrefs * p, const gchar * key, void trg_prefs_set_profile(TrgPrefs * p, JsonObject * profile) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; GList *profiles = json_array_get_elements(trg_prefs_get_profiles(p)); - priv->profile = profile; - - GList *li; gint i = 0; + GList *li; + + priv->profile = profile; for (li = profiles; li; li = g_list_next(li)) { if (json_node_get_object((JsonNode *) li->data) == profile) { @@ -371,7 +377,9 @@ JsonObject *trg_prefs_new_profile(TrgPrefs * p) { JsonArray *profiles = trg_prefs_get_profiles(p); JsonObject *newp = trg_prefs_new_profile_object(); + json_array_add_object_element(profiles, newp); + return newp; } @@ -386,7 +394,7 @@ void trg_prefs_del_profile(TrgPrefs * p, JsonObject * profile) for (li = profilesList; li; li = g_list_next(li)) { node = (JsonNode *) li->data; - if (profile == (gpointer) json_node_get_object(node)) { + if (profile == json_node_get_object(node)) { json_array_remove_element(profiles, i); break; } @@ -400,25 +408,26 @@ void trg_prefs_del_profile(TrgPrefs * p, JsonObject * profile) JsonObject *trg_prefs_get_profile(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; return priv->profile; } JsonObject *trg_prefs_get_connection(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; return priv->connectionObj; } JsonArray *trg_prefs_get_profiles(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; return json_object_get_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES); } -void trg_prefs_set_double(TrgPrefs * p, const gchar * key, gdouble value, - int flags) +void +trg_prefs_set_double(TrgPrefs * p, const gchar * key, gdouble value, + int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); @@ -426,8 +435,9 @@ void trg_prefs_set_double(TrgPrefs * p, const gchar * key, gdouble value, trg_prefs_changed_emit_signal(p, key); } -void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, - int flags) +void +trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, + int flags) { JsonNode *node = trg_prefs_get_value(p, key, JSON_NODE_VALUE, flags | TRG_PREFS_NEWNODE); @@ -437,7 +447,7 @@ void trg_prefs_set_bool(TrgPrefs * p, const gchar * key, gboolean value, gboolean trg_prefs_save(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; JsonGenerator *gen = json_generator_new(); gchar *dirName; gboolean success = TRUE; @@ -477,20 +487,21 @@ gboolean trg_prefs_save(TrgPrefs * p) JsonObject *trg_prefs_get_root(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; return priv->userObj; } void trg_prefs_empty_init(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; + JsonArray *profiles = json_array_new(); + priv->user = json_node_new(JSON_NODE_OBJECT); priv->userObj = json_object_new(); json_node_take_object(priv->user, priv->userObj); priv->profile = trg_prefs_new_profile_object(); - JsonArray *profiles = json_array_new(); json_array_add_object_element(profiles, priv->profile); json_object_set_array_member(priv->userObj, TRG_PREFS_KEY_PROFILES, profiles); @@ -500,7 +511,7 @@ void trg_prefs_empty_init(TrgPrefs * p) void trg_prefs_load(TrgPrefs * p) { - TrgPrefsPrivate *priv = GET_PRIVATE(p); + TrgPrefsPrivate *priv = p->priv; JsonParser *parser = json_parser_new(); JsonNode *root; guint n_profiles; diff --git a/src/trg-prefs.h b/src/trg-prefs.h index 96b56b5..e0eba8e 100644 --- a/src/trg-prefs.h +++ b/src/trg-prefs.h @@ -77,7 +77,6 @@ #define TRG_PREFS_KEY_LAST_ADD_DESTINATION "last-add-destination" #define TRG_PREFS_KEY_DESTINATIONS_SUBKEY_DIR "dir" - #define TRG_PREFS_NOFLAGS (1 << 0) /* 0x00 */ #define TRG_PREFS_GLOBAL (1 << 1) /* 0x01 */ #define TRG_PREFS_PROFILE (1 << 2) /* 0x02 */ @@ -85,6 +84,8 @@ #define TRG_PREFS_NEWNODE (1 << 4) /* 0x08 */ #define TRG_PREFS_REPLACENODE (1 << 5) /* 0x16 */ +typedef struct _TrgPrefsPrivate TrgPrefsPrivate; + G_BEGIN_DECLS #define TRG_TYPE_PREFS trg_prefs_get_type() #define TRG_PREFS(obj) \ @@ -99,6 +100,7 @@ G_BEGIN_DECLS (G_TYPE_INSTANCE_GET_CLASS ((obj), TRG_TYPE_PREFS, TrgPrefsClass)) typedef struct { GObject parent; + TrgPrefsPrivate *priv; } TrgPrefs; typedef struct { diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index 8f866ea..6aaf4e0 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -95,8 +95,9 @@ static void update_session(GtkDialog * dlg) dispatch_async(priv->client, request, on_session_set, priv->parent); } -static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, - gpointer data G_GNUC_UNUSED) +static void +trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, + gpointer data G_GNUC_UNUSED) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(dlg); @@ -110,10 +111,10 @@ static void trg_remote_prefs_response_cb(GtkDialog * dlg, gint res_id, instance = NULL; } -static void trg_remote_prefs_dialog_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) +static void +trg_remote_prefs_dialog_get_property(GObject * object, + guint property_id, + GValue * value, GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); @@ -130,10 +131,11 @@ static void trg_remote_prefs_dialog_get_property(GObject * object, } } -static void trg_remote_prefs_dialog_set_property(GObject * object, - guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_remote_prefs_dialog_set_property(GObject * object, + guint property_id, + const GValue * value, + GParamSpec * pspec) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(object); @@ -150,8 +152,9 @@ static void trg_remote_prefs_dialog_set_property(GObject * object, } } -static void trg_remote_prefs_double_special_dependent(GtkWidget * widget, - gpointer data) +static void +trg_remote_prefs_double_special_dependent(GtkWidget * widget, + gpointer data) { TrgRemotePrefsDialogPrivate *priv = TRG_REMOTE_PREFS_DIALOG_GET_PRIVATE(gtk_widget_get_toplevel @@ -167,8 +170,9 @@ static void trg_remote_prefs_double_special_dependent(GtkWidget * widget, alt_check))); } -static void trg_rprefs_time_widget_savefunc(GtkWidget * w, - JsonObject * obj, gchar * key) +static void +trg_rprefs_time_widget_savefunc(GtkWidget * w, JsonObject * obj, + gchar * key) { GtkWidget *hourSpin = g_object_get_data(G_OBJECT(w), "hours-spin"); GtkWidget *minutesSpin = g_object_get_data(G_OBJECT(w), "mins-spin"); @@ -515,7 +519,7 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, 0, 65535, 1); hig_workarea_add_row(t, &row, _("Peer port"), w, w); - w = priv->port_test_label = gtk_label_new(_("Port test")); + priv->port_test_label = gtk_label_new(_("Port test")); w = priv->port_test_button = gtk_button_new_with_label(_("Test")); g_signal_connect(w, "clicked", G_CALLBACK(port_test_cb), win); hig_workarea_add_row_w(t, &row, priv->port_test_label, w, NULL); @@ -525,9 +529,9 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, _("Tolerated"), 2, NULL); stringValue = session_get_encryption(s); - if (g_strcmp0(stringValue, "required") == 0) { + if (!g_strcmp0(stringValue, "required")) { gtk_combo_box_set_active(GTK_COMBO_BOX(w), 0); - } else if (g_strcmp0(stringValue, "tolerated") == 0) { + } else if (!g_strcmp0(stringValue, "tolerated")) { gtk_combo_box_set_active(GTK_COMBO_BOX(w), 2); } else { gtk_combo_box_set_active(GTK_COMBO_BOX(w), 1); @@ -575,7 +579,6 @@ static GtkWidget *trg_rprefs_connPage(TrgRemotePrefsDialog * win, G_CALLBACK(update_blocklist_cb), win); hig_workarea_add_row_w(t, &row, tb, w, NULL); - //GtkWidget *trg_json_widget_entry_new(GList **wl, JsonObject *obj, gchar *key, GtkWidget *toggleDep); stringValue = session_get_blocklist_url(s); if (stringValue) { w = trg_json_widget_entry_new(&priv->widgets, s, @@ -711,8 +714,8 @@ static GObject *trg_remote_prefs_dialog_constructor(GType type, return object; } -static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * - klass) +static void +trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); @@ -753,8 +756,8 @@ static void trg_remote_prefs_dialog_class_init(TrgRemotePrefsDialogClass * G_PARAM_STATIC_BLURB)); } -static void trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * - self G_GNUC_UNUSED) +static void +trg_remote_prefs_dialog_init(TrgRemotePrefsDialog * self G_GNUC_UNUSED) { } diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index f3d3ce5..b8a91b4 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -75,15 +75,14 @@ G_DEFINE_TYPE_WITH_CODE(TrgSortableFilteredModel, GTK_TYPE_TREE_MODEL_FILTER, G_IMPLEMENT_INTERFACE(GTK_TYPE_TREE_SORTABLE, trg_sortable_filtered_model_tree_sortable_init)) - static void trg_sortable_filtered_model_class_init(TrgSortableFilteredModelClass * klass) { } -static void trg_sortable_filtered_model_init(TrgSortableFilteredModel * - self) +static void +trg_sortable_filtered_model_init(TrgSortableFilteredModel * self) { } @@ -102,12 +101,13 @@ trg_sortable_filtered_model_tree_sortable_init(GtkTreeSortableIface * trg_sortable_filtered_model_sort_has_default_sort_func; } -static void trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable - * - realSortable - G_GNUC_UNUSED, - GtkTreeSortable - * fakeSortable) +static void +trg_sortable_filtered_model_sort_column_changed(GtkTreeSortable + * + realSortable + G_GNUC_UNUSED, + GtkTreeSortable + * fakeSortable) { g_signal_emit_by_name(fakeSortable, "sort-column-changed"); } @@ -116,9 +116,6 @@ GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * child_model, GtkTreePath * root) { - g_return_val_if_fail(GTK_IS_TREE_MODEL(child_model), NULL); - g_return_val_if_fail(GTK_IS_TREE_SORTABLE(child_model), NULL); - GObject *obj = g_object_new(TRG_TYPE_SORTABLE_FILTERED_MODEL, "child-model", GTK_TREE_MODEL(child_model), "virtual-root", root, @@ -133,8 +130,8 @@ GtkTreeModel *trg_sortable_filtered_model_new(GtkTreeSortable * } static GtkTreeSortable - * trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * - sortable) + *trg_sortable_filtered_model_get_real_sortable(GtkTreeSortable * + sortable) { return GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model @@ -165,15 +162,15 @@ trg_sortable_filtered_model_sort_set_sort_column_id(GtkTreeSortable * order); } -static void trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable - * sortable, - gint - sort_column_id, - GtkTreeIterCompareFunc - func, - gpointer data, - GDestroyNotify - destroy) +static void +trg_sortable_filtered_model_sort_set_sort_func(GtkTreeSortable + * sortable, + gint + sort_column_id, + GtkTreeIterCompareFunc + func, + gpointer data, + GDestroyNotify destroy) { GtkTreeSortable *realSortable = trg_sortable_filtered_model_get_real_sortable(sortable); diff --git a/src/trg-state-selector.c b/src/trg-state-selector.c index 8db7362..1fabf44 100644 --- a/src/trg-state-selector.c +++ b/src/trg-state-selector.c @@ -81,8 +81,8 @@ guint32 trg_state_selector_get_flag(TrgStateSelector * 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; @@ -118,9 +118,9 @@ 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; @@ -155,9 +155,10 @@ gchar *trg_state_selector_get_selected_text(TrgStateSelector * s) return name; } -static void trg_state_selector_update_dynamic_filter(GtkTreeModel * model, - GtkTreeRowReference * - rr, gint64 serial) +static void +trg_state_selector_update_dynamic_filter(GtkTreeModel * model, + GtkTreeRowReference * + rr, gint64 serial) { GtkTreeIter iter; GtkTreePath *path = gtk_tree_row_reference_get_path(rr); @@ -198,8 +199,9 @@ static void refresh_statelist_cb(GtkWidget * w, gpointer data) TORRENT_UPDATE_ADDREMOVE); } -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; @@ -226,9 +228,9 @@ static gboolean view_onPopupMenu(GtkWidget * treeview, gpointer 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); @@ -245,10 +247,10 @@ struct state_find_pos { const gchar *name; }; -static gboolean trg_state_selector_find_pos_foreach(GtkTreeModel * model, - GtkTreePath * path, - GtkTreeIter * iter, - gpointer data) +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; gchar *name; @@ -272,9 +274,10 @@ 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)); @@ -438,8 +441,9 @@ void trg_state_selector_set_show_dirs(TrgStateSelector * s, gboolean show) trg_state_selector_update(s, TORRENT_UPDATE_PATH_CHANGE); } -static void on_torrents_state_change(TrgTorrentModel * model, - guint whatsChanged, gpointer data) +static void +on_torrents_state_change(TrgTorrentModel * model, + guint whatsChanged, gpointer data) { TrgStateSelector *selector = TRG_STATE_SELECTOR(data); trg_state_selector_update(selector, whatsChanged); @@ -451,8 +455,8 @@ static void on_torrents_state_change(TrgTorrentModel * model, (model)); } -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; @@ -462,11 +466,11 @@ void trg_state_selector_set_show_trackers(TrgStateSelector * s, trg_state_selector_update(s, TORRENT_UPDATE_ADDREMOVE); } -static void trg_state_selector_add_state(TrgStateSelector * selector, - GtkTreeIter * iter, gint pos, - gchar * icon, gchar * name, - guint32 flag, - GtkTreeRowReference ** rr) +static void +trg_state_selector_add_state(TrgStateSelector * selector, + GtkTreeIter * iter, gint pos, + gchar * icon, gchar * name, + guint32 flag, GtkTreeRowReference ** rr) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(selector); @@ -503,8 +507,8 @@ static void remove_row_ref_and_free(GtkTreeRowReference * rr) gtk_tree_row_reference_free(rr); } -static void trg_state_selector_update_stat(GtkTreeRowReference * rr, - gint count) +static void +trg_state_selector_update_stat(GtkTreeRowReference * rr, gint count) { if (rr) { GValue gvalue = { 0 }; @@ -523,9 +527,9 @@ static void trg_state_selector_update_stat(GtkTreeRowReference * rr, } } -void trg_state_selector_stats_update(TrgStateSelector * s, - trg_torrent_model_update_stats * - stats) +void +trg_state_selector_stats_update(TrgStateSelector * s, + trg_torrent_model_update_stats * stats) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeIter iter; @@ -715,8 +719,9 @@ static GObject *trg_state_selector_constructor(GType type, return object; } -void trg_state_selector_set_queues_enabled(TrgStateSelector * s, - gboolean enabled) +void +trg_state_selector_set_queues_enabled(TrgStateSelector * s, + gboolean enabled) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(s); GtkTreeIter iter; @@ -739,10 +744,10 @@ void trg_state_selector_set_queues_enabled(TrgStateSelector * s, } } -static void trg_state_selector_get_property(GObject * object, - guint property_id, - GValue * value, - GParamSpec * pspec) +static void +trg_state_selector_get_property(GObject * object, + guint property_id, + GValue * value, GParamSpec * pspec) { TrgStateSelectorPrivate *priv = TRG_STATE_SELECTOR_GET_PRIVATE(object); switch (property_id) { @@ -755,11 +760,11 @@ 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) +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); diff --git a/src/trg-stats-dialog.c b/src/trg-stats-dialog.c index 7348d5e..b4b215a 100644 --- a/src/trg-stats-dialog.c +++ b/src/trg-stats-dialog.c @@ -114,8 +114,9 @@ static GtkTreeRowReference *stats_dialog_add_statistic(GtkListStore * return rr; } -static void update_statistic(GtkTreeRowReference * rr, gchar * session, - gchar * cumulat) +static void +update_statistic(GtkTreeRowReference * rr, gchar * session, + gchar * cumulat) { GtkTreePath *path = gtk_tree_row_reference_get_path(rr); GtkTreeModel *model = gtk_tree_row_reference_get_model(rr); @@ -139,8 +140,9 @@ static JsonObject *get_cumulat_arg(JsonObject * args) return json_object_get_object_member(args, "cumulative-stats"); } -static void update_int_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) +static void +update_int_stat(JsonObject * args, GtkTreeRowReference * rr, + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; @@ -153,8 +155,9 @@ static void update_int_stat(JsonObject * args, GtkTreeRowReference * rr, update_statistic(rr, session_val, cumulat_val); } -static void update_size_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) +static void +update_size_stat(JsonObject * args, GtkTreeRowReference * rr, + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; @@ -169,8 +172,9 @@ static void update_size_stat(JsonObject * args, GtkTreeRowReference * rr, update_statistic(rr, session_val, cumulat_val); } -static void update_time_stat(JsonObject * args, GtkTreeRowReference * rr, - gchar * jsonKey) +static void +update_time_stat(JsonObject * args, GtkTreeRowReference * rr, + gchar * jsonKey) { gchar session_val[32]; gchar cumulat_val[32]; @@ -192,6 +196,7 @@ static gboolean on_stats_reply(gpointer data) trg_response *response = (trg_response *) data; TrgStatsDialogPrivate *priv; JsonObject *args; + char versionStr[32]; if (!TRG_IS_STATS_DIALOG(response->cb_data)) { trg_response_free(response); @@ -203,7 +208,6 @@ static gboolean on_stats_reply(gpointer data) if (response->status == CURLE_OK) { args = get_arguments(response->obj); - char versionStr[32]; g_snprintf(versionStr, sizeof(versionStr), "Transmission %s", trg_client_get_version_string(priv->client)); update_statistic(priv->rr_version, versionStr, ""); @@ -240,8 +244,9 @@ static gboolean trg_update_stats_timerfunc(gpointer data) return FALSE; } -static void trg_stats_add_column(GtkTreeView * tv, gint index, - gchar * title, gint width) +static void +trg_stats_add_column(GtkTreeView * tv, gint index, gchar * title, + gint width) { GtkCellRenderer *renderer = gtk_cell_renderer_text_new(); GtkTreeViewColumn *column = @@ -256,8 +261,8 @@ static void trg_stats_add_column(GtkTreeView * tv, gint index, static GObject *trg_stats_dialog_constructor(GType type, guint n_construct_properties, - GObjectConstructParam - * construct_params) + GObjectConstructParam * + construct_params) { GtkWidget *tv; diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index 94ebab9..1793a74 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -75,8 +75,8 @@ void trg_status_bar_reset(TrgStatusBar * sb) gtk_widget_set_visible(priv->turtleEventBox, FALSE); } -static void turtle_toggle(GtkWidget * w, GdkEventButton * event, - gpointer data) +static void +turtle_toggle(GtkWidget * w, GdkEventButton * event, gpointer data) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(data); JsonNode *req = session_set(); @@ -121,15 +121,16 @@ static void trg_status_bar_init(TrgStatusBar * self) gtk_box_pack_end(GTK_BOX(self), priv->free_lbl, FALSE, TRUE, 30); } -void trg_status_bar_push_connection_msg(TrgStatusBar * sb, - const gchar * msg) +void +trg_status_bar_push_connection_msg(TrgStatusBar * sb, const gchar * msg) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); gtk_label_set_text(GTK_LABEL(priv->info_lbl), msg); } -void trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session, - TrgClient * client) +void +trg_status_bar_connect(TrgStatusBar * sb, JsonObject * session, + TrgClient * client) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); TrgPrefs *prefs = trg_client_get_prefs(client); @@ -177,9 +178,10 @@ void trg_status_bar_session_update(TrgStatusBar * sb, JsonObject * session) gtk_widget_set_visible(priv->turtleEventBox, TRUE); } -void trg_status_bar_update_speed(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client) +void +trg_status_bar_update_speed(TrgStatusBar * sb, + trg_torrent_model_update_stats * stats, + TrgClient * client) { TrgStatusBarPrivate *priv = TRG_STATUS_BAR_GET_PRIVATE(sb); JsonObject *session = trg_client_get_session(client); @@ -230,9 +232,10 @@ void trg_status_bar_update_speed(TrgStatusBar * sb, g_free(speedText); } -void trg_status_bar_update(TrgStatusBar * sb, - trg_torrent_model_update_stats * stats, - TrgClient * client) +void +trg_status_bar_update(TrgStatusBar * sb, + trg_torrent_model_update_stats * stats, + TrgClient * client) { trg_status_bar_update_speed(sb, stats, client); } diff --git a/src/trg-toolbar.c b/src/trg-toolbar.c index d829dcc..31b7ade 100644 --- a/src/trg-toolbar.c +++ b/src/trg-toolbar.c @@ -99,9 +99,6 @@ trg_toolbar_get_property(GObject * object, guint property_id, case PROP_ADD_BUTTON: g_value_set_object(value, priv->tb_add); break; -/* case PROP_ADD_URL_BUTTON: - g_value_set_object(value, priv->tb_add_url); - break;*/ case PROP_REMOVE_BUTTON: g_value_set_object(value, priv->tb_remove); break; @@ -181,13 +178,13 @@ static void trg_toolbar_refresh_menu(GtkWidget * w, gpointer data) static GObject *trg_toolbar_constructor(GType type, guint n_construct_properties, - GObjectConstructParam - * construct_params) + GObjectConstructParam * + construct_params) { - GObject *obj = G_OBJECT_CLASS - (trg_toolbar_parent_class)->constructor(type, - n_construct_properties, - construct_params); + GObject *obj = + G_OBJECT_CLASS(trg_toolbar_parent_class)->constructor(type, + n_construct_properties, + construct_params); TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(obj); GtkToolItem *separator; @@ -198,10 +195,6 @@ static GObject *trg_toolbar_constructor(GType type, GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_toolbar_set_style(GTK_TOOLBAR(obj), GTK_TOOLBAR_ICONS); - //priv->tb_connect = - /*trg_toolbar_item_new(self, _("Connect"), &position, - GTK_STOCK_CONNECT, TRUE); */ - priv->tb_connect = GTK_WIDGET(gtk_menu_tool_button_new_from_stock(GTK_STOCK_CONNECT)); gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(priv->tb_connect), @@ -221,9 +214,6 @@ static GObject *trg_toolbar_constructor(GType type, trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Add"), &position, GTK_STOCK_ADD, FALSE); - /*priv->tb_add_url = - trg_toolbar_item_new(self, "Add URL", 3, GTK_STOCK_ADD, FALSE); */ - separator = gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); @@ -246,10 +236,6 @@ static GObject *trg_toolbar_constructor(GType type, trg_toolbar_item_new(TRG_TOOLBAR(obj), _("Remove with data"), &position, GTK_STOCK_CLEAR, FALSE); - /*priv->tb_verify = - trg_toolbar_item_new(self, "Verify", 11, - GTK_STOCK_REFRESH, FALSE); */ - separator = gtk_separator_tool_item_new(); gtk_toolbar_insert(GTK_TOOLBAR(obj), separator, position++); @@ -326,16 +312,12 @@ static void trg_toolbar_class_init(TrgToolbarClass * klass) "resume-button", "Resume Button"); trg_toolbar_install_widget_prop(object_class, PROP_PAUSE_BUTTON, "pause-button", "Pause Button"); - /*trg_toolbar_install_widget_prop(object_class, PROP_VERIFY_BUTTON, - "verify-button", "Verify Button"); */ trg_toolbar_install_widget_prop(object_class, PROP_PROPS_BUTTON, "props-button", "Props Button"); - trg_toolbar_install_widget_prop(object_class, - PROP_REMOTE_PREFS_BUTTON, + trg_toolbar_install_widget_prop(object_class, PROP_REMOTE_PREFS_BUTTON, "remote-prefs-button", "Remote Prefs Button"); - trg_toolbar_install_widget_prop(object_class, - PROP_LOCAL_PREFS_BUTTON, + trg_toolbar_install_widget_prop(object_class, PROP_LOCAL_PREFS_BUTTON, "local-prefs-button", "Local Prefs Button"); @@ -347,14 +329,12 @@ void trg_toolbar_connected_change(TrgToolbar * tb, gboolean connected) TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(tb); gtk_widget_set_sensitive(priv->tb_add, connected); - /*gtk_widget_set_sensitive(priv->tb_add_url, connected); */ - //gtk_widget_set_sensitive(priv->tb_connect, !connected); gtk_widget_set_sensitive(priv->tb_disconnect, connected); gtk_widget_set_sensitive(priv->tb_remote_prefs, connected); } -void trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, - gboolean sensitive) +void +trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, gboolean sensitive) { TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(tb); @@ -363,12 +343,10 @@ void trg_toolbar_torrent_actions_sensitive(TrgToolbar * tb, gtk_widget_set_sensitive(priv->tb_delete, sensitive); gtk_widget_set_sensitive(priv->tb_resume, sensitive); gtk_widget_set_sensitive(priv->tb_pause, sensitive); - /*gtk_widget_set_sensitive(priv->tb_verify, sensitive); */ } static void trg_toolbar_init(TrgToolbar * self) { - //TrgToolbarPrivate *priv = TRG_TOOLBAR_GET_PRIVATE(self); } TrgToolbar *trg_toolbar_new(TrgMainWindow * win, TrgPrefs * prefs) diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index 1b0ce31..1ce43ef 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -94,11 +94,11 @@ static void trg_torrent_add_dialog_set_property(GObject * object, } } -static void trg_torrent_add_dialog_get_property(GObject * object, - guint prop_id, - GValue * value, - GParamSpec * - pspec G_GNUC_UNUSED) +static void +trg_torrent_add_dialog_get_property(GObject * object, + guint prop_id, + GValue * value, + GParamSpec * pspec G_GNUC_UNUSED) { TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(object); @@ -113,8 +113,8 @@ static void trg_torrent_add_dialog_get_property(GObject * object, } } -static void add_set_common_args(JsonObject * args, gint priority, - gchar * dir) +static void +add_set_common_args(JsonObject * args, gint priority, gchar * dir) { json_object_set_string_member(args, FIELD_FILE_DOWNLOAD_DIR, dir); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, @@ -172,11 +172,11 @@ void launch_add_thread(struct add_torrent_threadfunc_args *args) } } -static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer data) +static gboolean +add_file_indexes_foreachfunc(GtkTreeModel * model, + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer data) { JsonObject *args = (JsonObject *) data; gint priority, index, wanted; @@ -202,8 +202,8 @@ static gboolean add_file_indexes_foreachfunc(GtkTreeModel * model, return FALSE; } -static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, - gpointer data) +static void +trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, gpointer data) { TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(dlg); @@ -251,7 +251,8 @@ static void trg_torrent_add_response_cb(GtkDialog * dlg, gint res_id, launch_add_thread(args); } - trg_destination_combo_save_selection(TRG_DESTINATION_COMBO(priv->dest_combo)); + trg_destination_combo_save_selection(TRG_DESTINATION_COMBO + (priv->dest_combo)); g_free(dir); } else { @@ -289,8 +290,8 @@ static void set_wanted(GtkWidget * w G_GNUC_UNUSED, gpointer data) trg_files_model_set_wanted(GTK_TREE_VIEW(data), FC_ENABLED, TRUE); } -static gboolean onViewButtonPressed(GtkWidget * w, GdkEventButton * event, - gpointer gdata) +static gboolean +onViewButtonPressed(GtkWidget * w, GdkEventButton * event, gpointer gdata) { return trg_files_tree_view_onViewButtonPressed(w, event, FC_PRIORITY, FC_ENABLED, @@ -464,8 +465,9 @@ static void addTorrentFilters(GtkFileChooser * chooser) gtk_file_chooser_add_filter(chooser, filter); } -static void store_add_node(GtkTreeStore * store, GtkTreeIter * parent, - trg_files_tree_node * node) +static void +store_add_node(GtkTreeStore * store, GtkTreeIter * parent, + trg_files_tree_node * node) { GtkTreeIter child; GList *li; @@ -510,8 +512,9 @@ static void torrent_not_found_error(GtkWindow * parent, gchar * file) gtk_widget_destroy(dialog); } -static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, - GSList * filenames) +static void +trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, + GSList * filenames) { TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(d); @@ -566,8 +569,9 @@ static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, priv->filenames = filenames; } -static void trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c, - TrgPrefs * prefs) +static void +trg_torrent_add_dialog_generic_save_dir(GtkFileChooser * c, + TrgPrefs * prefs) { gchar *cwd = gtk_file_chooser_get_current_folder(c); @@ -594,6 +598,7 @@ static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent, gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(w), dir); g_free(dir); } + addTorrentFilters(GTK_FILE_CHOOSER(w)); gtk_dialog_set_alternative_button_order(GTK_DIALOG(w), GTK_RESPONSE_ACCEPT, @@ -602,8 +607,8 @@ static GtkWidget *trg_torrent_add_dialog_generic(GtkWindow * parent, return w; } -static void trg_torrent_add_dialog_source_click_cb(GtkWidget * w, - gpointer data) +static void +trg_torrent_add_dialog_source_click_cb(GtkWidget * w, gpointer data) { TrgTorrentAddDialogPrivate *priv = TRG_TORRENT_ADD_DIALOG_GET_PRIVATE(data); @@ -714,8 +719,9 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, 0, 0, 0); ++col; - priv->dest_combo = trg_destination_combo_new(priv->client, TRG_PREFS_KEY_LAST_ADD_DESTINATION); - //gtk_combo_box_set_active(GTK_COMBO_BOX(priv->dest_combo), 0); + priv->dest_combo = + trg_destination_combo_new(priv->client, + TRG_PREFS_KEY_LAST_ADD_DESTINATION); gtk_table_attach(GTK_TABLE(t), priv->dest_combo, col, col + 1, row, row + 1, ~0, 0, 0, 0); gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->dest_combo); @@ -756,8 +762,8 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, return obj; } -static void trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * - klass) +static void +trg_torrent_add_dialog_class_init(TrgTorrentAddDialogClass * klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); diff --git a/src/trg-torrent-graph.c b/src/trg-torrent-graph.c index 0b47bab..6cd9216 100644 --- a/src/trg-torrent-graph.c +++ b/src/trg-torrent-graph.c @@ -219,8 +219,9 @@ void trg_torrent_graph_set_nothing(TrgTorrentGraph * g) priv->in = priv->out = 0; } -void trg_torrent_graph_set_speed(TrgTorrentGraph * g, - trg_torrent_model_update_stats * stats) +void +trg_torrent_graph_set_speed(TrgTorrentGraph * g, + trg_torrent_model_update_stats * stats) { TrgTorrentGraphPrivate *priv = TRG_TORRENT_GRAPH_GET_PRIVATE(g); diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index c7408fe..4788977 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -140,9 +140,9 @@ trg_torrent_model_update_stats *trg_torrent_model_get_stats(TrgTorrentModel return &(priv->stats); } -static void trg_torrent_model_count_peers(TrgTorrentModel * model, - GtkTreeIter * iter, - JsonObject * t) +static void +trg_torrent_model_count_peers(TrgTorrentModel * model, + GtkTreeIter * iter, JsonObject * t) { GList *trackersList = json_array_get_elements(torrent_get_tracker_stats(t)); @@ -279,8 +279,8 @@ trg_torrent_model_reload_dir_aliases_foreachfunc(GtkTreeModel * model, return FALSE; } -void trg_torrent_model_reload_dir_aliases(TrgClient * tc, - GtkTreeModel * model) +void +trg_torrent_model_reload_dir_aliases(TrgClient * tc, GtkTreeModel * model) { gtk_tree_model_foreach(model, trg_torrent_model_reload_dir_aliases_foreachfunc, @@ -289,14 +289,14 @@ void trg_torrent_model_reload_dir_aliases(TrgClient * tc, TORRENT_UPDATE_PATH_CHANGE); } -static gboolean trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * - model, - GtkTreePath * - path - G_GNUC_UNUSED, - GtkTreeIter * - iter, - gpointer gdata) +static gboolean +trg_torrent_model_stats_scan_foreachfunc(GtkTreeModel * + model, + GtkTreePath * + path + G_GNUC_UNUSED, + GtkTreeIter * iter, + gpointer gdata) { trg_torrent_model_update_stats *stats = (trg_torrent_model_update_stats *) gdata; @@ -394,12 +394,13 @@ gchar *shorten_download_dir(TrgClient * tc, const gchar * downloadDir) return g_strdup(downloadDir); } -static inline void update_torrent_iter(TrgTorrentModel * model, - TrgClient * tc, gint64 rpcv, - gint64 serial, GtkTreeIter * iter, - JsonObject * t, - trg_torrent_model_update_stats * - stats, guint * whatsChanged) +static inline void +update_torrent_iter(TrgTorrentModel * model, + TrgClient * tc, gint64 rpcv, + gint64 serial, GtkTreeIter * iter, + JsonObject * t, + trg_torrent_model_update_stats * + stats, guint * whatsChanged) { TrgTorrentModelPrivate *priv = TRG_TORRENT_MODEL_GET_PRIVATE(model); GtkListStore *ls = GTK_LIST_STORE(model); @@ -482,13 +483,12 @@ static inline void update_torrent_iter(TrgTorrentModel * model, gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNSPEED, downRate, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FLAGS, newFlags, -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPSPEED, upRate, -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA, - torrent_get_eta(t), -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_ETA, torrent_get_eta(t), + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_UPLOADED, uploaded, -1); - gtk_list_store_set(ls, iter, - TORRENT_COLUMN_DOWNLOADED, downloaded, -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO, - uploaded > 0 + gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADED, downloaded, + -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_RATIO, uploaded > 0 && downloaded > 0 ? (double) uploaded / (double) downloaded : 0, -1); @@ -498,8 +498,8 @@ static inline void update_torrent_iter(TrgTorrentModel * model, gtk_list_store_set(ls, iter, TORRENT_COLUMN_ADDED, torrent_get_added_date(t), -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR, - downloadDir, -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_DOWNLOADDIR, downloadDir, + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_BANDWIDTH_PRIORITY, torrent_get_bandwidth_priority(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_DONE_DATE, @@ -516,8 +516,8 @@ static inline void update_torrent_iter(TrgTorrentModel * model, peerfrom_get_resume(pf), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_FROMINCOMING, peerfrom_get_incoming(pf), -1); - gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEER_SOURCES, - peerSources, -1); + gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEER_SOURCES, peerSources, + -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_CONNECTED, torrent_get_peers_connected(t), -1); gtk_list_store_set(ls, iter, TORRENT_COLUMN_PEERS_TO_US, @@ -624,11 +624,11 @@ GHashTable *get_torrent_table(TrgTorrentModel * model) return priv->ht; } -gboolean trg_model_find_removed_foreachfunc(GtkTreeModel * model, - GtkTreePath * - path G_GNUC_UNUSED, - GtkTreeIter * iter, - gpointer gdata) +gboolean +trg_model_find_removed_foreachfunc(GtkTreeModel * model, + GtkTreePath * + path G_GNUC_UNUSED, + GtkTreeIter * iter, gpointer gdata) { struct TrgModelRemoveData *args = (struct TrgModelRemoveData *) gdata; gint64 rowSerial; @@ -658,8 +658,9 @@ GList *trg_torrent_model_find_removed(GtkTreeModel * model, return args.toRemove; } -gboolean get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, - GtkTreeIter * out_iter) +gboolean +get_torrent_data(GHashTable * table, gint64 id, JsonObject ** t, + GtkTreeIter * out_iter) { gpointer result = g_hash_table_lookup(table, &id); gboolean found = FALSE; diff --git a/src/trg-torrent-move-dialog.c b/src/trg-torrent-move-dialog.c index 21a76fe..744b821 100644 --- a/src/trg-torrent-move-dialog.c +++ b/src/trg-torrent-move-dialog.c @@ -34,8 +34,7 @@ G_DEFINE_TYPE(TrgTorrentMoveDialog, trg_torrent_move_dialog, GTK_TYPE_DIALOG) #define TRG_TORRENT_MOVE_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_MOVE_DIALOG, TrgTorrentMoveDialogPrivate)) -typedef struct _TrgTorrentMoveDialogPrivate - TrgTorrentMoveDialogPrivate; +typedef struct _TrgTorrentMoveDialogPrivate TrgTorrentMoveDialogPrivate; struct _TrgTorrentMoveDialogPrivate { TrgClient *client; @@ -90,8 +89,8 @@ static void location_changed(GtkWidget * w, gpointer data) static GObject *trg_torrent_move_dialog_constructor(GType type, guint n_construct_properties, - GObjectConstructParam - * construct_params) + GObjectConstructParam * + construct_params) { GObject *object = G_OBJECT_CLASS (trg_torrent_move_dialog_parent_class)->constructor(type, @@ -279,6 +278,6 @@ TrgTorrentMoveDialog *trg_torrent_move_dialog_new(TrgMainWindow * win, { return g_object_new(TRG_TYPE_TORRENT_MOVE_DIALOG, "trg-client", client, - "torrent-tree-view", ttv, - "parent-window", win, NULL); + "torrent-tree-view", ttv, "parent-window", win, + NULL); } diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index d18b577..ef63768 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -48,7 +48,6 @@ G_DEFINE_TYPE(TrgTorrentPropsDialog, trg_torrent_props_dialog, GTK_TYPE_DIALOG) - enum { PROP_0, PROP_TREEVIEW, @@ -58,7 +57,8 @@ enum { #define TRG_TORRENT_PROPS_DIALOG_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_TORRENT_PROPS_DIALOG, TrgTorrentPropsDialogPrivate)) -typedef struct _TrgTorrentPropsDialogPrivate TrgTorrentPropsDialogPrivate; +typedef struct _TrgTorrentPropsDialogPrivate + TrgTorrentPropsDialogPrivate; struct _TrgTorrentPropsDialogPrivate { TrgTorrentTreeView *tv; diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index e52f889..c60f306 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -27,10 +27,8 @@ G_DEFINE_TYPE(TrgTorrentTreeView, trg_torrent_tree_view, TRG_TYPE_TREE_VIEW) - -static void -trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * - klass G_GNUC_UNUSED) +static void trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * + klass G_GNUC_UNUSED) { } diff --git a/src/trg-trackers-model.c b/src/trg-trackers-model.c index 2a4c92d..a8a411e 100644 --- a/src/trg-trackers-model.c +++ b/src/trg-trackers-model.c @@ -48,9 +48,9 @@ gint64 trg_trackers_model_get_torrent_id(TrgTrackersModel * model) return priv->torrentId; } -void trg_trackers_model_update(TrgTrackersModel * model, - gint64 updateSerial, JsonObject * t, - gint mode) +void +trg_trackers_model_update(TrgTrackersModel * model, + gint64 updateSerial, JsonObject * t, gint mode) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); @@ -156,8 +156,8 @@ static void trg_trackers_model_class_init(TrgTrackersModelClass * klass) g_type_class_add_private(klass, sizeof(TrgTrackersModelPrivate)); } -void trg_trackers_model_set_accept(TrgTrackersModel * model, - gboolean accept) +void +trg_trackers_model_set_accept(TrgTrackersModel * model, gboolean accept) { TrgTrackersModelPrivate *priv = TRG_TRACKERS_MODEL_GET_PRIVATE(model); priv->accept = accept; diff --git a/src/trg-trackers-tree-view.c b/src/trg-trackers-tree-view.c index 18eb4ec..528680a 100644 --- a/src/trg-trackers-tree-view.c +++ b/src/trg-trackers-tree-view.c @@ -69,8 +69,9 @@ static gboolean on_trackers_update(gpointer data) return on_generic_interactive_action(data); } -void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, - TrgClient * tc) +void +trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, + TrgClient * tc) { TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(tv); @@ -83,10 +84,10 @@ void trg_trackers_tree_view_new_connection(TrgTrackersTreeView * tv, GTK_CELL_RENDERER_MODE_INERT, NULL); } -static void trg_tracker_announce_edited(GtkCellRendererText * renderer, - gchar * path, - gchar * new_text, - gpointer user_data) +static void +trg_tracker_announce_edited(GtkCellRendererText * renderer, + gchar * path, + gchar * new_text, gpointer user_data) { TrgTrackersTreeViewPrivate *priv = TRG_TRACKERS_TREE_VIEW_GET_PRIVATE(user_data); @@ -129,13 +130,14 @@ static void trg_tracker_announce_edited(GtkCellRendererText * renderer, dispatch_async(priv->client, req, on_trackers_update, user_data); } -static void trg_tracker_announce_editing_started(GtkCellRenderer * - renderer G_GNUC_UNUSED, - GtkCellEditable * - editable G_GNUC_UNUSED, - gchar * - path G_GNUC_UNUSED, - gpointer user_data) +static void +trg_tracker_announce_editing_started(GtkCellRenderer * + renderer G_GNUC_UNUSED, + GtkCellEditable * + editable G_GNUC_UNUSED, + gchar * + path G_GNUC_UNUSED, + gpointer user_data) { TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model @@ -144,9 +146,9 @@ static void trg_tracker_announce_editing_started(GtkCellRenderer * trg_trackers_model_set_accept(model, FALSE); } -static void trg_tracker_announce_editing_canceled(GtkWidget * - w G_GNUC_UNUSED, - gpointer data) +static void +trg_tracker_announce_editing_canceled(GtkWidget * + w G_GNUC_UNUSED, gpointer data) { TrgTrackersModel *model = TRG_TRACKERS_MODEL(gtk_tree_view_get_model(GTK_TREE_VIEW(data))); @@ -383,7 +385,6 @@ TrgTrackersTreeView *trg_trackers_tree_view_new(TrgTrackersModel * model, priv->win = win; trg_tree_view_setup_columns(TRG_TREE_VIEW(obj)); - //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 4265c7d..077274e 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -77,15 +77,16 @@ gboolean trg_tree_view_is_column_showing(TrgTreeView * tv, gint index) return FALSE; } -static void trg_tree_view_get_property(GObject * object, guint property_id, - GValue * value, GParamSpec * pspec) +static void +trg_tree_view_get_property(GObject * object, guint property_id, + GValue * value, GParamSpec * pspec) { G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } -static void trg_tree_view_set_property(GObject * object, guint property_id, - const GValue * value, - GParamSpec * pspec) +static void +trg_tree_view_set_property(GObject * object, guint property_id, + const GValue * value, GParamSpec * pspec) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(object); switch (property_id) { @@ -178,8 +179,8 @@ static trg_column_description *trg_tree_view_find_column(TrgTreeView * tv, return NULL; } -static void trg_tree_view_hide_column(GtkWidget * w, - GtkTreeViewColumn * col) +static void +trg_tree_view_hide_column(GtkWidget * w, GtkTreeViewColumn * col) { trg_column_description *desc = g_object_get_data(G_OBJECT(col), "column-desc"); @@ -188,15 +189,16 @@ static void trg_tree_view_hide_column(GtkWidget * w, gtk_tree_view_remove_column(GTK_TREE_VIEW(tv), col); } -static void trg_tree_view_add_column(TrgTreeView * tv, - trg_column_description * desc, - gint64 width) +static void +trg_tree_view_add_column(TrgTreeView * tv, + trg_column_description * desc, gint64 width) { trg_tree_view_add_column_after(tv, desc, width, NULL); } -static void trg_tree_view_user_add_column_cb(GtkWidget * w, - trg_column_description * desc) +static void +trg_tree_view_user_add_column_cb(GtkWidget * w, + trg_column_description * desc) { GtkTreeViewColumn *col = g_object_get_data(G_OBJECT(w), "parent-col"); TrgTreeView *tv = @@ -205,8 +207,9 @@ static void trg_tree_view_user_add_column_cb(GtkWidget * w, trg_tree_view_add_column_after(tv, desc, -1, col); } -static void view_popup_menu(GtkButton * button, GdkEventButton * event, - GtkTreeViewColumn * column) +static void +view_popup_menu(GtkButton * button, GdkEventButton * event, + GtkTreeViewColumn * column) { GtkWidget *tv = gtk_tree_view_column_get_tree_view(column); TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); @@ -243,9 +246,9 @@ static void view_popup_menu(GtkButton * button, GdkEventButton * event, gdk_event_get_time((GdkEvent *) event)); } -static gboolean col_onButtonPressed(GtkButton * button, - GdkEventButton * event, - GtkTreeViewColumn * col) +static gboolean +col_onButtonPressed(GtkButton * button, + GdkEventButton * event, GtkTreeViewColumn * col) { if (event->type == GDK_BUTTON_PRESS && event->button == 3) { view_popup_menu(button, event, col); @@ -256,8 +259,8 @@ static gboolean col_onButtonPressed(GtkButton * button, } static GtkTreeViewColumn - * trg_tree_view_icontext_column_new(trg_column_description * desc, - gchar * renderer_property) + *trg_tree_view_icontext_column_new(trg_column_description * desc, + gchar * renderer_property) { GtkTreeViewColumn *column = gtk_tree_view_column_new(); GtkCellRenderer *renderer = gtk_cell_renderer_pixbuf_new(); @@ -277,7 +280,7 @@ static GtkTreeViewColumn } static GtkTreeViewColumn - * trg_tree_view_fileicontext_column_new(trg_column_description * desc) + *trg_tree_view_fileicontext_column_new(trg_column_description * desc) { GtkTreeViewColumn *column = gtk_tree_view_column_new(); GtkCellRenderer *renderer = trg_cell_renderer_file_icon_new(); @@ -298,10 +301,10 @@ static GtkTreeViewColumn return column; } -static void trg_tree_view_add_column_after(TrgTreeView * tv, - trg_column_description * desc, - gint64 width, - GtkTreeViewColumn * after_col) +static void +trg_tree_view_add_column_after(TrgTreeView * tv, + trg_column_description * desc, + gint64 width, GtkTreeViewColumn * after_col) { GtkCellRenderer *renderer; GtkTreeViewColumn *column = NULL; @@ -416,6 +419,9 @@ static void trg_tree_view_add_column_after(TrgTreeView * tv, model_column, NULL); break; + default: + g_critical("unknown TrgTreeView column"); + return; } gtk_tree_view_column_set_min_width(column, 0); @@ -507,8 +513,8 @@ void trg_tree_view_persist(TrgTreeView * tv, gboolean parentIsSortable) (gint64) sort_type); } -void trg_tree_view_restore_sort(TrgTreeView * tv, - gboolean parentIsSortable) +void +trg_tree_view_restore_sort(TrgTreeView * tv, gboolean parentIsSortable) { JsonObject *props = trg_prefs_get_tree_view_props(tv); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); @@ -539,6 +545,7 @@ void trg_tree_view_setup_columns(TrgTreeView * tv) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); JsonObject *props = trg_prefs_get_tree_view_props(tv); + GList *columns, *widths, *cli, *wli; if (!json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS) || !json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) { @@ -552,17 +559,15 @@ void trg_tree_view_setup_columns(TrgTreeView * tv) return; } - GList *columns = + columns = json_array_get_elements(json_object_get_array_member (props, TRG_PREFS_KEY_TV_COLUMNS)); - GList *widths = + widths = json_array_get_elements(json_object_get_array_member (props, TRG_PREFS_KEY_TV_WIDTHS)); - GList *wli = widths; - GList *cli = columns; - - for (; cli; cli = g_list_next(cli)) { + for (cli = columns, wli = widths; cli && wli; + cli = g_list_next(cli), wli = g_list_next(wli)) { trg_column_description *desc = trg_tree_view_find_column(tv, json_node_get_string ((JsonNode @@ -573,7 +578,6 @@ void trg_tree_view_setup_columns(TrgTreeView * tv) gint64 width = json_node_get_int((JsonNode *) wli->data); trg_tree_view_add_column(tv, desc, width); } - wli = g_list_next(wli); } g_list_free(columns); @@ -175,7 +175,7 @@ gboolean is_magnet(const gchar * string) gboolean is_url(const gchar * string) { - //return g_regex_match_simple ("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?", string, 0, 0); + /* return g_regex_match_simple ("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?", string, 0, 0); */ return g_regex_match_simple("^http[s]?://", string, 0, 0); } @@ -231,10 +231,11 @@ void g_str_slist_free(GSList * list) void rm_trailing_slashes(gchar * str) { + int i, len; + if (!str) return; - int i, len; if ((len = strlen(str)) < 1) return; @@ -537,8 +538,7 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) gboolean is_minimised_arg(const gchar * arg) { return !g_strcmp0(arg, "-m") - || !g_strcmp0(arg, "--minimized") - || !g_strcmp0(arg, "/m"); + || !g_strcmp0(arg, "--minimized") || !g_strcmp0(arg, "/m"); } gboolean should_be_minimised(int argc, char *argv[]) |