From fbfb76e99858588292aa6e929dcfe6acae3912b7 Mon Sep 17 00:00:00 2001 From: Alan Fitton Date: Sun, 26 Aug 2012 13:22:18 +0100 Subject: reindent all the things! with indent -nut -kr. --- src/bencode.c | 10 +- src/icons.c | 273 +++---- src/torrent-cell-renderer.c | 1484 +++++++++++++++++++------------------ src/torrent.c | 23 +- src/trg-about-window.c | 6 +- src/trg-cell-renderer-counter.c | 4 +- src/trg-cell-renderer-file-icon.c | 4 +- src/trg-cell-renderer-speed.c | 55 +- src/trg-client.c | 16 +- src/trg-files-model.c | 16 +- src/trg-general-panel.c | 19 +- src/trg-gtk-app.c | 2 +- src/trg-main-window.c | 218 +++--- src/trg-menu-bar.c | 116 +-- src/trg-peers-model.c | 12 +- src/trg-persistent-tree-view.c | 32 +- src/trg-preferences-dialog.c | 54 +- src/trg-prefs.c | 9 +- src/trg-remote-prefs-dialog.c | 6 +- src/trg-sortable-filtered-model.c | 4 +- src/trg-status-bar.c | 11 +- src/trg-torrent-add-dialog.c | 138 ++-- src/trg-torrent-model.c | 30 +- src/trg-torrent-props-dialog.c | 6 +- src/trg-torrent-tree-view.c | 183 +++-- src/trg-tree-view.c | 261 ++++--- src/util.c | 67 +- transmission-remote-gtk.pot | 396 ++++++---- 28 files changed, 1912 insertions(+), 1543 deletions(-) diff --git a/src/bencode.c b/src/bencode.c index c890a28..89f35ed 100644 --- a/src/bencode.c +++ b/src/bencode.c @@ -219,11 +219,11 @@ void be_free(be_node * node) { unsigned int i; if (node->val.d) { - for (i = 0; node->val.d[i].val; ++i) { - _be_free_str(node->val.d[i].key); - be_free(node->val.d[i].val); - } - g_free(node->val.d); + for (i = 0; node->val.d[i].val; ++i) { + _be_free_str(node->val.d[i].key); + be_free(node->val.d[i].val); + } + g_free(node->val.d); } break; } diff --git a/src/icons.c b/src/icons.c index 0c0e07e..bb8e33d 100644 --- a/src/icons.c +++ b/src/icons.c @@ -6,7 +6,7 @@ * $Id: icons.c 12639 2011-08-07 18:41:13Z jordan $ */ -#include /* strcmp */ +#include /* strcmp */ #include #include #include @@ -14,230 +14,239 @@ #define VOID_PIXBUF_KEY "void-pixbuf" -static const char * -get_static_string( const char *s ) +static const char *get_static_string(const char *s) { - static GStringChunk * static_strings = NULL; + static GStringChunk *static_strings = NULL; - if( s == NULL ) - return NULL; + if (s == NULL) + return NULL; - if( static_strings == NULL ) - static_strings = g_string_chunk_new( 1024 ); + if (static_strings == NULL) + static_strings = g_string_chunk_new(1024); - return g_string_chunk_insert_const( static_strings, s ); + return g_string_chunk_insert_const(static_strings, s); } typedef struct { - GtkIconTheme * icon_theme; - int icon_size; - GHashTable * cache; + GtkIconTheme *icon_theme; + int icon_size; + GHashTable *cache; } IconCache; -static IconCache *icon_cache[7] = { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; +static IconCache *icon_cache[7] = + { NULL, NULL, NULL, NULL, NULL, NULL, NULL }; -static GdkPixbuf* -create_void_pixbuf (int width, - int height) +static GdkPixbuf *create_void_pixbuf(int width, int height) { GdkPixbuf *p; - p = gdk_pixbuf_new( GDK_COLORSPACE_RGB, - TRUE, - 8, - width, - height); - gdk_pixbuf_fill( p, 0xFFFFFF00 ); + p = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); + gdk_pixbuf_fill(p, 0xFFFFFF00); return p; } -static int -get_size_in_pixels( GtkWidget * widget, - GtkIconSize icon_size ) +static int get_size_in_pixels(GtkWidget * widget, GtkIconSize icon_size) { int width, height; - gtk_icon_size_lookup_for_settings( gtk_widget_get_settings( widget ), - icon_size, - &width, - &height ); - return MAX( width, height ); + gtk_icon_size_lookup_for_settings(gtk_widget_get_settings(widget), + icon_size, &width, &height); + return MAX(width, height); } -static IconCache * -icon_cache_new (GtkWidget * for_widget, int icon_size) +static IconCache *icon_cache_new(GtkWidget * for_widget, int icon_size) { - IconCache * icon_cache; + IconCache *icon_cache; - g_return_val_if_fail( for_widget != NULL, NULL ); + g_return_val_if_fail(for_widget != NULL, NULL); - icon_cache = g_new0( IconCache, 1 ); - icon_cache->icon_theme = gtk_icon_theme_get_for_screen( gtk_widget_get_screen( for_widget )); - icon_cache->icon_size = get_size_in_pixels( for_widget, icon_size ); - icon_cache->cache = g_hash_table_new_full (g_str_hash, g_str_equal, NULL, g_object_unref); + icon_cache = g_new0(IconCache, 1); + icon_cache->icon_theme = + gtk_icon_theme_get_for_screen(gtk_widget_get_screen(for_widget)); + icon_cache->icon_size = get_size_in_pixels(for_widget, icon_size); + icon_cache->cache = + g_hash_table_new_full(g_str_hash, g_str_equal, NULL, + g_object_unref); - g_hash_table_insert( icon_cache->cache, (void*)VOID_PIXBUF_KEY, create_void_pixbuf( icon_cache->icon_size, icon_cache->icon_size )); + g_hash_table_insert(icon_cache->cache, (void *) VOID_PIXBUF_KEY, + create_void_pixbuf(icon_cache->icon_size, + icon_cache->icon_size)); return icon_cache; } -static const char * -_icon_cache_get_icon_key( GIcon * icon ) +static const char *_icon_cache_get_icon_key(GIcon * icon) { - const char * key = NULL; + const char *key = NULL; - if ( G_IS_THEMED_ICON( icon )) { - char ** icon_names; - char * name; + if (G_IS_THEMED_ICON(icon)) { + char **icon_names; + char *name; - g_object_get( icon, "names", &icon_names, NULL ); - name = g_strjoinv( ",", icon_names ); + g_object_get(icon, "names", &icon_names, NULL); + name = g_strjoinv(",", icon_names); - key = get_static_string( name ); + key = get_static_string(name); - g_free( name ); - g_strfreev( icon_names ); - } - else if ( G_IS_FILE_ICON( icon )) { - GFile * file; - char * filename; + g_free(name); + g_strfreev(icon_names); + } else if (G_IS_FILE_ICON(icon)) { + GFile *file; + char *filename; - file = g_file_icon_get_file( G_FILE_ICON( icon )); - filename = g_file_get_path( file ); + file = g_file_icon_get_file(G_FILE_ICON(icon)); + filename = g_file_get_path(file); - key = get_static_string( filename ); + key = get_static_string(filename); - g_free( filename ); - g_object_unref( file ); + g_free(filename); + g_object_unref(file); } return key; } -static GdkPixbuf * -get_themed_icon_pixbuf( GThemedIcon * icon, - int size, - GtkIconTheme * icon_theme ) +static GdkPixbuf *get_themed_icon_pixbuf(GThemedIcon * icon, + int size, + GtkIconTheme * icon_theme) { - char ** icon_names = NULL; - GtkIconInfo * icon_info; - GdkPixbuf * pixbuf; - GError * error = NULL; - - g_object_get( icon, "names", &icon_names, NULL ); - - icon_info = gtk_icon_theme_choose_icon( icon_theme, (const char **)icon_names, size, 0 ); - if ( icon_info == NULL ) - icon_info = gtk_icon_theme_lookup_icon( icon_theme, "text-x-generic", size, GTK_ICON_LOOKUP_USE_BUILTIN ); - - pixbuf = gtk_icon_info_load_icon( icon_info, &error ); - if ( pixbuf == NULL ) { - if( error && error->message ) - g_warning( "could not load icon pixbuf: %s\n", error->message ); - g_clear_error( &error ); + char **icon_names = NULL; + GtkIconInfo *icon_info; + GdkPixbuf *pixbuf; + GError *error = NULL; + + g_object_get(icon, "names", &icon_names, NULL); + + icon_info = + gtk_icon_theme_choose_icon(icon_theme, (const char **) icon_names, + size, 0); + if (icon_info == NULL) + icon_info = + gtk_icon_theme_lookup_icon(icon_theme, "text-x-generic", size, + GTK_ICON_LOOKUP_USE_BUILTIN); + + pixbuf = gtk_icon_info_load_icon(icon_info, &error); + if (pixbuf == NULL) { + if (error && error->message) + g_warning("could not load icon pixbuf: %s\n", error->message); + g_clear_error(&error); } - gtk_icon_info_free( icon_info ); - g_strfreev( icon_names ); + gtk_icon_info_free(icon_info); + g_strfreev(icon_names); return pixbuf; } -static GdkPixbuf * -get_file_icon_pixbuf( GFileIcon * icon, int size ) +static GdkPixbuf *get_file_icon_pixbuf(GFileIcon * icon, int size) { - GFile * file; - char * filename; - GdkPixbuf * pixbuf; + GFile *file; + char *filename; + GdkPixbuf *pixbuf; - file = g_file_icon_get_file( icon ); - filename = g_file_get_path( file ); - pixbuf = gdk_pixbuf_new_from_file_at_size( filename, size, -1, NULL ); - g_free( filename ); - g_object_unref( file ); + file = g_file_icon_get_file(icon); + filename = g_file_get_path(file); + pixbuf = gdk_pixbuf_new_from_file_at_size(filename, size, -1, NULL); + g_free(filename); + g_object_unref(file); return pixbuf; } -static GdkPixbuf * -_get_icon_pixbuf( GIcon * icon, int size, GtkIconTheme * theme ) +static GdkPixbuf *_get_icon_pixbuf(GIcon * icon, int size, + GtkIconTheme * theme) { - if ( icon == NULL ) + if (icon == NULL) return NULL; - if ( G_IS_THEMED_ICON (icon) ) - return get_themed_icon_pixbuf( G_THEMED_ICON( icon ), size, theme ); - if ( G_IS_FILE_ICON (icon) ) - return get_file_icon_pixbuf( G_FILE_ICON( icon ), size ); + if (G_IS_THEMED_ICON(icon)) + return get_themed_icon_pixbuf(G_THEMED_ICON(icon), size, theme); + if (G_IS_FILE_ICON(icon)) + return get_file_icon_pixbuf(G_FILE_ICON(icon), size); return NULL; } -static GdkPixbuf * -icon_cache_get_mime_type_icon( IconCache * icon_cache, const char * mime_type ) +static GdkPixbuf *icon_cache_get_mime_type_icon(IconCache * icon_cache, + const char *mime_type) { - GIcon * icon; - const char * key = NULL; - GdkPixbuf * pixbuf; + GIcon *icon; + const char *key = NULL; + GdkPixbuf *pixbuf; - icon = g_content_type_get_icon( mime_type ); - key = _icon_cache_get_icon_key( icon ); + icon = g_content_type_get_icon(mime_type); + key = _icon_cache_get_icon_key(icon); if (key == NULL) key = VOID_PIXBUF_KEY; - pixbuf = g_hash_table_lookup( icon_cache->cache, key ); + pixbuf = g_hash_table_lookup(icon_cache->cache, key); if (pixbuf != NULL) { - g_object_ref( pixbuf ); - g_object_unref( G_OBJECT( icon ) ); + g_object_ref(pixbuf); + g_object_unref(G_OBJECT(icon)); return pixbuf; } - pixbuf = _get_icon_pixbuf( icon, icon_cache->icon_size, icon_cache->icon_theme ); - if( pixbuf != NULL ) - g_hash_table_insert( icon_cache->cache, (gpointer) key, g_object_ref( pixbuf ) ); + pixbuf = + _get_icon_pixbuf(icon, icon_cache->icon_size, + icon_cache->icon_theme); + if (pixbuf != NULL) + g_hash_table_insert(icon_cache->cache, (gpointer) key, + g_object_ref(pixbuf)); - g_object_unref( G_OBJECT( icon ) ); + g_object_unref(G_OBJECT(icon)); return pixbuf; } -GdkPixbuf * -gtr_get_mime_type_icon( const char * mime_type, - GtkIconSize icon_size, - GtkWidget * for_widget ) +GdkPixbuf *gtr_get_mime_type_icon(const char *mime_type, + GtkIconSize icon_size, + GtkWidget * for_widget) { int n; - switch ( icon_size ) { - case GTK_ICON_SIZE_MENU: n = 1; break; - case GTK_ICON_SIZE_SMALL_TOOLBAR: n = 2; break; - case GTK_ICON_SIZE_LARGE_TOOLBAR: n = 3; break; - case GTK_ICON_SIZE_BUTTON: n = 4; break; - case GTK_ICON_SIZE_DND: n = 5; break; - case GTK_ICON_SIZE_DIALOG: n = 6; break; - default /*GTK_ICON_SIZE_INVALID*/: n = 0; break; + switch (icon_size) { + case GTK_ICON_SIZE_MENU: + n = 1; + break; + case GTK_ICON_SIZE_SMALL_TOOLBAR: + n = 2; + break; + case GTK_ICON_SIZE_LARGE_TOOLBAR: + n = 3; + break; + case GTK_ICON_SIZE_BUTTON: + n = 4; + break; + case GTK_ICON_SIZE_DND: + n = 5; + break; + case GTK_ICON_SIZE_DIALOG: + n = 6; + break; + default /*GTK_ICON_SIZE_INVALID */ : + n = 0; + break; } - if( icon_cache[n] == NULL ) - icon_cache[n] = icon_cache_new( for_widget, icon_size ); + if (icon_cache[n] == NULL) + icon_cache[n] = icon_cache_new(for_widget, icon_size); - return icon_cache_get_mime_type_icon( icon_cache[n], mime_type ); + return icon_cache_get_mime_type_icon(icon_cache[n], mime_type); } -const char * -gtr_get_mime_type_from_filename( const char * file G_GNUC_UNUSED ) +const char *gtr_get_mime_type_from_filename(const char *file G_GNUC_UNUSED) { - char * tmp = g_content_type_guess( file, NULL, 0, NULL ); - const char * ret = get_static_string( tmp ); - g_free( tmp ); + char *tmp = g_content_type_guess(file, NULL, 0, NULL); + const char *ret = get_static_string(tmp); + g_free(tmp); return ret; } diff --git a/src/torrent-cell-renderer.c b/src/torrent-cell-renderer.c index 296f288..348b77a 100644 --- a/src/torrent-cell-renderer.c +++ b/src/torrent-cell-renderer.c @@ -10,6 +10,9 @@ * $Id: torrent-cell-renderer.c 13388 2012-07-14 19:26:55Z jordan $ */ +/* This cell renderer has been modified heavily to work with the + * TrgTorrentModel instead of libtransmission. */ + #include #include #include @@ -21,8 +24,7 @@ #include "util.h" #include "torrent-cell-renderer.h" -enum -{ +enum { P_STATUS = 1, P_CLIENT, P_RATIO, @@ -73,32 +75,25 @@ typedef GdkRectangle GtrRequisition; ***/ static void -render_compact( TorrentCellRenderer * cell, - GtrDrawable * window, - GtkWidget * widget, - const GdkRectangle * background_area, - const GdkRectangle * cell_area, - GtkCellRendererState flags ); +render_compact(TorrentCellRenderer * cell, + GtrDrawable * window, + GtkWidget * widget, + const GdkRectangle * background_area, + const GdkRectangle * cell_area, GtkCellRendererState flags); static void -render_full( TorrentCellRenderer * cell, - GtrDrawable * window, - GtkWidget * widget, - const GdkRectangle * background_area, - const GdkRectangle * cell_area, - GtkCellRendererState flags ); - -/*** -**** -***/ - -struct TorrentCellRendererPrivate -{ - GtkCellRenderer * text_renderer; - GtkCellRenderer * progress_renderer; - GtkCellRenderer * icon_renderer; - GString * gstr1; - GString * gstr2; +render_full(TorrentCellRenderer * cell, + GtrDrawable * window, + GtkWidget * widget, + const GdkRectangle * background_area, + const GdkRectangle * cell_area, GtkCellRendererState flags); + +struct TorrentCellRendererPrivate { + GtkCellRenderer *text_renderer; + GtkCellRenderer *progress_renderer; + GtkCellRenderer *icon_renderer; + GString *gstr1; + GString *gstr2; int bar_height; guint flags; @@ -128,232 +123,244 @@ struct TorrentCellRendererPrivate gboolean compact; }; -static gboolean getSeedRatio(TorrentCellRenderer *r, gdouble *ratio) { - struct TorrentCellRendererPrivate *p = r->priv; - - if ((p->seedRatioMode == 0) && (trg_client_get_seed_ratio_limited(p->client) == TRUE)) { - *ratio = trg_client_get_seed_ratio_limit(p->client); - return TRUE; - } else if (p->seedRatioMode == 1) { - *ratio = p->seedRatioLimit; - return TRUE; - } +static gboolean getSeedRatio(TorrentCellRenderer * r, gdouble * ratio) +{ + struct TorrentCellRendererPrivate *p = r->priv; + + if ((p->seedRatioMode == 0) + && (trg_client_get_seed_ratio_limited(p->client) == TRUE)) { + *ratio = trg_client_get_seed_ratio_limit(p->client); + return TRUE; + } else if (p->seedRatioMode == 1) { + *ratio = p->seedRatioLimit; + return TRUE; + } - return FALSE; + return FALSE; } -static void -getProgressString( GString * gstr, - TorrentCellRenderer * r) +static void getProgressString(GString * gstr, TorrentCellRenderer * r) { - struct TorrentCellRendererPrivate *p = r->priv; - - const gint64 haveTotal = p->haveUnchecked + p->haveValid; - const int isSeed = p->haveValid >= p->totalSize; - char buf1[32], buf2[32], buf3[32], buf4[32], buf5[32], buf6[32]; - double seedRatio; - const gboolean hasSeedRatio = getSeedRatio( r, &seedRatio ); - - if( p->flags & TORRENT_FLAG_DOWNLOADING ) /* downloading */ - { - g_string_append_printf( gstr, - /* %1$s is how much we've got, - %2$s is how much we'll have when done, - %3$s%% is a percentage of the two */ - _( "%1$s of %2$s (%3$s)" ), - tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), - tr_strlsize( buf2, p->sizeWhenDone, sizeof( buf2 ) ), - tr_strlpercent( buf3, p->done, sizeof( buf3 ) ) ); - } - else if( isSeed ) - { - if( hasSeedRatio ) - { - g_string_append_printf( gstr, - _( "%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s Goal: %6$s)" ), - tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), - tr_strlsize( buf2, p->totalSize, sizeof( buf2 ) ), - tr_strlpercent( buf3, p->done, sizeof( buf3 ) ), - tr_strlsize( buf4, p->uploadedEver, sizeof( buf4 ) ), - tr_strlratio( buf5, p->ratio, sizeof( buf5 ) ), - tr_strlratio( buf6, seedRatio, sizeof( buf6 ) ) ); + struct TorrentCellRendererPrivate *p = r->priv; + + const gint64 haveTotal = p->haveUnchecked + p->haveValid; + const int isSeed = p->haveValid >= p->totalSize; + char buf1[32], buf2[32], buf3[32], buf4[32], buf5[32], buf6[32]; + double seedRatio; + const gboolean hasSeedRatio = getSeedRatio(r, &seedRatio); + + if (p->flags & TORRENT_FLAG_DOWNLOADING) { /* downloading */ + g_string_append_printf(gstr, + /* %1$s is how much we've got, + %2$s is how much we'll have when done, + %3$s%% is a percentage of the two */ + _("%1$s of %2$s (%3$s)"), + tr_strlsize(buf1, haveTotal, sizeof(buf1)), + tr_strlsize(buf2, p->sizeWhenDone, + sizeof(buf2)), + tr_strlpercent(buf3, p->done, + sizeof(buf3))); + } else if (isSeed) { + if (hasSeedRatio) { + g_string_append_printf(gstr, + _ + ("%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s Goal: %6$s)"), + tr_strlsize(buf1, haveTotal, + sizeof(buf1)), + tr_strlsize(buf2, p->totalSize, + sizeof(buf2)), + tr_strlpercent(buf3, p->done, + sizeof(buf3)), + tr_strlsize(buf4, p->uploadedEver, + sizeof(buf4)), + tr_strlratio(buf5, p->ratio, + sizeof(buf5)), + tr_strlratio(buf6, seedRatio, + sizeof(buf6))); + } else { + g_string_append_printf(gstr, + _ + ("%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s)"), + tr_strlsize(buf1, haveTotal, + sizeof(buf1)), + tr_strlsize(buf2, p->totalSize, + sizeof(buf2)), + tr_strlpercent(buf3, p->done, + sizeof(buf3)), + tr_strlsize(buf4, p->uploadedEver, + sizeof(buf4)), + tr_strlratio(buf5, p->ratio, + sizeof(buf5))); } - else - { - g_string_append_printf( gstr, - _( "%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s)" ), - tr_strlsize( buf1, haveTotal, sizeof( buf1 ) ), - tr_strlsize( buf2, p->totalSize, sizeof( buf2 ) ), - tr_strlpercent( buf3, p->done, sizeof( buf3 ) ), - tr_strlsize( buf4, p->uploadedEver, sizeof( buf4 ) ), - tr_strlratio( buf5, p->ratio, sizeof( buf5 ) ) ); - } - } - else /* seeding */ - { - if( hasSeedRatio ) - { - g_string_append_printf( gstr, - _( "%1$s, uploaded %2$s (Ratio: %3$s Goal: %4$s)" ), - tr_strlsize( buf1, p->totalSize, sizeof( buf1 ) ), - tr_strlsize( buf2, p->uploadedEver, sizeof( buf2 ) ), - tr_strlratio( buf3, p->ratio, sizeof( buf3 ) ), - tr_strlratio( buf4, seedRatio, sizeof( buf4 ) ) ); - } - else - { - g_string_append_printf( gstr, - /* %1$s is the torrent's total size, - %2$s is how much we've uploaded, - %3$s is our upload-to-download ratio */ - _( "%1$s, uploaded %2$s (Ratio: %3$s)" ), - tr_strlsize( buf1, p->sizeWhenDone, sizeof( buf1 ) ), - tr_strlsize( buf2, p->uploadedEver, sizeof( buf2 ) ), - tr_strlratio( buf3, p->ratio, sizeof( buf3 ) ) ); + } else { /* seeding */ + + if (hasSeedRatio) { + g_string_append_printf(gstr, + _ + ("%1$s, uploaded %2$s (Ratio: %3$s Goal: %4$s)"), + tr_strlsize(buf1, p->totalSize, + sizeof(buf1)), + tr_strlsize(buf2, p->uploadedEver, + sizeof(buf2)), + tr_strlratio(buf3, p->ratio, + sizeof(buf3)), + tr_strlratio(buf4, seedRatio, + sizeof(buf4))); + } else { + g_string_append_printf(gstr, + /* %1$s is the torrent's total size, + %2$s is how much we've uploaded, + %3$s is our upload-to-download ratio */ + _("%1$s, uploaded %2$s (Ratio: %3$s)"), + tr_strlsize(buf1, p->sizeWhenDone, + sizeof(buf1)), + tr_strlsize(buf2, p->uploadedEver, + sizeof(buf2)), + tr_strlratio(buf3, p->ratio, + sizeof(buf3))); } } /* add time when downloading */ - if( ( p->flags & TORRENT_FLAG_DOWNLOADING ) - || ( hasSeedRatio && ( p->flags & TORRENT_FLAG_SEEDING ) ) ) - { + if ((p->flags & TORRENT_FLAG_DOWNLOADING) + || (hasSeedRatio && (p->flags & TORRENT_FLAG_SEEDING))) { gint64 eta = p->eta; - g_string_append( gstr, " - " ); - if( eta < 0 ) - g_string_append( gstr, _( "Remaining time unknown" ) ); - else - { + g_string_append(gstr, " - "); + if (eta < 0) + g_string_append(gstr, _("Remaining time unknown")); + else { char timestr[128]; - tr_strltime_long( timestr, eta, sizeof( timestr ) ); + tr_strltime_long(timestr, eta, sizeof(timestr)); /* time remaining */ - g_string_append_printf( gstr, _( "%s remaining" ), timestr ); + g_string_append_printf(gstr, _("%s remaining"), timestr); } } } -static char* -getShortTransferString( TorrentCellRenderer * r, - char * buf, - size_t buflen ) +static char *getShortTransferString(TorrentCellRenderer * r, + char *buf, size_t buflen) { - struct TorrentCellRendererPrivate *priv = r->priv; + struct TorrentCellRendererPrivate *priv = r->priv; char downStr[32], upStr[32]; const gboolean haveMeta = priv->fileCount > 0; const gboolean haveUp = haveMeta && priv->peersFromUs > 0; const gboolean haveDown = haveMeta && priv->peersToUs > 0; - if( haveDown ) - tr_formatter_speed_KBps( downStr, priv->downSpeed, sizeof( downStr ) ); - if( haveUp ) - tr_formatter_speed_KBps( upStr, priv->upSpeed, sizeof( upStr ) ); + if (haveDown) + tr_formatter_speed_KBps(downStr, priv->downSpeed, sizeof(downStr)); + if (haveUp) + tr_formatter_speed_KBps(upStr, priv->upSpeed, sizeof(upStr)); - if( haveDown && haveUp ) + if (haveDown && haveUp) /* 1==down arrow, 2==down speed, 3==up arrow, 4==down speed */ - g_snprintf( buf, buflen, _( "%1$s %2$s, %3$s %4$s" ), - GTR_UNICODE_DOWN, downStr, - GTR_UNICODE_UP, upStr ); - else if( haveDown ) + g_snprintf(buf, buflen, _("%1$s %2$s, %3$s %4$s"), + GTR_UNICODE_DOWN, downStr, GTR_UNICODE_UP, upStr); + else if (haveDown) /* bandwidth speed + unicode arrow */ - g_snprintf( buf, buflen, _( "%1$s %2$s" ), - GTR_UNICODE_DOWN, downStr ); - else if( haveUp ) + g_snprintf(buf, buflen, _("%1$s %2$s"), GTR_UNICODE_DOWN, downStr); + else if (haveUp) /* bandwidth speed + unicode arrow */ - g_snprintf( buf, buflen, _( "%1$s %2$s" ), - GTR_UNICODE_UP, upStr ); + g_snprintf(buf, buflen, _("%1$s %2$s"), GTR_UNICODE_UP, upStr); /*else if( st->isStalled ) - g_strlcpy( buf, _( "Stalled" ), buflen );*/ - else if( haveMeta ) - g_strlcpy( buf, _( "Idle" ), buflen ); + g_strlcpy( buf, _( "Stalled" ), buflen ); */ + else if (haveMeta) + g_strlcpy(buf, _("Idle"), buflen); else *buf = '\0'; return buf; } -static void -getShortStatusString( GString * gstr, - TorrentCellRenderer * r ) +static void getShortStatusString(GString * gstr, TorrentCellRenderer * r) { - struct TorrentCellRendererPrivate *priv = r->priv; - guint flags = priv->flags; - - if (flags & TORRENT_FLAG_PAUSED) { - g_string_append( gstr, (flags & TORRENT_FLAG_COMPLETE) ? _( "Finished" ) : _( "Paused" ) ); - } else if (flags & TORRENT_FLAG_WAITING_CHECK) { - g_string_append( gstr, _( "Queued for verification" ) ); - } else if (flags & TORRENT_FLAG_DOWNLOADING_WAIT) { - g_string_append( gstr, _( "Queued for download" ) ); - } else if (flags & TORRENT_FLAG_SEEDING_WAIT) { - g_string_append( gstr, _( "Queued for seeding" ) ); - } else if (flags & TORRENT_FLAG_CHECKING) { - char buf1[32]; - g_string_append_printf( gstr, _( "Verifying data (%1$s tested)" ), - tr_strlpercent( buf1, priv->done, sizeof( buf1 ) ) ); - } else if ((flags & TORRENT_FLAG_DOWNLOADING) || (flags & TORRENT_FLAG_SEEDING)) { - char buf[512]; - if( flags & ~TORRENT_FLAG_DOWNLOADING ) - { - tr_strlratio( buf, priv->ratio, sizeof( buf ) ); - g_string_append_printf( gstr, _( "Ratio %s" ), buf ); - g_string_append( gstr, ", " ); - } - getShortTransferString( r, buf, sizeof( buf ) ); - g_string_append( gstr, buf ); + struct TorrentCellRendererPrivate *priv = r->priv; + guint flags = priv->flags; + + if (flags & TORRENT_FLAG_PAUSED) { + g_string_append(gstr, + (flags & TORRENT_FLAG_COMPLETE) ? _("Finished") : + _("Paused")); + } else if (flags & TORRENT_FLAG_WAITING_CHECK) { + g_string_append(gstr, _("Queued for verification")); + } else if (flags & TORRENT_FLAG_DOWNLOADING_WAIT) { + g_string_append(gstr, _("Queued for download")); + } else if (flags & TORRENT_FLAG_SEEDING_WAIT) { + g_string_append(gstr, _("Queued for seeding")); + } else if (flags & TORRENT_FLAG_CHECKING) { + char buf1[32]; + g_string_append_printf(gstr, _("Verifying data (%1$s tested)"), + tr_strlpercent(buf1, priv->done, + sizeof(buf1))); + } else if ((flags & TORRENT_FLAG_DOWNLOADING) + || (flags & TORRENT_FLAG_SEEDING)) { + char buf[512]; + if (flags & ~TORRENT_FLAG_DOWNLOADING) { + tr_strlratio(buf, priv->ratio, sizeof(buf)); + g_string_append_printf(gstr, _("Ratio %s"), buf); + g_string_append(gstr, ", "); + } + getShortTransferString(r, buf, sizeof(buf)); + g_string_append(gstr, buf); } } -static void -getStatusString( GString * gstr, - TorrentCellRenderer * r ) +static void getStatusString(GString * gstr, TorrentCellRenderer * r) { - struct TorrentCellRendererPrivate *priv = r->priv; - char buf[256]; - - if ( priv->error ) { - const char * fmt[] = { NULL, N_( "Tracker gave a warning: \"%s\"" ), - N_( "Tracker gave an error: \"%s\"" ), - N_( "Error: %s" ) }; - g_string_append_printf( gstr, _( fmt[priv->error] ), torrent_get_errorstr(priv->json) ); - } else if ((priv->flags & TORRENT_FLAG_PAUSED) - || (priv->flags & TORRENT_FLAG_WAITING_CHECK) - || (priv->flags & TORRENT_FLAG_CHECKING) - || (priv->flags & TORRENT_FLAG_DOWNLOADING_WAIT) - || (priv->flags & TORRENT_FLAG_SEEDING_WAIT)) { - getShortStatusString( gstr, r ); - } else if (priv->flags & TORRENT_FLAG_DOWNLOADING) { - if (priv->fileCount > 0) { - g_string_append_printf( gstr, - ngettext( "Downloading from %1$li of %2$li connected peer", - "Downloading from %1$li of %2$li connected peers", - priv->webSeedsToUs + priv->peersToUs ), - priv->webSeedsToUs + priv->peersToUs, - priv->webSeedsToUs + priv->connected ); - } else { - g_string_append_printf( gstr, - ngettext( "Downloading metadata from %1$li peer (%2$s done)", - "Downloading metadata from %1$li peers (%2$s done)", - priv->connected + priv->webSeedsToUs ), - priv->connected + priv->webSeedsToUs, tr_strlpercent( buf, priv->metadataPercentComplete, sizeof(buf) ) ); - } - } else if (priv->flags & TORRENT_FLAG_SEEDING) { - g_string_append_printf( gstr, - ngettext( "Seeding to %1$li of %2$li connected peer", - "Seeding to %1$li of %2$li connected peers", - priv->connected ), - priv->peersFromUs, - priv->connected ); - } - - if( ( priv->flags & ~TORRENT_FLAG_WAITING_CHECK ) && - ( priv->flags & ~TORRENT_FLAG_CHECKING ) && - ( priv->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT ) && - ( priv->flags & ~TORRENT_FLAG_SEEDING_WAIT ) && - ( priv->flags & ~TORRENT_FLAG_PAUSED ) ) - { - getShortTransferString( r, buf, sizeof( buf ) ); - if( *buf ) - g_string_append_printf( gstr, " - %s", buf ); + struct TorrentCellRendererPrivate *priv = r->priv; + char buf[256]; + + if (priv->error) { + const char *fmt[] = { NULL, N_("Tracker gave a warning: \"%s\""), + N_("Tracker gave an error: \"%s\""), + N_("Error: %s") + }; + g_string_append_printf(gstr, _(fmt[priv->error]), + torrent_get_errorstr(priv->json)); + } else if ((priv->flags & TORRENT_FLAG_PAUSED) + || (priv->flags & TORRENT_FLAG_WAITING_CHECK) + || (priv->flags & TORRENT_FLAG_CHECKING) + || (priv->flags & TORRENT_FLAG_DOWNLOADING_WAIT) + || (priv->flags & TORRENT_FLAG_SEEDING_WAIT)) { + getShortStatusString(gstr, r); + } else if (priv->flags & TORRENT_FLAG_DOWNLOADING) { + if (priv->fileCount > 0) { + g_string_append_printf(gstr, + ngettext + ("Downloading from %1$li of %2$li connected peer", + "Downloading from %1$li of %2$li connected peers", + priv->webSeedsToUs + priv->peersToUs), + priv->webSeedsToUs + priv->peersToUs, + priv->webSeedsToUs + priv->connected); + } else { + g_string_append_printf(gstr, + ngettext + ("Downloading metadata from %1$li peer (%2$s done)", + "Downloading metadata from %1$li peers (%2$s done)", + priv->connected + priv->webSeedsToUs), + priv->connected + priv->webSeedsToUs, + tr_strlpercent(buf, + priv-> + metadataPercentComplete, + sizeof(buf))); + } + } else if (priv->flags & TORRENT_FLAG_SEEDING) { + g_string_append_printf(gstr, + ngettext + ("Seeding to %1$li of %2$li connected peer", + "Seeding to %1$li of %2$li connected peers", + priv->connected), priv->peersFromUs, + priv->connected); + } + + if ((priv->flags & ~TORRENT_FLAG_WAITING_CHECK) && + (priv->flags & ~TORRENT_FLAG_CHECKING) && + (priv->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT) && + (priv->flags & ~TORRENT_FLAG_SEEDING_WAIT) && + (priv->flags & ~TORRENT_FLAG_PAUSED)) { + getShortTransferString(r, buf, sizeof(buf)); + if (*buf) + g_string_append_printf(gstr, " - %s", buf); } } @@ -361,26 +368,26 @@ getStatusString( GString * gstr, **** ***/ -static GdkPixbuf* -get_icon( TorrentCellRenderer *r, GtkIconSize icon_size, GtkWidget * for_widget ) +static GdkPixbuf *get_icon(TorrentCellRenderer * r, GtkIconSize icon_size, + GtkWidget * for_widget) { - struct TorrentCellRendererPrivate *p = r->priv; + struct TorrentCellRendererPrivate *p = r->priv; - const char * mime_type; + const char *mime_type; - if( p->fileCount == 0 ) + if (p->fileCount == 0) mime_type = UNKNOWN_MIME_TYPE; - else if( p->fileCount > 1 ) + else if (p->fileCount > 1) mime_type = DIRECTORY_MIME_TYPE; /*else if( strchr( info->files[0].name, '/' ) != NULL ) - mime_type = DIRECTORY_MIME_TYPE; - else - mime_type = gtr_get_mime_type_from_filename( info->files[0].name );*/ + mime_type = DIRECTORY_MIME_TYPE; + else + mime_type = gtr_get_mime_type_from_filename( info->files[0].name ); */ else - mime_type = FILE_MIME_TYPE; + mime_type = FILE_MIME_TYPE; //return NULL; - return gtr_get_mime_type_icon( mime_type, icon_size, for_widget ); + return gtr_get_mime_type_icon(mime_type, icon_size, for_widget); } /*** @@ -388,373 +395,396 @@ get_icon( TorrentCellRenderer *r, GtkIconSize icon_size, GtkWidget * for_widget ***/ static void -gtr_cell_renderer_get_preferred_size( GtkCellRenderer * renderer, - GtkWidget * widget, - GtkRequisition * minimum_size, - GtkRequisition * natural_size ) +gtr_cell_renderer_get_preferred_size(GtkCellRenderer * renderer, + GtkWidget * widget, + GtkRequisition * minimum_size, + GtkRequisition * natural_size) { #if GTK_CHECK_VERSION( 3, 0, 0 ) - gtk_cell_renderer_get_preferred_size( renderer, widget, minimum_size, natural_size ); + gtk_cell_renderer_get_preferred_size(renderer, widget, minimum_size, + natural_size); #else GtkRequisition r; - gtk_cell_renderer_get_size( renderer, widget, NULL, NULL, NULL, &r.width, &r.height ); - if( minimum_size ) *minimum_size = r; - if( natural_size ) *natural_size = r; + gtk_cell_renderer_get_size(renderer, widget, NULL, NULL, NULL, + &r.width, &r.height); + if (minimum_size) + *minimum_size = r; + if (natural_size) + *natural_size = r; #endif } static void -get_size_compact( TorrentCellRenderer * cell, - GtkWidget * widget, - gint * width, - gint * height ) +get_size_compact(TorrentCellRenderer * cell, + GtkWidget * widget, gint * width, gint * height) { int xpad, ypad; GtkRequisition icon_size; GtkRequisition name_size; GtkRequisition stat_size; - GdkPixbuf * icon; + GdkPixbuf *icon; - struct TorrentCellRendererPrivate * p = cell->priv; - GString * gstr_stat = p->gstr1; + struct TorrentCellRendererPrivate *p = cell->priv; + GString *gstr_stat = p->gstr1; - icon = get_icon( cell, COMPACT_ICON_SIZE, widget ); - g_string_truncate( gstr_stat, 0 ); - getShortStatusString( gstr_stat, cell ); - gtk_cell_renderer_get_padding( GTK_CELL_RENDERER( cell ), &xpad, &ypad ); + icon = get_icon(cell, COMPACT_ICON_SIZE, widget); + g_string_truncate(gstr_stat, 0); + getShortStatusString(gstr_stat, cell); + gtk_cell_renderer_get_padding(GTK_CELL_RENDERER(cell), &xpad, &ypad); /* get the idealized cell dimensions */ - g_object_set( p->icon_renderer, "pixbuf", icon, NULL ); - gtr_cell_renderer_get_preferred_size( p->icon_renderer, widget, NULL, &icon_size ); - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "ellipsize", PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &name_size ); - g_object_set( p->text_renderer, "text", gstr_stat->str, "scale", SMALL_SCALE, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &stat_size ); + g_object_set(p->icon_renderer, "pixbuf", icon, NULL); + gtr_cell_renderer_get_preferred_size(p->icon_renderer, widget, NULL, + &icon_size); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "ellipsize", PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &name_size); + g_object_set(p->text_renderer, "text", gstr_stat->str, "scale", + SMALL_SCALE, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &stat_size); /** *** LAYOUT **/ #define BAR_WIDTH 50 - if( width != NULL ) - *width = xpad * 2 + icon_size.width + GUI_PAD + name_size.width + GUI_PAD + BAR_WIDTH + GUI_PAD + stat_size.width; - if( height != NULL ) - *height = ypad * 2 + MAX( name_size.height, p->bar_height ); + if (width != NULL) + *width = + xpad * 2 + icon_size.width + GUI_PAD + name_size.width + + GUI_PAD + BAR_WIDTH + GUI_PAD + stat_size.width; + if (height != NULL) + *height = ypad * 2 + MAX(name_size.height, p->bar_height); /* cleanup */ - g_object_unref( icon ); + g_object_unref(icon); } #define MAX3(a,b,c) MAX(a,MAX(b,c)) static void -get_size_full( TorrentCellRenderer * cell, - GtkWidget * widget, - gint * width, - gint * height ) +get_size_full(TorrentCellRenderer * cell, + GtkWidget * widget, gint * width, gint * height) { int xpad, ypad; GtkRequisition icon_size; GtkRequisition name_size; GtkRequisition stat_size; GtkRequisition prog_size; - GdkPixbuf * icon; + GdkPixbuf *icon; - struct TorrentCellRendererPrivate * p = cell->priv; - GString * gstr_prog = p->gstr1; - GString * gstr_stat = p->gstr2; + struct TorrentCellRendererPrivate *p = cell->priv; + GString *gstr_prog = p->gstr1; + GString *gstr_stat = p->gstr2; - icon = get_icon( cell, FULL_ICON_SIZE, widget ); + icon = get_icon(cell, FULL_ICON_SIZE, widget); - g_string_truncate( gstr_stat, 0 ); - getStatusString( gstr_stat, cell ); - g_string_truncate( gstr_prog, 0 ); - getProgressString( gstr_prog, cell ); - gtk_cell_renderer_get_padding( GTK_CELL_RENDERER( cell ), &xpad, &ypad ); + g_string_truncate(gstr_stat, 0); + getStatusString(gstr_stat, cell); + g_string_truncate(gstr_prog, 0); + getProgressString(gstr_prog, cell); + gtk_cell_renderer_get_padding(GTK_CELL_RENDERER(cell), &xpad, &ypad); /* get the idealized cell dimensions */ - g_object_set( p->icon_renderer, "pixbuf", icon, NULL ); - gtr_cell_renderer_get_preferred_size( p->icon_renderer, widget, NULL, &icon_size ); - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "weight", PANGO_WEIGHT_BOLD, "scale", 1.0, "ellipsize", PANGO_ELLIPSIZE_NONE, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &name_size ); - g_object_set( p->text_renderer, "text", gstr_prog->str, "weight", PANGO_WEIGHT_NORMAL, "scale", SMALL_SCALE, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &prog_size ); - g_object_set( p->text_renderer, "text", gstr_stat->str, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &stat_size ); + g_object_set(p->icon_renderer, "pixbuf", icon, NULL); + gtr_cell_renderer_get_preferred_size(p->icon_renderer, widget, NULL, + &icon_size); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "weight", PANGO_WEIGHT_BOLD, "scale", 1.0, "ellipsize", + PANGO_ELLIPSIZE_NONE, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &name_size); + g_object_set(p->text_renderer, "text", gstr_prog->str, "weight", + PANGO_WEIGHT_NORMAL, "scale", SMALL_SCALE, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &prog_size); + g_object_set(p->text_renderer, "text", gstr_stat->str, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &stat_size); /** *** LAYOUT **/ - if( width != NULL ) - *width = xpad * 2 + icon_size.width + GUI_PAD + MAX3( name_size.width, prog_size.width, stat_size.width ); - if( height != NULL ) - *height = ypad * 2 + name_size.height + prog_size.height + GUI_PAD_SMALL + p->bar_height + GUI_PAD_SMALL + stat_size.height; + if (width != NULL) + *width = + xpad * 2 + icon_size.width + GUI_PAD + MAX3(name_size.width, + prog_size.width, + stat_size.width); + if (height != NULL) + *height = + ypad * 2 + name_size.height + prog_size.height + + GUI_PAD_SMALL + p->bar_height + GUI_PAD_SMALL + + stat_size.height; /* cleanup */ - g_object_unref( icon ); + g_object_unref(icon); } static void -torrent_cell_renderer_get_size( GtkCellRenderer * cell, - GtkWidget * widget, +torrent_cell_renderer_get_size(GtkCellRenderer * cell, GtkWidget * widget, #if GTK_CHECK_VERSION( 3,0,0 ) - const GdkRectangle * cell_area, + const GdkRectangle * cell_area, #else - GdkRectangle * cell_area, + GdkRectangle * cell_area, #endif - gint * x_offset, - gint * y_offset, - gint * width, - gint * height ) + gint * x_offset, + gint * y_offset, + gint * width, gint * height) { - TorrentCellRenderer * self = TORRENT_CELL_RENDERER( cell ); + TorrentCellRenderer *self = TORRENT_CELL_RENDERER(cell); - if( self ) - { + if (self) { int w, h; - struct TorrentCellRendererPrivate * p = self->priv; + struct TorrentCellRendererPrivate *p = self->priv; - if( p->compact ) - get_size_compact( TORRENT_CELL_RENDERER( cell ), widget, &w, &h ); + if (p->compact) + get_size_compact(TORRENT_CELL_RENDERER(cell), widget, &w, &h); else - get_size_full( TORRENT_CELL_RENDERER( cell ), widget, &w, &h ); + get_size_full(TORRENT_CELL_RENDERER(cell), widget, &w, &h); - if( width ) + if (width) *width = w; - if( height ) + if (height) *height = h; - if( x_offset ) + if (x_offset) *x_offset = cell_area ? cell_area->x : 0; - if( y_offset ) { + if (y_offset) { int xpad, ypad; - gtk_cell_renderer_get_padding( cell, &xpad, &ypad ); - *y_offset = cell_area ? (int)((cell_area->height - (ypad*2 +h)) / 2.0) : 0; + gtk_cell_renderer_get_padding(cell, &xpad, &ypad); + *y_offset = + cell_area ? (int) ((cell_area->height - (ypad * 2 + h)) / + 2.0) : 0; } } } static void -get_text_color( TorrentCellRenderer *r, GtkWidget *widget, GtrColor * setme ) +get_text_color(TorrentCellRenderer * r, GtkWidget * widget, + GtrColor * setme) { - struct TorrentCellRendererPrivate *p = r->priv; + struct TorrentCellRendererPrivate *p = r->priv; #if GTK_CHECK_VERSION( 3,0,0 ) static const GdkRGBA red = { 1.0, 0, 0, 0 }; - if( p->error ) + if (p->error) *setme = red; - else if( p->flags & TORRENT_FLAG_PAUSED ) - gtk_style_context_get_color( gtk_widget_get_style_context( widget ), GTK_STATE_FLAG_INSENSITIVE, setme ); + else if (p->flags & TORRENT_FLAG_PAUSED) + gtk_style_context_get_color(gtk_widget_get_style_context(widget), + GTK_STATE_FLAG_INSENSITIVE, setme); else - gtk_style_context_get_color( gtk_widget_get_style_context( widget ), GTK_STATE_FLAG_NORMAL, setme ); + gtk_style_context_get_color(gtk_widget_get_style_context(widget), + GTK_STATE_FLAG_NORMAL, setme); #else static const GdkColor red = { 0, 65535, 0, 0 }; - if( p->error ) + if (p->error) *setme = red; - else if( p->flags & TORRENT_FLAG_PAUSED ) + else if (p->flags & TORRENT_FLAG_PAUSED) *setme = gtk_widget_get_style(widget)->text[GTK_STATE_INSENSITIVE]; else *setme = gtk_widget_get_style(widget)->text[GTK_STATE_NORMAL]; #endif } -static double -get_percent_done( TorrentCellRenderer *r, gboolean * seed ) +static double get_percent_done(TorrentCellRenderer * r, gboolean * seed) { - struct TorrentCellRendererPrivate *priv = r->priv; + struct TorrentCellRendererPrivate *priv = r->priv; gdouble d; - if( ( priv->flags & TORRENT_FLAG_SEEDING ) && getSeedRatio( r, &d ) ) - { - *seed = TRUE; - const gint64 baseline = priv->downloaded ? priv->downloaded : priv->sizeWhenDone; + if ((priv->flags & TORRENT_FLAG_SEEDING) && getSeedRatio(r, &d)) { + *seed = TRUE; + const gint64 baseline = + priv->downloaded ? priv->downloaded : priv->sizeWhenDone; const gint64 goal = baseline * priv->seedRatioLimit; - const gint64 bytesLeft = goal > priv->uploadedEver ? goal - priv->uploadedEver : 0; - float seedRatioPercentDone = (gdouble)(goal - bytesLeft) / goal; + const gint64 bytesLeft = + goal > priv->uploadedEver ? goal - priv->uploadedEver : 0; + float seedRatioPercentDone = (gdouble) (goal - bytesLeft) / goal; - d = MAX( 0.0, seedRatioPercentDone*100.0 ); - } - else - { + d = MAX(0.0, seedRatioPercentDone * 100.0); + } else { *seed = FALSE; - d = MAX( 0.0, priv->done ); + d = MAX(0.0, priv->done); } return d; } static void -gtr_cell_renderer_render( GtkCellRenderer * renderer, - GtrDrawable * drawable, - GtkWidget * widget, - const GdkRectangle * area, - GtkCellRendererState flags) +gtr_cell_renderer_render(GtkCellRenderer * renderer, + GtrDrawable * drawable, + GtkWidget * widget, + const GdkRectangle * area, + GtkCellRendererState flags) { #if GTK_CHECK_VERSION( 3, 0, 0 ) - gtk_cell_renderer_render( renderer, drawable, widget, area, area, flags ); + gtk_cell_renderer_render(renderer, drawable, widget, area, area, + flags); #else - gtk_cell_renderer_render( renderer, drawable, widget, area, area, area, flags ); + gtk_cell_renderer_render(renderer, drawable, widget, area, area, area, + flags); #endif } static void -torrent_cell_renderer_render( GtkCellRenderer * cell, - GtrDrawable * window, - GtkWidget * widget, +torrent_cell_renderer_render(GtkCellRenderer * cell, + GtrDrawable * window, GtkWidget * widget, #if GTK_CHECK_VERSION( 3,0,0 ) - const GdkRectangle * background_area, - const GdkRectangle * cell_area, + const GdkRectangle * background_area, + const GdkRectangle * cell_area, #else - GdkRectangle * background_area, - GdkRectangle * cell_area, - GdkRectangle * expose_area, + GdkRectangle * background_area, + GdkRectangle * cell_area, + GdkRectangle * expose_area, #endif - GtkCellRendererState flags ) + GtkCellRendererState flags) { - TorrentCellRenderer * self = TORRENT_CELL_RENDERER( cell ); + TorrentCellRenderer *self = TORRENT_CELL_RENDERER(cell); - if( self ) - { - struct TorrentCellRendererPrivate * p = self->priv; - if( p->compact ) - render_compact( self, window, widget, background_area, cell_area, flags ); + if (self) { + struct TorrentCellRendererPrivate *p = self->priv; + if (p->compact) + render_compact(self, window, widget, background_area, + cell_area, flags); else - render_full( self, window, widget, background_area, cell_area, flags ); + render_full(self, window, widget, background_area, cell_area, + flags); } } static void torrent_cell_renderer_set_property(GObject * object, - guint property_id, const GValue * v, GParamSpec * pspec) { - TorrentCellRenderer * self = TORRENT_CELL_RENDERER( object ); - struct TorrentCellRendererPrivate * p = self->priv; - - switch (property_id) { - case P_JSON: - p->json = g_value_get_pointer(v); - break; - case P_STATUS: - p->flags = g_value_get_uint(v); - break; - case P_TOTALSIZE: - p->totalSize = g_value_get_int64(v); - break; - case P_SIZEWHENDONE: - p->sizeWhenDone = g_value_get_int64(v); - break; - case P_DOWNLOADED: - p->downloaded = g_value_get_int64(v); - break; - case P_HAVEVALID: - p->haveValid = g_value_get_int64(v); - break; - case P_HAVEUNCHECKED: - p->haveUnchecked = g_value_get_int64(v); - break; - case P_UPLOADED: - p->uploadedEver = g_value_get_int64(v); - break; - case P_UPSPEED: - p->upSpeed = g_value_get_int64(v); - break; - case P_DOWNSPEED: - p->downSpeed = g_value_get_int64(v); - break; - case P_PEERSGETTINGFROMUS: - p->peersFromUs = g_value_get_int64(v); - break; - case P_WEBSEEDSTOUS: - p->webSeedsToUs = g_value_get_int64(v); - break; - case P_CONNECTED: - p->connected = g_value_get_int64(v); - break; - case P_FILECOUNT: - p->fileCount = g_value_get_uint(v); - break; - case P_ETA: - p->eta = g_value_get_int64(v); - break; - case P_PEERSTOUS: - p->peersToUs = g_value_get_int64(v); - break; - case P_ERROR: - p->error = g_value_get_int64(v); - break; - case P_RATIO: - p->ratio = g_value_get_double(v); - break; - case P_PERCENTCOMPLETE: - p->done = g_value_get_double(v); - break; - case P_METADATAPERCENTCOMPLETE: - p->metadataPercentComplete = g_value_get_double(v); - break; - case P_BAR_HEIGHT: - p->bar_height = g_value_get_int(v); - break; - case P_COMPACT: - p->compact = g_value_get_boolean(v); - break; - case P_SEEDRATIOMODE: - p->seedRatioMode = g_value_get_int64(v); - break; - case P_SEEDRATIOLIMIT: - p->seedRatioLimit = g_value_get_double(v); - break; - case P_CLIENT: - p->client = g_value_get_pointer(v); - break; - case P_OWNER: - p->owner = g_value_get_pointer(v); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, pspec); - break; - } + guint property_id, + const GValue * v, + GParamSpec * pspec) +{ + TorrentCellRenderer *self = TORRENT_CELL_RENDERER(object); + struct TorrentCellRendererPrivate *p = self->priv; + + switch (property_id) { + case P_JSON: + p->json = g_value_get_pointer(v); + break; + case P_STATUS: + p->flags = g_value_get_uint(v); + break; + case P_TOTALSIZE: + p->totalSize = g_value_get_int64(v); + break; + case P_SIZEWHENDONE: + p->sizeWhenDone = g_value_get_int64(v); + break; + case P_DOWNLOADED: + p->downloaded = g_value_get_int64(v); + break; + case P_HAVEVALID: + p->haveValid = g_value_get_int64(v); + break; + case P_HAVEUNCHECKED: + p->haveUnchecked = g_value_get_int64(v); + break; + case P_UPLOADED: + p->uploadedEver = g_value_get_int64(v); + break; + case P_UPSPEED: + p->upSpeed = g_value_get_int64(v); + break; + case P_DOWNSPEED: + p->downSpeed = g_value_get_int64(v); + break; + case P_PEERSGETTINGFROMUS: + p->peersFromUs = g_value_get_int64(v); + break; + case P_WEBSEEDSTOUS: + p->webSeedsToUs = g_value_get_int64(v); + break; + case P_CONNECTED: + p->connected = g_value_get_int64(v); + break; + case P_FILECOUNT: + p->fileCount = g_value_get_uint(v); + break; + case P_ETA: + p->eta = g_value_get_int64(v); + break; + case P_PEERSTOUS: + p->peersToUs = g_value_get_int64(v); + break; + case P_ERROR: + p->error = g_value_get_int64(v); + break; + case P_RATIO: + p->ratio = g_value_get_double(v); + break; + case P_PERCENTCOMPLETE: + p->done = g_value_get_double(v); + break; + case P_METADATAPERCENTCOMPLETE: + p->metadataPercentComplete = g_value_get_double(v); + break; + case P_BAR_HEIGHT: + p->bar_height = g_value_get_int(v); + break; + case P_COMPACT: + p->compact = g_value_get_boolean(v); + break; + case P_SEEDRATIOMODE: + p->seedRatioMode = g_value_get_int64(v); + break; + case P_SEEDRATIOLIMIT: + p->seedRatioLimit = g_value_get_double(v); + break; + case P_CLIENT: + p->client = g_value_get_pointer(v); + break; + case P_OWNER: + p->owner = g_value_get_pointer(v); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); + break; + } } static void -torrent_cell_renderer_get_property( GObject * object, - guint property_id, - GValue * v, - GParamSpec * pspec ) +torrent_cell_renderer_get_property(GObject * object, + guint property_id, + GValue * v, GParamSpec * pspec) { - G_OBJECT_WARN_INVALID_PROPERTY_ID( object, property_id, pspec ); + G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec); } -G_DEFINE_TYPE (TorrentCellRenderer, torrent_cell_renderer, GTK_TYPE_CELL_RENDERER) +G_DEFINE_TYPE(TorrentCellRenderer, torrent_cell_renderer, + GTK_TYPE_CELL_RENDERER) -static void -torrent_cell_renderer_dispose( GObject * o ) +static void torrent_cell_renderer_dispose(GObject * o) { - TorrentCellRenderer * r = TORRENT_CELL_RENDERER( o ); - - if( r && r->priv ) - { - g_string_free( r->priv->gstr1, TRUE ); - g_string_free( r->priv->gstr2, TRUE ); - g_object_unref( G_OBJECT( r->priv->text_renderer ) ); - g_object_unref( G_OBJECT( r->priv->progress_renderer ) ); - g_object_unref( G_OBJECT( r->priv->icon_renderer ) ); + TorrentCellRenderer *r = TORRENT_CELL_RENDERER(o); + + if (r && r->priv) { + g_string_free(r->priv->gstr1, TRUE); + g_string_free(r->priv->gstr2, TRUE); + g_object_unref(G_OBJECT(r->priv->text_renderer)); + g_object_unref(G_OBJECT(r->priv->progress_renderer)); + g_object_unref(G_OBJECT(r->priv->icon_renderer)); r->priv = NULL; } - G_OBJECT_CLASS( torrent_cell_renderer_parent_class )->dispose( o ); + G_OBJECT_CLASS(torrent_cell_renderer_parent_class)->dispose(o); } static void -torrent_cell_renderer_class_init( TorrentCellRendererClass * klass ) +torrent_cell_renderer_class_init(TorrentCellRendererClass * klass) { - GObjectClass * gobject_class = G_OBJECT_CLASS( klass ); - GtkCellRendererClass * cell_class = GTK_CELL_RENDERER_CLASS( klass ); + GObjectClass *gobject_class = G_OBJECT_CLASS(klass); + GtkCellRendererClass *cell_class = GTK_CELL_RENDERER_CLASS(klass); - g_type_class_add_private( klass, - sizeof( struct TorrentCellRendererPrivate ) ); + g_type_class_add_private(klass, + sizeof(struct TorrentCellRendererPrivate)); cell_class->render = torrent_cell_renderer_render; cell_class->get_size = torrent_cell_renderer_get_size; @@ -762,200 +792,203 @@ torrent_cell_renderer_class_init( TorrentCellRendererClass * klass ) gobject_class->get_property = torrent_cell_renderer_get_property; gobject_class->dispose = torrent_cell_renderer_dispose; - g_object_class_install_property( gobject_class, P_JSON, - g_param_spec_pointer( "json", NULL, - "json", - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_CLIENT, - g_param_spec_pointer( "client", NULL, - "client", - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_OWNER, - g_param_spec_pointer( "owner", NULL, - "owner", - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_RATIO, - g_param_spec_double( "ratio", NULL, - "ratio", - 0, G_MAXDOUBLE, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_SEEDRATIOLIMIT, - g_param_spec_double( "seedRatioLimit", NULL, - "seedRatioLimit", - 0, G_MAXDOUBLE, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_SEEDRATIOMODE, - g_param_spec_int64( "seedRatioMode", NULL, - "seedRatioMode", - 0, 2, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_PERCENTCOMPLETE, - g_param_spec_double( "percentComplete", NULL, - "percentComplete", - 0, 100.00, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_METADATAPERCENTCOMPLETE, - g_param_spec_double( "metadataPercentComplete", NULL, - "metadataPercentComplete", - 0, 100.00, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_TOTALSIZE, - g_param_spec_int64( "totalSize", NULL, - "totalSize", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_SIZEWHENDONE, - g_param_spec_int64( "sizeWhenDone", NULL, - "sizeWhenDone", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_STATUS, - g_param_spec_uint( "status", NULL, - "status", - 0, G_MAXUINT, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_FILECOUNT, - g_param_spec_uint( "fileCount", NULL, - "fileCount", - 0, G_MAXUINT, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_ERROR, - g_param_spec_int64( "error", NULL, - "error", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_UPSPEED, - g_param_spec_int64( "upSpeed", NULL, - "upSpeed", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_DOWNSPEED, - g_param_spec_int64( "downSpeed", NULL, - "downSpeed", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_DOWNLOADED, - g_param_spec_int64( "downloaded", NULL, - "downloaded", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_HAVEVALID, - g_param_spec_int64( "haveValid", NULL, - "haveValid", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_HAVEUNCHECKED, - g_param_spec_int64( "haveUnchecked", NULL, - "haveUnchecked", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_UPLOADED, - g_param_spec_int64( "uploaded", NULL, - "uploaded", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_PEERSGETTINGFROMUS, - g_param_spec_int64( "peersGettingFromUs", NULL, - "peersGettingFromUs", - -1, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_PEERSTOUS, - g_param_spec_int64( "peersToUs", NULL, - "peersToUs", - -1, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_WEBSEEDSTOUS, - g_param_spec_int64( "webSeedsToUs", NULL, - "webSeedsToUs", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_ETA, - g_param_spec_int64( "eta", NULL, - "eta", - -2, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_CONNECTED, - g_param_spec_int64( "connected", NULL, - "connected", - 0, G_MAXINT64, 0, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_BAR_HEIGHT, - g_param_spec_int( "bar-height", NULL, - "Bar Height", - 1, INT_MAX, - DEFAULT_BAR_HEIGHT, - G_PARAM_READWRITE ) ); - - g_object_class_install_property( gobject_class, P_COMPACT, - g_param_spec_boolean( "compact", NULL, - "Compact Mode", - FALSE, - G_PARAM_READWRITE ) ); + g_object_class_install_property(gobject_class, P_JSON, + g_param_spec_pointer("json", NULL, + "json", + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_CLIENT, + g_param_spec_pointer("client", NULL, + "client", + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_OWNER, + g_param_spec_pointer("owner", NULL, + "owner", + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_RATIO, + g_param_spec_double("ratio", NULL, + "ratio", + 0, G_MAXDOUBLE, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_SEEDRATIOLIMIT, + g_param_spec_double("seedRatioLimit", + NULL, + "seedRatioLimit", + 0, G_MAXDOUBLE, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_SEEDRATIOMODE, + g_param_spec_int64("seedRatioMode", + NULL, + "seedRatioMode", 0, + 2, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_PERCENTCOMPLETE, + g_param_spec_double("percentComplete", + NULL, + "percentComplete", + 0, 100.00, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, + P_METADATAPERCENTCOMPLETE, + g_param_spec_double + ("metadataPercentComplete", NULL, + "metadataPercentComplete", 0, 100.00, + 0, G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_TOTALSIZE, + g_param_spec_int64("totalSize", NULL, + "totalSize", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_SIZEWHENDONE, + g_param_spec_int64("sizeWhenDone", + NULL, + "sizeWhenDone", 0, + G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_STATUS, + g_param_spec_uint("status", NULL, + "status", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_FILECOUNT, + g_param_spec_uint("fileCount", NULL, + "fileCount", + 0, G_MAXUINT, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_ERROR, + g_param_spec_int64("error", NULL, + "error", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_UPSPEED, + g_param_spec_int64("upSpeed", NULL, + "upSpeed", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_DOWNSPEED, + g_param_spec_int64("downSpeed", NULL, + "downSpeed", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_DOWNLOADED, + g_param_spec_int64("downloaded", NULL, + "downloaded", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_HAVEVALID, + g_param_spec_int64("haveValid", NULL, + "haveValid", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_HAVEUNCHECKED, + g_param_spec_int64("haveUnchecked", + NULL, + "haveUnchecked", 0, + G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_UPLOADED, + g_param_spec_int64("uploaded", NULL, + "uploaded", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_PEERSGETTINGFROMUS, + g_param_spec_int64 + ("peersGettingFromUs", NULL, + "peersGettingFromUs", -1, G_MAXINT64, + 0, G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_PEERSTOUS, + g_param_spec_int64("peersToUs", NULL, + "peersToUs", + -1, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_WEBSEEDSTOUS, + g_param_spec_int64("webSeedsToUs", + NULL, + "webSeedsToUs", 0, + G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_ETA, + g_param_spec_int64("eta", NULL, + "eta", + -2, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_CONNECTED, + g_param_spec_int64("connected", NULL, + "connected", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_BAR_HEIGHT, + g_param_spec_int("bar-height", NULL, + "Bar Height", + 1, INT_MAX, + DEFAULT_BAR_HEIGHT, + G_PARAM_READWRITE)); + + g_object_class_install_property(gobject_class, P_COMPACT, + g_param_spec_boolean("compact", NULL, + "Compact Mode", + FALSE, + G_PARAM_READWRITE)); } -static void -torrent_cell_renderer_init( TorrentCellRenderer * self ) +static void torrent_cell_renderer_init(TorrentCellRenderer * self) { - struct TorrentCellRendererPrivate * p; - - p = self->priv = G_TYPE_INSTANCE_GET_PRIVATE( - self, - TORRENT_CELL_RENDERER_TYPE, - struct - TorrentCellRendererPrivate ); - - p->gstr1 = g_string_new( NULL ); - p->gstr2 = g_string_new( NULL ); - p->text_renderer = gtk_cell_renderer_text_new( ); - g_object_set( p->text_renderer, "xpad", 0, "ypad", 0, NULL ); - p->progress_renderer = gtk_cell_renderer_progress_new( ); - p->icon_renderer = gtk_cell_renderer_pixbuf_new( ); - g_object_ref_sink( p->text_renderer ); - g_object_ref_sink( p->progress_renderer ); - g_object_ref_sink( p->icon_renderer ); + struct TorrentCellRendererPrivate *p; + + p = self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, + TORRENT_CELL_RENDERER_TYPE, + struct + TorrentCellRendererPrivate); + + p->gstr1 = g_string_new(NULL); + p->gstr2 = g_string_new(NULL); + p->text_renderer = gtk_cell_renderer_text_new(); + g_object_set(p->text_renderer, "xpad", 0, "ypad", 0, NULL); + p->progress_renderer = gtk_cell_renderer_progress_new(); + p->icon_renderer = gtk_cell_renderer_pixbuf_new(); + g_object_ref_sink(p->text_renderer); + g_object_ref_sink(p->progress_renderer); + g_object_ref_sink(p->icon_renderer); p->bar_height = DEFAULT_BAR_HEIGHT; } -GtkCellRenderer * -torrent_cell_renderer_new( void ) +GtkCellRenderer *torrent_cell_renderer_new(void) { - return (GtkCellRenderer *) g_object_new( TORRENT_CELL_RENDERER_TYPE, - NULL ); + return (GtkCellRenderer *) g_object_new(TORRENT_CELL_RENDERER_TYPE, + NULL); } static void -render_compact( TorrentCellRenderer * cell, - GtrDrawable * window, - GtkWidget * widget, - const GdkRectangle * background_area, - const GdkRectangle * cell_area, - GtkCellRendererState flags ) +render_compact(TorrentCellRenderer * cell, + GtrDrawable * window, + GtkWidget * widget, + const GdkRectangle * background_area, + const GdkRectangle * cell_area, GtkCellRendererState flags) { int xpad, ypad; GtkRequisition size; @@ -964,22 +997,24 @@ render_compact( TorrentCellRenderer * cell, GdkRectangle stat_area; GdkRectangle prog_area; GdkRectangle fill_area; - GdkPixbuf * icon; + GdkPixbuf *icon; GtrColor text_color; gboolean seed; - struct TorrentCellRendererPrivate * p = cell->priv; - const gboolean active = ( p->flags & ~TORRENT_FLAG_PAUSED ) && ( p->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT ) && ( p->flags & ~TORRENT_FLAG_SEEDING_WAIT ); - const double percentDone = get_percent_done( cell, &seed ); + struct TorrentCellRendererPrivate *p = cell->priv; + const gboolean active = (p->flags & ~TORRENT_FLAG_PAUSED) + && (p->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT) + && (p->flags & ~TORRENT_FLAG_SEEDING_WAIT); + const double percentDone = get_percent_done(cell, &seed); const gboolean sensitive = active || p->error; - GString * gstr_stat = p->gstr1; + GString *gstr_stat = p->gstr1; - icon = get_icon( cell, COMPACT_ICON_SIZE, widget ); + icon = get_icon(cell, COMPACT_ICON_SIZE, widget); - g_string_truncate( gstr_stat, 0 ); - getShortStatusString( gstr_stat, cell ); - gtk_cell_renderer_get_padding( GTK_CELL_RENDERER( cell ), &xpad, &ypad ); - get_text_color( cell, widget, &text_color ); + g_string_truncate(gstr_stat, 0); + getShortStatusString(gstr_stat, cell); + gtk_cell_renderer_get_padding(GTK_CELL_RENDERER(cell), &xpad, &ypad); + get_text_color(cell, widget, &text_color); fill_area = *background_area; fill_area.x += xpad; @@ -988,14 +1023,19 @@ render_compact( TorrentCellRenderer * cell, fill_area.height -= ypad * 2; icon_area = name_area = stat_area = prog_area = fill_area; - g_object_set( p->icon_renderer, "pixbuf", icon, NULL ); - gtr_cell_renderer_get_preferred_size( p->icon_renderer, widget, NULL, &size ); + g_object_set(p->icon_renderer, "pixbuf", icon, NULL); + gtr_cell_renderer_get_preferred_size(p->icon_renderer, widget, NULL, + &size); icon_area.width = size.width; - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "ellipsize", PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &size ); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "ellipsize", PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &size); name_area.width = size.width; - g_object_set( p->text_renderer, "text", gstr_stat->str, "scale", SMALL_SCALE, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &size ); + g_object_set(p->text_renderer, "text", gstr_stat->str, "scale", + SMALL_SCALE, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &size); stat_area.width = size.width; icon_area.x = fill_area.x; @@ -1010,26 +1050,34 @@ render_compact( TorrentCellRenderer * cell, *** RENDER **/ - g_object_set( p->icon_renderer, "pixbuf", icon, "sensitive", sensitive, NULL ); - gtr_cell_renderer_render( p->icon_renderer, window, widget, &icon_area, flags ); - g_object_set( p->progress_renderer, "value", (gint)percentDone, "text", NULL, "sensitive", sensitive, NULL ); - gtr_cell_renderer_render( p->progress_renderer, window, widget, &prog_area, flags ); - g_object_set( p->text_renderer, "text", gstr_stat->str, "scale", SMALL_SCALE, "ellipsize", PANGO_ELLIPSIZE_END, FOREGROUND_COLOR_KEY, &text_color, NULL ); - gtr_cell_renderer_render( p->text_renderer, window, widget, &stat_area, flags ); - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "scale", 1.0, FOREGROUND_COLOR_KEY, &text_color, NULL ); - gtr_cell_renderer_render( p->text_renderer, window, widget, &name_area, flags ); + g_object_set(p->icon_renderer, "pixbuf", icon, "sensitive", sensitive, + NULL); + gtr_cell_renderer_render(p->icon_renderer, window, widget, &icon_area, + flags); + g_object_set(p->progress_renderer, "value", (gint) percentDone, "text", + NULL, "sensitive", sensitive, NULL); + gtr_cell_renderer_render(p->progress_renderer, window, widget, + &prog_area, flags); + g_object_set(p->text_renderer, "text", gstr_stat->str, "scale", + SMALL_SCALE, "ellipsize", PANGO_ELLIPSIZE_END, + FOREGROUND_COLOR_KEY, &text_color, NULL); + gtr_cell_renderer_render(p->text_renderer, window, widget, &stat_area, + flags); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "scale", 1.0, FOREGROUND_COLOR_KEY, &text_color, NULL); + gtr_cell_renderer_render(p->text_renderer, window, widget, &name_area, + flags); /* cleanup */ - g_object_unref( icon ); + g_object_unref(icon); } static void -render_full( TorrentCellRenderer * cell, - GtrDrawable * window, - GtkWidget * widget, - const GdkRectangle * background_area, - const GdkRectangle * cell_area, - GtkCellRendererState flags ) +render_full(TorrentCellRenderer * cell, + GtrDrawable * window, + GtkWidget * widget, + const GdkRectangle * background_area, + const GdkRectangle * cell_area, GtkCellRendererState flags) { int xpad, ypad; GtkRequisition size; @@ -1039,40 +1087,49 @@ render_full( TorrentCellRenderer * cell, GdkRectangle stat_area; GdkRectangle prog_area; GdkRectangle prct_area; - GdkPixbuf * icon; + GdkPixbuf *icon; GtrColor text_color; gboolean seed; - struct TorrentCellRendererPrivate * p = cell->priv; - const gboolean active = ( p->flags & ~TORRENT_FLAG_PAUSED ) && ( p->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT ) && ( p->flags & ~TORRENT_FLAG_SEEDING_WAIT ); + struct TorrentCellRendererPrivate *p = cell->priv; + const gboolean active = (p->flags & ~TORRENT_FLAG_PAUSED) + && (p->flags & ~TORRENT_FLAG_DOWNLOADING_WAIT) + && (p->flags & ~TORRENT_FLAG_SEEDING_WAIT); const gboolean sensitive = active || p->error; - const double percentDone = get_percent_done( cell, &seed ); - GString * gstr_prog = p->gstr1; - GString * gstr_stat = p->gstr2; - - icon = get_icon( cell, FULL_ICON_SIZE, widget ); - g_string_truncate( gstr_prog, 0 ); - getProgressString( gstr_prog, cell ); - g_string_truncate( gstr_stat, 0 ); - getStatusString( gstr_stat, cell ); - gtk_cell_renderer_get_padding( GTK_CELL_RENDERER( cell ), &xpad, &ypad ); - get_text_color( cell, widget, &text_color ); + const double percentDone = get_percent_done(cell, &seed); + GString *gstr_prog = p->gstr1; + GString *gstr_stat = p->gstr2; + + icon = get_icon(cell, FULL_ICON_SIZE, widget); + g_string_truncate(gstr_prog, 0); + getProgressString(gstr_prog, cell); + g_string_truncate(gstr_stat, 0); + getStatusString(gstr_stat, cell); + gtk_cell_renderer_get_padding(GTK_CELL_RENDERER(cell), &xpad, &ypad); + get_text_color(cell, widget, &text_color); /* get the idealized cell dimensions */ - g_object_set( p->icon_renderer, "pixbuf", icon, NULL ); - gtr_cell_renderer_get_preferred_size( p->icon_renderer, widget, NULL, &size ); + g_object_set(p->icon_renderer, "pixbuf", icon, NULL); + gtr_cell_renderer_get_preferred_size(p->icon_renderer, widget, NULL, + &size); icon_area.width = size.width; icon_area.height = size.height; - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "weight", PANGO_WEIGHT_BOLD, "ellipsize", PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &size ); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "weight", PANGO_WEIGHT_BOLD, "ellipsize", + PANGO_ELLIPSIZE_NONE, "scale", 1.0, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &size); name_area.width = size.width; name_area.height = size.height; - g_object_set( p->text_renderer, "text", gstr_prog->str, "weight", PANGO_WEIGHT_NORMAL, "scale", SMALL_SCALE, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &size ); + g_object_set(p->text_renderer, "text", gstr_prog->str, "weight", + PANGO_WEIGHT_NORMAL, "scale", SMALL_SCALE, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &size); prog_area.width = size.width; prog_area.height = size.height; - g_object_set( p->text_renderer, "text", gstr_stat->str, NULL ); - gtr_cell_renderer_get_preferred_size( p->text_renderer, widget, NULL, &size ); + g_object_set(p->text_renderer, "text", gstr_stat->str, NULL); + gtr_cell_renderer_get_preferred_size(p->text_renderer, widget, NULL, + &size); stat_area.width = size.width; stat_area.height = size.height; @@ -1088,12 +1145,13 @@ render_full( TorrentCellRenderer * cell, /* icon */ icon_area.x = fill_area.x; - icon_area.y = fill_area.y + ( fill_area.height - icon_area.height ) / 2; + icon_area.y = fill_area.y + (fill_area.height - icon_area.height) / 2; /* name */ name_area.x = icon_area.x + icon_area.width + GUI_PAD; name_area.y = fill_area.y; - name_area.width = fill_area.width - GUI_PAD - icon_area.width - GUI_PAD_SMALL; + name_area.width = + fill_area.width - GUI_PAD - icon_area.width - GUI_PAD_SMALL; /* prog */ prog_area.x = name_area.x; @@ -1115,22 +1173,34 @@ render_full( TorrentCellRenderer * cell, *** RENDER **/ - g_object_set( p->icon_renderer, "pixbuf", icon, "sensitive", sensitive, NULL ); - gtr_cell_renderer_render( p->icon_renderer, window, widget, &icon_area, flags ); - g_object_set( p->text_renderer, "text", torrent_get_name(p->json), "scale", 1.0, FOREGROUND_COLOR_KEY, &text_color, "ellipsize", PANGO_ELLIPSIZE_END, "weight", PANGO_WEIGHT_BOLD, NULL ); - gtr_cell_renderer_render( p->text_renderer, window, widget, &name_area, flags ); - g_object_set( p->text_renderer, "text", gstr_prog->str, "scale", SMALL_SCALE, "weight", PANGO_WEIGHT_NORMAL, NULL ); - gtr_cell_renderer_render( p->text_renderer, window, widget, &prog_area, flags ); - g_object_set( p->progress_renderer, "value", (gint)percentDone, /*"text", "",*/ "sensitive", sensitive, NULL ); - gtr_cell_renderer_render( p->progress_renderer, window, widget, &prct_area, flags ); - g_object_set( p->text_renderer, "text", gstr_stat->str, FOREGROUND_COLOR_KEY, &text_color, NULL ); - gtr_cell_renderer_render( p->text_renderer, window, widget, &stat_area, flags ); + g_object_set(p->icon_renderer, "pixbuf", icon, "sensitive", sensitive, + NULL); + gtr_cell_renderer_render(p->icon_renderer, window, widget, &icon_area, + flags); + g_object_set(p->text_renderer, "text", torrent_get_name(p->json), + "scale", 1.0, FOREGROUND_COLOR_KEY, &text_color, + "ellipsize", PANGO_ELLIPSIZE_END, "weight", + PANGO_WEIGHT_BOLD, NULL); + gtr_cell_renderer_render(p->text_renderer, window, widget, &name_area, + flags); + g_object_set(p->text_renderer, "text", gstr_prog->str, "scale", + SMALL_SCALE, "weight", PANGO_WEIGHT_NORMAL, NULL); + gtr_cell_renderer_render(p->text_renderer, window, widget, &prog_area, + flags); + g_object_set(p->progress_renderer, "value", (gint) percentDone, + /*"text", "", */ "sensitive", sensitive, NULL); + gtr_cell_renderer_render(p->progress_renderer, window, widget, + &prct_area, flags); + g_object_set(p->text_renderer, "text", gstr_stat->str, + FOREGROUND_COLOR_KEY, &text_color, NULL); + gtr_cell_renderer_render(p->text_renderer, window, widget, &stat_area, + flags); /* cleanup */ - g_object_unref( icon ); + g_object_unref(icon); } -GtkTreeView *torrent_cell_renderer_get_owner(TorrentCellRenderer *r) +GtkTreeView *torrent_cell_renderer_get_owner(TorrentCellRenderer * r) { - return r->priv->owner; + return r->priv->owner; } diff --git a/src/torrent.c b/src/torrent.c index e8f8ec9..18bc5da 100644 --- a/src/torrent.c +++ b/src/torrent.c @@ -139,9 +139,9 @@ gboolean torrent_get_download_limited(JsonObject * t) return json_object_get_boolean_member(t, FIELD_DOWNLOAD_LIMITED); } -gint64 torrent_get_total_size(JsonObject *t) +gint64 torrent_get_total_size(JsonObject * t) { - return json_object_get_int_member(t, FIELD_TOTAL_SIZE); + return json_object_get_int_member(t, FIELD_TOTAL_SIZE); } gint64 torrent_get_size_when_done(JsonObject * t) @@ -308,9 +308,9 @@ gchar *torrent_get_status_icon(gint64 rpcv, guint flags) else if (flags & TORRENT_FLAG_CHECKING) return g_strdup(GTK_STOCK_REFRESH); else if (flags & TORRENT_FLAG_DOWNLOADING_WAIT) - return g_strdup(GTK_STOCK_MEDIA_REWIND); + return g_strdup(GTK_STOCK_MEDIA_REWIND); else if (flags & TORRENT_FLAG_SEEDING_WAIT) - return g_strdup(GTK_STOCK_MEDIA_FORWARD); + return g_strdup(GTK_STOCK_MEDIA_FORWARD); else return g_strdup(GTK_STOCK_DIALOG_QUESTION); } @@ -325,12 +325,12 @@ const gchar *torrent_get_errorstr(JsonObject * t) return json_object_get_string_member(t, FIELD_ERROR_STRING); } -gint64 torrent_get_error(JsonObject *t) +gint64 torrent_get_error(JsonObject * t) { - if (!json_object_has_member(t, FIELD_ERROR)) - return 0; - else - return json_object_get_int_member(t, FIELD_ERROR); + if (!json_object_has_member(t, FIELD_ERROR)) + return 0; + else + return json_object_get_int_member(t, FIELD_ERROR); } gchar *torrent_get_status_string(gint64 rpcv, gint64 value, guint flags) @@ -451,8 +451,9 @@ gint64 torrent_get_peers_getting_from_us(JsonObject * args) return json_object_get_int_member(args, FIELD_PEERS_GETTING_FROM_US); } -gint64 torrent_get_web_seeds_sending_to_us(JsonObject *args) { - return json_object_get_int_member(args, FIELD_WEB_SEEDS_SENDING_TO_US); +gint64 torrent_get_web_seeds_sending_to_us(JsonObject * args) +{ + return json_object_get_int_member(args, FIELD_WEB_SEEDS_SENDING_TO_US); } gint64 torrent_get_queue_position(JsonObject * args) diff --git a/src/trg-about-window.c b/src/trg-about-window.c index 039474d..b2eac86 100644 --- a/src/trg-about-window.c +++ b/src/trg-about-window.c @@ -82,15 +82,15 @@ GtkWidget *trg_about_window_new(GtkWindow * parent) /*gtk_about_dialog_set_documenters(GTK_ABOUT_DIALOG(dialog), documenters); */ gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(dialog), "translations kindly contributed by\n\n" - "* Pierre Rudloff (French)\n" + "* Pierre Rudloff (French)\n" "* Julian Held (German)\n" - "* Algimantas Margevičius (Lithuanian)\n" + "* Algimantas Margevičius (Lithuanian)\n" "* Youn sok Choi (Korean)\n" "* Piotr (Polish)\n" "* Y3AVD (Russian)\n" "* aspidzent (Spanish)\n" "* Åke Svensson (Swedish)\n" - "* ROR191 (Ukranian)\n"); + "* ROR191 (Ukranian)\n"); g_free(licenseFile); g_free(licenseText); diff --git a/src/trg-cell-renderer-counter.c b/src/trg-cell-renderer-counter.c index 900753c..1308039 100644 --- a/src/trg-cell-renderer-counter.c +++ b/src/trg-cell-renderer-counter.c @@ -103,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-file-icon.c b/src/trg-cell-renderer-file-icon.c index ec17673..0ef272b 100644 --- a/src/trg-cell-renderer-file-icon.c +++ b/src/trg-cell-renderer-file-icon.c @@ -126,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 diff --git a/src/trg-cell-renderer-speed.c b/src/trg-cell-renderer-speed.c index cd2d9c7..38dd3cb 100644 --- a/src/trg-cell-renderer-speed.c +++ b/src/trg-cell-renderer-speed.c @@ -28,7 +28,7 @@ enum { }; G_DEFINE_TYPE(TrgCellRendererSpeed, trg_cell_renderer_speed, - GTK_TYPE_CELL_RENDERER_TEXT) + GTK_TYPE_CELL_RENDERER_TEXT) #define TRG_CELL_RENDERER_SPEED_GET_PRIVATE(o) \ (G_TYPE_INSTANCE_GET_PRIVATE ((o), TRG_TYPE_CELL_RENDERER_SPEED, TrgCellRendererSpeedPrivate)) typedef struct _TrgCellRendererSpeedPrivate TrgCellRendererSpeedPrivate; @@ -38,9 +38,12 @@ struct _TrgCellRendererSpeedPrivate { }; static void trg_cell_renderer_speed_get_property(GObject * object, - guint property_id, GValue * value, GParamSpec * pspec) { + guint property_id, + GValue * value, + GParamSpec * pspec) +{ TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); switch (property_id) { case PROP_SPEED_VALUE: g_value_set_int64(value, priv->speed_value); @@ -52,9 +55,12 @@ static void trg_cell_renderer_speed_get_property(GObject * object, } static void trg_cell_renderer_speed_set_property(GObject * object, - guint property_id, const GValue * value, GParamSpec * pspec) { + guint property_id, + const GValue * value, + GParamSpec * pspec) +{ TrgCellRendererSpeedPrivate *priv = - TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); + TRG_CELL_RENDERER_SPEED_GET_PRIVATE(object); if (property_id == PROP_SPEED_VALUE) { gint64 new_value = g_value_get_int64(value); if (new_value != priv->speed_value) { @@ -72,34 +78,39 @@ static void trg_cell_renderer_speed_set_property(GObject * object, } } -static void trg_cell_renderer_speed_class_init( - TrgCellRendererSpeedClass * klass) { +static void trg_cell_renderer_speed_class_init(TrgCellRendererSpeedClass * + klass) +{ GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->get_property = trg_cell_renderer_speed_get_property; object_class->set_property = trg_cell_renderer_speed_set_property; - g_object_class_install_property( - object_class, - PROP_SPEED_VALUE, - g_param_spec_int64( - "speed-value", - "Speed Value", - "Speed Value", - 0, - G_MAXINT64, - 0, - G_PARAM_READWRITE | G_PARAM_STATIC_NAME - | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); + g_object_class_install_property(object_class, + PROP_SPEED_VALUE, + g_param_spec_int64("speed-value", + "Speed Value", + "Speed Value", + 0, + G_MAXINT64, + 0, + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME + | + G_PARAM_STATIC_NICK + | + G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(TrgCellRendererSpeedPrivate)); } -static void trg_cell_renderer_speed_init(TrgCellRendererSpeed * self) { +static void trg_cell_renderer_speed_init(TrgCellRendererSpeed * self) +{ g_object_set(self, "xalign", 1.0f, NULL); } -GtkCellRenderer *trg_cell_renderer_speed_new(void) { +GtkCellRenderer *trg_cell_renderer_speed_new(void) +{ return GTK_CELL_RENDERER(g_object_new - (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); + (TRG_TYPE_CELL_RENDERER_SPEED, NULL)); } diff --git a/src/trg-client.c b/src/trg-client.c index 0f03abd..9f01f1f 100644 --- a/src/trg-client.c +++ b/src/trg-client.c @@ -280,7 +280,7 @@ int trg_client_populate_with_settings(TrgClient * tc) for (i = 0; proxies[i]; i++) { if (g_str_has_prefix(proxies[i], HTTP_URI_PREFIX) - || g_str_has_prefix(proxies[i], HTTPS_URI_PREFIX)) { + || g_str_has_prefix(proxies[i], HTTPS_URI_PREFIX)) { g_free(priv->proxy); priv->proxy = proxies[i]; } else { @@ -698,18 +698,18 @@ dispatch_async_str(TrgClient * tc, gchar * req, return dispatch_async_common(tc, trg_req, callback, data); } -gboolean trg_client_update_session(TrgClient *tc, GSourceFunc callback, gpointer data) +gboolean trg_client_update_session(TrgClient * tc, GSourceFunc callback, + gpointer data) { - return dispatch_async(tc, session_get(), callback, - data); + return dispatch_async(tc, session_get(), callback, data); } -gdouble trg_client_get_seed_ratio_limit(TrgClient *tc) +gdouble trg_client_get_seed_ratio_limit(TrgClient * tc) { - return tc->priv->seedRatioLimit; + return tc->priv->seedRatioLimit; } -gboolean trg_client_get_seed_ratio_limited(TrgClient *tc) +gboolean trg_client_get_seed_ratio_limited(TrgClient * tc) { - return tc->priv->seedRatioLimited; + return tc->priv->seedRatioLimited; } diff --git a/src/trg-files-model.c b/src/trg-files-model.c index f3faad3..f082bd8 100644 --- a/src/trg-files-model.c +++ b/src/trg-files-model.c @@ -298,9 +298,9 @@ static void trg_files_model_init(TrgFilesModel * self) } struct MinorUpdateData { - GList *filesList; - JsonArray *priorities; - JsonArray *wanted; + GList *filesList; + JsonArray *priorities; + JsonArray *wanted; }; gboolean @@ -308,7 +308,7 @@ trg_files_model_update_foreach(GtkListStore * model, GtkTreePath * path G_GNUC_UNUSED, GtkTreeIter * iter, gpointer data) { - struct MinorUpdateData *mud = (struct MinorUpdateData*)data; + struct MinorUpdateData *mud = (struct MinorUpdateData *) data; JsonObject *file; gint id; @@ -430,10 +430,10 @@ trg_files_model_update(TrgFilesModel * model, GtkTreeView * tv, trg_files_model_applytree_idlefunc(futd); } } else { - struct MinorUpdateData mud; - mud.priorities = priorities; - mud.wanted = wanted; - mud.filesList = filesList; + struct MinorUpdateData mud; + mud.priorities = priorities; + mud.wanted = wanted; + mud.filesList = filesList; gtk_tree_model_foreach(GTK_TREE_MODEL(model), (GtkTreeModelForeachFunc) trg_files_model_update_foreach, &mud); diff --git a/src/trg-general-panel.c b/src/trg-general-panel.c index 6fbb7e7..aa7c29c 100644 --- a/src/trg-general-panel.c +++ b/src/trg-general-panel.c @@ -113,7 +113,8 @@ trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, TrgGeneralPanelPrivate *priv; gchar buf[32]; gint sizeOfBuf; - gchar *statusString, *fullStatusString, *completedAtString, *comment, *markup; + gchar *statusString, *fullStatusString, *completedAtString, *comment, + *markup; const gchar *errorStr; gint64 eta, uploaded, haveValid, completedAt; GtkLabel *keyLabel; @@ -153,10 +154,10 @@ trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, } completedAt = torrent_get_done_date(t); - if (completedAt > 0) - { + if (completedAt > 0) { completedAtString = epoch_to_string(completedAt); - gtk_label_set_text(GTK_LABEL(priv->gen_completedat_label), completedAtString); + gtk_label_set_text(GTK_LABEL(priv->gen_completedat_label), + completedAtString); g_free(completedAtString); } else { gtk_label_set_text(GTK_LABEL(priv->gen_completedat_label), ""); @@ -213,9 +214,11 @@ trg_general_panel_update(TrgGeneralPanel * panel, JsonObject * t, gtk_label_set_text(GTK_LABEL(priv->gen_eta_label), _("N/A")); } - snprintf(buf, sizeof(buf), "%"G_GINT64_FORMAT, seeders >= 0 ? seeders : 0); + snprintf(buf, sizeof(buf), "%" G_GINT64_FORMAT, + seeders >= 0 ? seeders : 0); gtk_label_set_text(GTK_LABEL(priv->gen_seeders_label), buf); - snprintf(buf, sizeof(buf), "%"G_GINT64_FORMAT, leechers >= 0 ? leechers : 0); + snprintf(buf, sizeof(buf), "%" G_GINT64_FORMAT, + leechers >= 0 ? leechers : 0); gtk_label_set_text(GTK_LABEL(priv->gen_leechers_label), buf); } @@ -306,8 +309,8 @@ static void trg_general_panel_init(TrgGeneralPanel * self) trg_general_panel_add_label(self, _("Comment"), 2, 4); priv->gen_completedat_label = - trg_general_panel_add_label_with_width(self, _("Completed At"), 0, 5, - -1); + trg_general_panel_add_label_with_width(self, _("Completed At"), 0, + 5, -1); priv->gen_downloaddir_label = trg_general_panel_add_label_with_width(self, _("Location"), 1, 5, diff --git a/src/trg-gtk-app.c b/src/trg-gtk-app.c index e0ddcf2..46ae43d 100644 --- a/src/trg-gtk-app.c +++ b/src/trg-gtk-app.c @@ -103,7 +103,7 @@ trg_gtk_app_command_line(GApplication * application, gchar **argv; if (!windows || !windows->data) - return 1; + return 1; window = TRG_MAIN_WINDOW(windows->data); argv = g_application_command_line_get_arguments(cmdline, NULL); diff --git a/src/trg-main-window.c b/src/trg-main-window.c index d8c7961..6dbbb4d 100644 --- a/src/trg-main-window.c +++ b/src/trg-main-window.c @@ -199,7 +199,8 @@ static gboolean torrent_tv_button_pressed_cb(GtkWidget * treeview, gpointer userdata); static gboolean torrent_tv_popup_menu_cb(GtkWidget * treeview, gpointer userdata); -static void trg_main_window_set_hidden_to_tray(TrgMainWindow *win, gboolean hidden); +static void trg_main_window_set_hidden_to_tray(TrgMainWindow * win, + gboolean hidden); static gboolean is_ready_for_torrent_action(TrgMainWindow * win); static gboolean window_state_event(TrgMainWindow * win, GdkEventWindowState * event, @@ -401,14 +402,23 @@ destroy_window(TrgMainWindow * win, gpointer data G_GNUC_UNUSED) gtk_paned_get_position(GTK_PANED(priv->hpaned)), TRG_PREFS_GLOBAL); - trg_tree_view_persist(TRG_TREE_VIEW(priv->peersTreeView), TRG_TREE_VIEW_PERSIST_SORT | TRG_TREE_VIEW_PERSIST_LAYOUT); - trg_tree_view_persist(TRG_TREE_VIEW(priv->filesTreeView), TRG_TREE_VIEW_PERSIST_SORT | TRG_TREE_VIEW_PERSIST_LAYOUT); - trg_tree_view_persist(TRG_TREE_VIEW(priv->torrentTreeView), - TRG_TREE_VIEW_PERSIST_SORT | TRG_TREE_VIEW_SORTABLE_PARENT - | (trg_prefs_get_int(prefs, TRG_PREFS_KEY_STYLE, - TRG_PREFS_GLOBAL) == TRG_STYLE_CLASSIC ? - TRG_TREE_VIEW_PERSIST_LAYOUT : 0)); - trg_tree_view_persist(TRG_TREE_VIEW(priv->trackersTreeView), TRG_TREE_VIEW_PERSIST_SORT | TRG_TREE_VIEW_PERSIST_LAYOUT); + trg_tree_view_persist(TRG_TREE_VIEW(priv->peersTreeView), + TRG_TREE_VIEW_PERSIST_SORT | + TRG_TREE_VIEW_PERSIST_LAYOUT); + trg_tree_view_persist(TRG_TREE_VIEW(priv->filesTreeView), + TRG_TREE_VIEW_PERSIST_SORT | + TRG_TREE_VIEW_PERSIST_LAYOUT); + trg_tree_view_persist(TRG_TREE_VIEW(priv->torrentTreeView), + TRG_TREE_VIEW_PERSIST_SORT | + TRG_TREE_VIEW_SORTABLE_PARENT | + (trg_prefs_get_int + (prefs, TRG_PREFS_KEY_STYLE, + TRG_PREFS_GLOBAL) == + TRG_STYLE_CLASSIC ? TRG_TREE_VIEW_PERSIST_LAYOUT + : 0)); + trg_tree_view_persist(TRG_TREE_VIEW(priv->trackersTreeView), + TRG_TREE_VIEW_PERSIST_SORT | + TRG_TREE_VIEW_PERSIST_LAYOUT); trg_prefs_save(prefs); gtk_main_quit(); @@ -444,8 +454,7 @@ static void add_url_cb(GtkWidget * w G_GNUC_UNUSED, gpointer data) TrgMainWindowPrivate *priv = win->priv; TrgTorrentAddUrlDialog *dlg = trg_torrent_add_url_dialog_new(win, - priv-> - client); + priv->client); gtk_widget_show_all(GTK_WIDGET(dlg)); } @@ -768,7 +777,8 @@ static gint confirm_action_dialog(GtkWindow * gtk_win, GtkTreeSelection * selection, const gchar * question_single, - const gchar * question_multi, const gchar * action_stock) + const gchar * question_multi, + const gchar * action_stock) { TrgMainWindow *win = TRG_MAIN_WINDOW(gtk_win); TrgMainWindowPrivate *priv = win->priv; @@ -886,7 +896,7 @@ static void delete_cb(GtkWidget * w G_GNUC_UNUSED, TrgMainWindow * win) ("Remove and delete %d torrents?"), GTK_STOCK_DELETE) == GTK_RESPONSE_ACCEPT) dispatch_async(priv->client, torrent_remove(ids, TRUE), - on_delete_complete, win); + on_delete_complete, win); else json_array_unref(ids); } @@ -1010,7 +1020,8 @@ gboolean on_session_set(gpointer data) if (response->status == CURLE_OK || response->status == FAIL_RESPONSE_UNSUCCESSFUL) - trg_client_update_session(priv->client, on_session_get, response->cb_data); + trg_client_update_session(priv->client, on_session_get, + response->cb_data); trg_dialog_error_handler(TRG_MAIN_WINDOW(response->cb_data), response); trg_response_free(response); @@ -1035,9 +1046,10 @@ static gboolean on_session_get_timer(gpointer data) on_session_get(data); priv->sessionTimerId = g_timeout_add_seconds(trg_prefs_get_int(prefs, - TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, TRG_PREFS_CONNECTION), - trg_session_update_timerfunc, - win); + TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, + TRG_PREFS_CONNECTION), + trg_session_update_timerfunc, + win); return FALSE; } @@ -1135,7 +1147,8 @@ connchange_whatever_statusicon(TrgMainWindow * win, gboolean connected) TrgPrefs *prefs = trg_client_get_prefs(priv->client); gchar *display = connected ? trg_prefs_get_string(prefs, TRG_PREFS_KEY_PROFILE_NAME, - TRG_PREFS_CONNECTION) : g_strdup(_("Disconnected")); + TRG_PREFS_CONNECTION) : + g_strdup(_("Disconnected")); #ifdef HAVE_LIBAPPINDICATOR if (priv->appIndicator) { @@ -1145,13 +1158,13 @@ connchange_whatever_statusicon(TrgMainWindow * win, gboolean connected) #else if (1) { #endif - if (priv->iconMenu) - gtk_widget_destroy(GTK_WIDGET(priv->iconMenu)); + if (priv->iconMenu) + gtk_widget_destroy(GTK_WIDGET(priv->iconMenu)); - priv->iconMenu = trg_status_icon_view_menu(win, display); + priv->iconMenu = trg_status_icon_view_menu(win, display); - if (priv->statusIcon) - gtk_status_icon_set_tooltip_text(priv->statusIcon, display); + if (priv->statusIcon) + gtk_status_icon_set_tooltip_text(priv->statusIcon, display); } g_free(display); @@ -1179,14 +1192,14 @@ update_whatever_statusicon(TrgMainWindow * win, gchar *seedingLabel; gchar buf[32]; - trg_strlspeed(buf, stats->downRateTotal/disk_K); + trg_strlspeed(buf, stats->downRateTotal / disk_K); downloadingLabel = g_strdup_printf(_("%d Downloading @ %s"), stats->down, buf); gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconDownloadingItem), downloadingLabel); g_free(downloadingLabel); - trg_strlspeed(buf, stats->upRateTotal/disk_K); + trg_strlspeed(buf, stats->upRateTotal / disk_K); seedingLabel = g_strdup_printf(_("%d Seeding @ %s"), stats->seeding, buf); gtk_menu_item_set_label(GTK_MENU_ITEM(priv->iconSeedingItem), @@ -1242,7 +1255,7 @@ static gboolean on_torrent_get(gpointer data, int mode) gchar *statusBarMsg = g_strdup_printf(_("Request %d/%d failed: %s"), trg_client_get_failcount(client), - (gint)max_retries, msg); + (gint) max_retries, msg); trg_status_bar_push_connection_msg(priv->statusBar, statusBarMsg); g_free(msg); @@ -1404,8 +1417,7 @@ trg_torrent_tree_view_visible_func(GtkTreeModel * model, matchesTracker = (!json || !torrent_has_tracker(json, trg_state_selector_get_url_host_regex - (priv-> - stateSelector), + (priv->stateSelector), text)); g_free(text); if (matchesTracker) @@ -1457,8 +1469,8 @@ void trg_main_window_reload_dir_aliases(TrgMainWindow * win) } 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 = win->priv; TrgTorrentTreeView *torrentTreeView = @@ -1542,7 +1554,8 @@ gboolean on_delete_complete(gpointer data) TrgClient *tc = priv->client; if (trg_client_is_connected(tc) && response->status == CURLE_OK) - trg_client_update_session(priv->client, on_session_get, response->cb_data); + trg_client_update_session(priv->client, on_session_get, + response->cb_data); return on_generic_interactive_action(data); } @@ -1626,10 +1639,12 @@ trg_main_window_conn_changed(TrgMainWindow * win, gboolean connected) if (connected) { TrgPrefs *prefs = trg_client_get_prefs(priv->client); - priv->sessionTimerId = g_timeout_add_seconds(trg_prefs_get_int(prefs, - TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, TRG_PREFS_CONNECTION), - trg_session_update_timerfunc, - win); + priv->sessionTimerId = + g_timeout_add_seconds(trg_prefs_get_int + (prefs, + TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, + TRG_PREFS_CONNECTION), + trg_session_update_timerfunc, win); } else { trg_main_window_torrent_scrub(win); trg_state_selector_disconnect(priv->stateSelector); @@ -1717,8 +1732,9 @@ static TrgMenuBar *trg_main_window_menu_bar_new(TrgMainWindow * win) accel_group = gtk_accel_group_new(); - menuBar = trg_menu_bar_new(win, trg_client_get_prefs(priv->client), priv->torrentTreeView, - accel_group); + menuBar = + trg_menu_bar_new(win, trg_client_get_prefs(priv->client), + priv->torrentTreeView, accel_group); g_object_get(menuBar, "disconnect-button", &b_disconnect, "add-button", &b_add, "add-url-button", &b_add_url, "resume-button", @@ -1800,11 +1816,11 @@ status_icon_activated(GtkStatusIcon * icon G_GNUC_UNUSED, TrgMainWindowPrivate *priv = win->priv; TrgPrefs *prefs = trg_client_get_prefs(priv->client); - trg_main_window_set_hidden_to_tray(win, - !priv->hidden - && trg_prefs_get_bool(prefs, - TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, - TRG_PREFS_GLOBAL)); + trg_main_window_set_hidden_to_tray(win, + !priv->hidden + && trg_prefs_get_bool(prefs, + TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, + TRG_PREFS_GLOBAL)); } static gboolean @@ -2368,24 +2384,27 @@ torrent_tv_popup_menu_cb(GtkWidget * treeview, gpointer userdata) return TRUE; } -static void trg_main_window_set_hidden_to_tray(TrgMainWindow *win, gboolean hidden) { - - TrgMainWindowPrivate *priv = win->priv; +static void trg_main_window_set_hidden_to_tray(TrgMainWindow * win, + gboolean hidden) +{ - if (hidden) { - gtk_widget_hide(GTK_WIDGET(win)); - } else { - gtk_window_deiconify(GTK_WINDOW(win) ); - gtk_window_present(GTK_WINDOW(win) ); + TrgMainWindowPrivate *priv = win->priv; - if (priv->timerId > 0) { - g_source_remove(priv->timerId); - dispatch_async(priv->client, torrent_get(TORRENT_GET_TAG_MODE_FULL), - on_torrent_get_update, win); - } - } + if (hidden) { + gtk_widget_hide(GTK_WIDGET(win)); + } else { + 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, win); + } + } - priv->hidden = hidden; + priv->hidden = hidden; } static gboolean @@ -2419,10 +2438,10 @@ void trg_main_window_remove_status_icon(TrgMainWindow * win) #else if (1) { #endif - if (priv->statusIcon) - g_object_unref(G_OBJECT(priv->statusIcon)); + if (priv->statusIcon) + g_object_unref(G_OBJECT(priv->statusIcon)); - priv->statusIcon = NULL; + priv->statusIcon = NULL; } } @@ -2469,27 +2488,29 @@ void trg_main_window_add_status_icon(TrgMainWindow * win) TrgMainWindowPrivate *priv = win->priv; #ifdef HAVE_LIBAPPINDICATOR if (is_unity() && (priv->appIndicator = - app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, - APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) { - app_indicator_set_status(priv->appIndicator, - APP_INDICATOR_STATUS_ACTIVE); - app_indicator_set_menu(priv->appIndicator, - trg_status_icon_view_menu(win, NULL)); + app_indicator_new(PACKAGE_NAME, PACKAGE_NAME, + APP_INDICATOR_CATEGORY_APPLICATION_STATUS))) + { + app_indicator_set_status(priv->appIndicator, + APP_INDICATOR_STATUS_ACTIVE); + app_indicator_set_menu(priv->appIndicator, + trg_status_icon_view_menu(win, NULL)); } else { #else if (!is_unity()) { #endif - priv->statusIcon = gtk_status_icon_new_from_icon_name(PACKAGE_NAME); - gtk_status_icon_set_screen(priv->statusIcon, - gtk_window_get_screen(GTK_WINDOW(win))); - g_signal_connect(priv->statusIcon, "activate", - G_CALLBACK(status_icon_activated), win); - g_signal_connect(priv->statusIcon, "button-press-event", - G_CALLBACK(status_icon_button_press_event), win); - g_signal_connect(priv->statusIcon, "popup-menu", - G_CALLBACK(trg_status_icon_popup_menu_cb), win); - - gtk_status_icon_set_visible(priv->statusIcon, TRUE); + priv->statusIcon = + gtk_status_icon_new_from_icon_name(PACKAGE_NAME); + gtk_status_icon_set_screen(priv->statusIcon, + gtk_window_get_screen(GTK_WINDOW(win))); + g_signal_connect(priv->statusIcon, "activate", + G_CALLBACK(status_icon_activated), win); + g_signal_connect(priv->statusIcon, "button-press-event", + G_CALLBACK(status_icon_button_press_event), win); + g_signal_connect(priv->statusIcon, "popup-menu", + G_CALLBACK(trg_status_icon_popup_menu_cb), win); + + gtk_status_icon_set_visible(priv->statusIcon, TRUE); } connchange_whatever_statusicon(win, @@ -2551,12 +2572,13 @@ 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) { + gint x, gint y, GtkSelectionData * data, + guint info, guint time, gpointer user_data) +{ TrgMainWindow *win = user_data; if ((gtk_selection_data_get_length(data) >= 0) - && (gtk_selection_data_get_format(data) == 8)) { + && (gtk_selection_data_get_format(data) == 8)) { gchar **uri_list = gtk_selection_data_get_uris(data); guint num_files = g_strv_length(uri_list); gchar **file_list = g_new0(gchar *, num_files + 1); @@ -2573,16 +2595,19 @@ static void on_dropped_file(GtkWidget * widget, GdkDragContext * context, } } -static gboolean window_key_press_handler(GtkWidget *widget, GdkEvent *event, - gpointer user_data) { - TrgMainWindow *win = TRG_MAIN_WINDOW(widget); +static gboolean window_key_press_handler(GtkWidget * widget, + GdkEvent * event, + gpointer user_data) +{ + TrgMainWindow *win = TRG_MAIN_WINDOW(widget); - if ((event->key.state & GDK_CONTROL_MASK) && event->key.keyval == GDK_k) { - gtk_widget_grab_focus(win->priv->filterEntry); - return TRUE; - } + if ((event->key.state & GDK_CONTROL_MASK) + && event->key.keyval == GDK_k) { + gtk_widget_grab_focus(win->priv->filterEntry); + return TRUE; + } - return FALSE; + return FALSE; } static GObject *trg_main_window_constructor(GType type, @@ -2591,10 +2616,10 @@ static GObject *trg_main_window_constructor(GType type, construct_params) { TrgMainWindow *self = TRG_MAIN_WINDOW(G_OBJECT_CLASS - (trg_main_window_parent_class)-> - constructor(type, - n_construct_properties, - construct_params)); + (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); @@ -2629,7 +2654,8 @@ static GObject *trg_main_window_constructor(GType type, G_CALLBACK(window_state_event), NULL); g_signal_connect(G_OBJECT(self), "configure-event", G_CALLBACK(trg_main_window_config_event), NULL); - g_signal_connect (G_OBJECT(self), "key-press-event", G_CALLBACK (window_key_press_handler), NULL); + g_signal_connect(G_OBJECT(self), "key-press-event", + G_CALLBACK(window_key_press_handler), NULL); priv->torrentModel = trg_torrent_model_new(); trg_client_set_torrent_table(priv->client, @@ -2653,8 +2679,7 @@ static GObject *trg_main_window_constructor(GType type, self, NULL); priv->torrentTreeView = trg_main_window_torrent_tree_view_new(self, - priv-> - filteredTorrentModel); + priv->filteredTorrentModel); g_signal_connect(priv->torrentTreeView, "popup-menu", G_CALLBACK(torrent_tv_popup_menu_cb), self); g_signal_connect(priv->torrentTreeView, "button-press-event", @@ -2708,8 +2733,7 @@ static GObject *trg_main_window_constructor(GType type, FALSE, FALSE); gtk_paned_pack2(GTK_PANED(priv->hpaned), my_scrolledwin_new(GTK_WIDGET - (priv-> - torrentTreeView)), + (priv->torrentTreeView)), TRUE, TRUE); g_signal_connect(G_OBJECT(priv->stateSelector), diff --git a/src/trg-menu-bar.c b/src/trg-menu-bar.c index 955ae8e..df2cad9 100644 --- a/src/trg-menu-bar.c +++ b/src/trg-menu-bar.c @@ -184,8 +184,8 @@ trg_menu_bar_set_property(GObject * object, priv->main_window = g_value_get_object(value); break; case PROP_TORRENT_TREE_VIEW: - priv->torrent_tree_view = g_value_get_object(value); - break; + priv->torrent_tree_view = g_value_get_object(value); + break; } } @@ -338,15 +338,18 @@ trg_menu_bar_accel_add(TrgMenuBar * menu, GtkWidget * item, } -static void view_menu_radio_item_toggled_cb(GtkCheckMenuItem * w, gpointer data) +static void view_menu_radio_item_toggled_cb(GtkCheckMenuItem * w, + gpointer data) { TrgPrefs *p = TRG_PREFS(data); const gchar *key = (gchar *) g_object_get_data(G_OBJECT(w), G_DATAKEY_CONF_KEY); if (gtk_check_menu_item_get_active(w)) { - gint index = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), G_DATAKEY_PREF_VALUE)); - trg_prefs_set_int(p, key, index, TRG_PREFS_GLOBAL); + gint index = + GPOINTER_TO_INT(g_object_get_data + (G_OBJECT(w), G_DATAKEY_PREF_VALUE)); + trg_prefs_set_int(p, key, index, TRG_PREFS_GLOBAL); } } @@ -381,33 +384,40 @@ trg_menu_bar_view_item_update(TrgPrefs * p, const gchar * updatedKey, static void trg_menu_bar_view_radio_item_update(TrgPrefs * p, const gchar * updatedKey, - gpointer data) + gpointer data) { const gchar *key = (gchar *) g_object_get_data(G_OBJECT(data), G_DATAKEY_CONF_KEY); - gint myIndex = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(data), G_DATAKEY_PREF_VALUE)); + gint myIndex = + GPOINTER_TO_INT(g_object_get_data + (G_OBJECT(data), G_DATAKEY_PREF_VALUE)); if (!g_strcmp0(updatedKey, key)) { - gboolean shouldBeActive = trg_prefs_get_int(p, key, TRG_PREFS_GLOBAL) == myIndex; - if (shouldBeActive != gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(data))) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data), shouldBeActive); + gboolean shouldBeActive = + trg_prefs_get_int(p, key, TRG_PREFS_GLOBAL) == myIndex; + if (shouldBeActive != + gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(data))) + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(data), + shouldBeActive); } } static GtkWidget *trg_menu_bar_view_radio_item_new(TrgPrefs * prefs, - GSList *group, - const gchar * key, - gint index, - const gchar * label) + GSList * group, + const gchar * key, + gint index, + const gchar * label) { GtkWidget *w = gtk_radio_menu_item_new_with_label(group, label); g_object_set_data_full(G_OBJECT(w), G_DATAKEY_CONF_KEY, g_strdup(key), g_free); - g_object_set_data(G_OBJECT(w), G_DATAKEY_PREF_VALUE, GINT_TO_POINTER(index)); + g_object_set_data(G_OBJECT(w), G_DATAKEY_PREF_VALUE, + GINT_TO_POINTER(index)); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(w), trg_prefs_get_int(prefs, key, - TRG_PREFS_GLOBAL) == (gint64)index); + TRG_PREFS_GLOBAL) == + (gint64) index); g_signal_connect(w, "toggled", G_CALLBACK(view_menu_radio_item_toggled_cb), prefs); @@ -417,7 +427,8 @@ static GtkWidget *trg_menu_bar_view_radio_item_new(TrgPrefs * prefs, return w; } -static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs * prefs, const gchar * key, +static GtkWidget *trg_menu_bar_view_item_new(TrgPrefs * prefs, + const gchar * key, const gchar * label, GtkWidget * dependency) { @@ -456,18 +467,38 @@ static GtkWidget *trg_menu_bar_view_menu_new(TrgMenuBar * mb) gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), viewMenu); - priv->mb_view_transmission = trg_menu_bar_view_radio_item_new(priv->prefs, NULL, TRG_PREFS_KEY_STYLE, TRG_STYLE_TR, _("Transmission Style")); - gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_transmission); - group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (priv->mb_view_transmission)); - priv->mb_view_transmission_compact = trg_menu_bar_view_radio_item_new(priv->prefs, group, TRG_PREFS_KEY_STYLE, TRG_STYLE_TR_COMPACT, _("Transmission Compact Style")); - gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_transmission_compact); - group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (priv->mb_view_transmission_compact)); - priv->mb_view_classic = trg_menu_bar_view_radio_item_new(priv->prefs, group, TRG_PREFS_KEY_STYLE, TRG_STYLE_CLASSIC, _("Classic Style")); - gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_classic); + priv->mb_view_transmission = + trg_menu_bar_view_radio_item_new(priv->prefs, NULL, + TRG_PREFS_KEY_STYLE, TRG_STYLE_TR, + _("Transmission Style")); + gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), + priv->mb_view_transmission); + group = + gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM + (priv->mb_view_transmission)); + priv->mb_view_transmission_compact = + trg_menu_bar_view_radio_item_new(priv->prefs, group, + TRG_PREFS_KEY_STYLE, + TRG_STYLE_TR_COMPACT, + _("Transmission Compact Style")); + gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), + priv->mb_view_transmission_compact); + group = + gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM + (priv-> + mb_view_transmission_compact)); + priv->mb_view_classic = + trg_menu_bar_view_radio_item_new(priv->prefs, group, + TRG_PREFS_KEY_STYLE, + TRG_STYLE_CLASSIC, + _("Classic Style")); + gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), priv->mb_view_classic); - gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), - trg_tree_view_sort_menu(TRG_TREE_VIEW(priv->torrent_tree_view), - _("Sort"))); + gtk_menu_shell_append(GTK_MENU_SHELL(viewMenu), + trg_tree_view_sort_menu(TRG_TREE_VIEW + (priv-> + torrent_tree_view), + _("Sort"))); priv->mb_view_states = trg_menu_bar_view_item_new(priv->prefs, @@ -925,18 +956,16 @@ static void trg_menu_bar_class_init(TrgMenuBarClass * klass) g_object_class_install_property(object_class, PROP_TORRENT_TREE_VIEW, - g_param_spec_object("torrent-tree-view", - "torrent-tree-view", - "torrent-tree-view", - TRG_TYPE_TORRENT_TREE_VIEW, - G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY - | - G_PARAM_STATIC_NAME - | - G_PARAM_STATIC_NICK - | - G_PARAM_STATIC_BLURB)); + g_param_spec_object + ("torrent-tree-view", + "torrent-tree-view", + "torrent-tree-view", + TRG_TYPE_TORRENT_TREE_VIEW, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_NAME | + G_PARAM_STATIC_NICK | + G_PARAM_STATIC_BLURB)); } static void trg_menu_bar_init(TrgMenuBar * self) @@ -944,9 +973,10 @@ static void trg_menu_bar_init(TrgMenuBar * self) } TrgMenuBar *trg_menu_bar_new(TrgMainWindow * win, TrgPrefs * prefs, - TrgTorrentTreeView *ttv, GtkAccelGroup * accel_group) + TrgTorrentTreeView * ttv, + GtkAccelGroup * accel_group) { return g_object_new(TRG_TYPE_MENU_BAR, - "torrent-tree-view", ttv, "prefs", prefs, "mainwin", win, "accel-group", - accel_group, NULL); + "torrent-tree-view", ttv, "prefs", prefs, + "mainwin", win, "accel-group", accel_group, NULL); } diff --git a/src/trg-peers-model.c b/src/trg-peers-model.c index 980e2a0..3c81f95 100644 --- a/src/trg-peers-model.c +++ b/src/trg-peers-model.c @@ -250,22 +250,22 @@ static void trg_peers_model_init(TrgPeersModel * self) #ifdef HAVE_GEOIP #ifdef WIN32 geoip_db_path = trg_win32_support_path("GeoIP.dat"); - geoip_v6_db_path = trg_win32_support_path("GeoIPv6.dat"); + geoip_v6_db_path = trg_win32_support_path("GeoIPv6.dat"); #else geoip_db_path = g_strdup(TRG_GEOIP_DATABASE); - geoip_v6_db_path = g_strdup(TRG_GEOIPV6_DATABASE); + geoip_v6_db_path = g_strdup(TRG_GEOIPV6_DATABASE); #endif if (g_file_test(geoip_db_path, G_FILE_TEST_EXISTS) == TRUE) priv->geoip = GeoIP_open(geoip_db_path, GEOIP_STANDARD | GEOIP_CHECK_CACHE); - + if (g_file_test(geoip_v6_db_path, G_FILE_TEST_EXISTS) == TRUE) priv->geoipv6 = GeoIP_open(geoip_v6_db_path, GEOIP_STANDARD | GEOIP_CHECK_CACHE); - - g_free(geoip_db_path); - g_free(geoip_v6_db_path); + + g_free(geoip_db_path); + g_free(geoip_v6_db_path); #endif } diff --git a/src/trg-persistent-tree-view.c b/src/trg-persistent-tree-view.c index bb95164..650bdeb 100644 --- a/src/trg-persistent-tree-view.c +++ b/src/trg-persistent-tree-view.c @@ -54,7 +54,8 @@ struct _TrgPersistentTreeViewPrivate { trg_persistent_tree_view_column *addSelect; }; -static void selection_changed(TrgPersistentTreeView *ptv, GtkTreeSelection * selection) +static void selection_changed(TrgPersistentTreeView * ptv, + GtkTreeSelection * selection) { TrgPersistentTreeViewPrivate *priv = GET_PRIVATE(ptv); GtkTreeIter iter; @@ -63,7 +64,8 @@ static void selection_changed(TrgPersistentTreeView *ptv, GtkTreeSelection * sel if (gtk_tree_selection_get_selected(selection, &model, &iter)) { GtkTreePath *path = gtk_tree_model_get_path(model, &iter); gtk_widget_set_sensitive(priv->upButton, gtk_tree_path_prev(path)); - gtk_widget_set_sensitive(priv->downButton, gtk_tree_model_iter_next(model, &iter)); + gtk_widget_set_sensitive(priv->downButton, + gtk_tree_model_iter_next(model, &iter)); gtk_tree_path_free(path); gtk_widget_set_sensitive(priv->delButton, TRUE); } else { @@ -73,7 +75,8 @@ static void selection_changed(TrgPersistentTreeView *ptv, GtkTreeSelection * sel } } -static void selection_changed_cb(GtkTreeSelection * selection, gpointer data) +static void selection_changed_cb(GtkTreeSelection * selection, + gpointer data) { selection_changed(TRG_PERSISTENT_TREE_VIEW(data), selection); } @@ -163,8 +166,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(); @@ -207,8 +210,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; @@ -253,9 +256,9 @@ static void trg_persistent_tree_view_up_cb(GtkWidget * w, gpointer data) if (gtk_tree_selection_get_selected(selection, &model, &iter)) { path = gtk_tree_model_get_path(model, &iter); if (gtk_tree_path_prev(path) && - gtk_tree_model_get_iter(model, &prevIter, path)) - { - gtk_list_store_move_before(GTK_LIST_STORE(model), &iter, &prevIter); + gtk_tree_model_get_iter(model, &prevIter, path)) { + gtk_list_store_move_before(GTK_LIST_STORE(model), &iter, + &prevIter); selection_changed(TRG_PERSISTENT_TREE_VIEW(data), selection); } gtk_tree_path_free(path); @@ -272,7 +275,8 @@ static void trg_persistent_tree_view_down_cb(GtkWidget * w, gpointer data) if (gtk_tree_selection_get_selected(selection, &model, &iter)) { nextIter = iter; if (gtk_tree_model_iter_next(model, &nextIter)) { - gtk_list_store_move_after(GTK_LIST_STORE(model), &iter, &nextIter); + gtk_list_store_move_after(GTK_LIST_STORE(model), &iter, + &nextIter); selection_changed(TRG_PERSISTENT_TREE_VIEW(data), selection); } } @@ -337,8 +341,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 @@ -395,7 +399,7 @@ static GObject *trg_persistent_tree_view_constructor(GType type, w = priv->downButton = gtk_button_new_from_stock(GTK_STOCK_GO_DOWN); gtk_widget_set_sensitive(w, FALSE); g_signal_connect(w, "clicked", - G_CALLBACK(trg_persistent_tree_view_down_cb), object); + G_CALLBACK(trg_persistent_tree_view_down_cb), object); gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 4); priv->tv = diff --git a/src/trg-preferences-dialog.c b/src/trg-preferences-dialog.c index 11d4eb3..372d310 100644 --- a/src/trg-preferences-dialog.c +++ b/src/trg-preferences-dialog.c @@ -379,12 +379,12 @@ trgp_double_special_dependent(GtkWidget * widget, gpointer data) 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-> - fullUpdateCheck))); + (priv->fullUpdateCheck))); } static GtkWidget *trg_prefs_generalPage(TrgPreferencesDialog * dlg) @@ -427,8 +427,8 @@ static GtkWidget *trg_prefs_generalPage(TrgPreferencesDialog * dlg) hig_workarea_add_row(t, &row, _("Minimised update interval:"), w, NULL); - w = trgp_spin_new(dlg, TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, 1, INT_MAX, 1, - TRG_PREFS_PROFILE, NULL); + w = trgp_spin_new(dlg, TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, 1, + INT_MAX, 1, TRG_PREFS_PROFILE, NULL); hig_workarea_add_row(t, &row, _("Session update interval:"), w, NULL); hig_workarea_add_section_title(t, &row, _("Torrents")); @@ -710,27 +710,27 @@ static GtkWidget *trg_prefs_viewPage(TrgPreferencesDialog * dlg) #ifndef HAVE_LIBAPPINDICATOR if (!_is_unity) { #endif - hig_workarea_add_section_title(t, &row, _("System Tray")); - - tray = trgp_check_new(dlg, _("Show in system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, - NULL); - g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_tray_icon), priv->win); - hig_workarea_add_wide_control(t, &row, tray); - - if (!_is_unity) { - w = trgp_check_new(dlg, _("Minimise to system tray"), - TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, - TRG_PREFS_GLOBAL, NULL); - gtk_widget_set_sensitive(w, - gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (tray))); - g_signal_connect(G_OBJECT(tray), "toggled", - G_CALLBACK(toggle_active_arg_is_sensitive), w); - hig_workarea_add_wide_control(t, &row, w); - } - + hig_workarea_add_section_title(t, &row, _("System Tray")); + + tray = trgp_check_new(dlg, _("Show in system tray"), + TRG_PREFS_KEY_SYSTEM_TRAY, TRG_PREFS_GLOBAL, + NULL); + g_signal_connect(G_OBJECT(tray), "toggled", + G_CALLBACK(toggle_tray_icon), priv->win); + hig_workarea_add_wide_control(t, &row, tray); + + if (!_is_unity) { + w = trgp_check_new(dlg, _("Minimise to system tray"), + TRG_PREFS_KEY_SYSTEM_TRAY_MINIMISE, + TRG_PREFS_GLOBAL, NULL); + gtk_widget_set_sensitive(w, + gtk_toggle_button_get_active + (GTK_TOGGLE_BUTTON(tray))); + g_signal_connect(G_OBJECT(tray), "toggled", + G_CALLBACK(toggle_active_arg_is_sensitive), + w); + hig_workarea_add_wide_control(t, &row, w); + } #ifndef HAVE_LIBAPPINDICATOR } #endif diff --git a/src/trg-prefs.c b/src/trg-prefs.c index a80afa6..126737b 100644 --- a/src/trg-prefs.c +++ b/src/trg-prefs.c @@ -103,7 +103,7 @@ static void trg_prefs_create_defaults(TrgPrefs * p) trg_prefs_add_default_int(p, TRG_PREFS_KEY_UPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_KEY_SESSION_UPDATE_INTERVAL, - TRG_SESSION_INTERVAL_DEFAULT); + TRG_SESSION_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_KEY_MINUPDATE_INTERVAL, TRG_INTERVAL_DEFAULT); trg_prefs_add_default_int(p, TRG_PREFS_ACTIVEONLY_FULLSYNC_EVERY, 2); @@ -125,8 +125,8 @@ static GObject *trg_prefs_constructor(GType type, construct_params) { GObject *object = G_OBJECT_CLASS - (trg_prefs_parent_class)->constructor(type, n_construct_properties, - construct_params); + (trg_prefs_parent_class)->constructor(type, n_construct_properties, + construct_params); TrgPrefs *prefs = TRG_PREFS(object); TrgPrefsPrivate *priv = prefs->priv; @@ -170,7 +170,8 @@ 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); + self->priv = + G_TYPE_INSTANCE_GET_PRIVATE(self, TRG_TYPE_PREFS, TrgPrefsPrivate); } TrgPrefs *trg_prefs_new(void) diff --git a/src/trg-remote-prefs-dialog.c b/src/trg-remote-prefs-dialog.c index acf689b..9a23785 100644 --- a/src/trg-remote-prefs-dialog.c +++ b/src/trg-remote-prefs-dialog.c @@ -162,12 +162,10 @@ trg_remote_prefs_double_special_dependent(GtkWidget * widget, gtk_widget_set_sensitive(GTK_WIDGET(data), gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (priv-> - alt_time_check)) + (priv->alt_time_check)) || gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON - (priv-> - alt_check))); + (priv->alt_check))); } static void diff --git a/src/trg-sortable-filtered-model.c b/src/trg-sortable-filtered-model.c index b8a91b4..0c84b77 100644 --- a/src/trg-sortable-filtered-model.c +++ b/src/trg-sortable-filtered-model.c @@ -130,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 diff --git a/src/trg-status-bar.c b/src/trg-status-bar.c index 80de6bb..8f80711 100644 --- a/src/trg-status-bar.c +++ b/src/trg-status-bar.c @@ -129,15 +129,15 @@ trg_status_bar_push_connection_msg(TrgStatusBar * sb, const gchar * msg) } static void -trg_status_bar_set_connected_label(TrgStatusBar *sb, JsonObject * session, - TrgClient *client) +trg_status_bar_set_connected_label(TrgStatusBar * sb, JsonObject * session, + TrgClient * client) { TrgPrefs *prefs = trg_client_get_prefs(client); gdouble version = session_get_version(session); gchar *profileName = trg_prefs_get_string(prefs, - TRG_PREFS_KEY_PROFILE_NAME, - TRG_PREFS_CONNECTION); + TRG_PREFS_KEY_PROFILE_NAME, + TRG_PREFS_CONNECTION); gchar *statusMsg = g_strdup_printf(_("Connected: %s (Transmission %g)"), profileName, @@ -246,7 +246,8 @@ trg_status_bar_update(TrgStatusBar * sb, trg_torrent_model_update_stats * stats, TrgClient * client) { - trg_status_bar_set_connected_label(sb, trg_client_get_session(client), client); + trg_status_bar_set_connected_label(sb, trg_client_get_session(client), + client); trg_status_bar_update_speed(sb, stats, client); } diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index a0559a4..e70b688 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -528,15 +528,17 @@ trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, if (nfiles == 1) { gchar *file_name = (gchar *) filenames->data; if (is_url(file_name) || is_magnet(file_name)) { - if (strlen(file_name) > MAGNET_MAX_LINK_WIDTH) { - gchar *file_name_trunc = g_strndup(file_name, MAGNET_MAX_LINK_WIDTH); - gchar *file_name_trunc_fmt = g_strdup_printf("%s ...", file_name_trunc); - gtk_button_set_label(chooser, file_name_trunc_fmt); - g_free(file_name_trunc); - g_free(file_name_trunc_fmt); - } else { - gtk_button_set_label(chooser, file_name); - } + if (strlen(file_name) > MAGNET_MAX_LINK_WIDTH) { + gchar *file_name_trunc = + g_strndup(file_name, MAGNET_MAX_LINK_WIDTH); + gchar *file_name_trunc_fmt = + g_strdup_printf("%s ...", file_name_trunc); + gtk_button_set_label(chooser, file_name_trunc_fmt); + g_free(file_name_trunc); + g_free(file_name_trunc_fmt); + } else { + gtk_button_set_label(chooser, file_name); + } gtk_widget_set_sensitive(priv->file_list, FALSE); gtk_widget_set_sensitive(priv->delete_check, FALSE); @@ -645,24 +647,25 @@ trg_torrent_add_dialog_source_click_cb(GtkWidget * w, gpointer data) } static gboolean -apply_all_changed_foreachfunc(GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) -{ - GtkComboBox *combo = GTK_COMBO_BOX(data); - GtkTreeModel *combo_model = gtk_combo_box_get_model(combo); - GtkTreeIter selection_iter; - if (gtk_combo_box_get_active_iter(combo, &selection_iter)) { - gint column; - gint value; - GValue gvalue = { 0 }; - g_value_init(&gvalue, G_TYPE_INT); - gtk_tree_model_get(combo_model, &selection_iter, 2, &column, 3, &value, -1); - g_value_set_int(&gvalue, value); - gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, column, &gvalue); - } - return FALSE; +apply_all_changed_foreachfunc(GtkTreeModel * model, + GtkTreePath * path, + GtkTreeIter * iter, gpointer data) +{ + GtkComboBox *combo = GTK_COMBO_BOX(data); + GtkTreeModel *combo_model = gtk_combo_box_get_model(combo); + GtkTreeIter selection_iter; + if (gtk_combo_box_get_active_iter(combo, &selection_iter)) { + gint column; + gint value; + GValue gvalue = { 0 }; + g_value_init(&gvalue, G_TYPE_INT); + gtk_tree_model_get(combo_model, &selection_iter, 2, &column, 3, + &value, -1); + g_value_set_int(&gvalue, value); + gtk_tree_store_set_value(GTK_TREE_STORE(model), iter, column, + &gvalue); + } + return FALSE; } static void @@ -676,37 +679,49 @@ trg_torrent_add_dialog_apply_all_changed_cb(GtkWidget * w, gpointer data) gtk_combo_box_set_active(GTK_COMBO_BOX(w), -1); } -static GtkWidget *trg_torrent_add_dialog_apply_all_combo_new(TrgTorrentAddDialog *dialog) -{ - GtkListStore *model = gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_INT); - GtkWidget *combo = gtk_combo_box_new(); - GtkTreeIter iter; - GtkCellRenderer *renderer; - - gtk_list_store_append(model, &iter); - gtk_list_store_set(model, &iter, 1, _("High Priority"), 2, FC_PRIORITY, 3, TR_PRI_HIGH, -1); - gtk_list_store_append(model, &iter); - gtk_list_store_set(model, &iter, 1, _("Normal Priority"), 2, FC_PRIORITY, 3, TR_PRI_NORMAL, -1); - gtk_list_store_append(model, &iter); - gtk_list_store_set(model, &iter, 1, _("Low Priority"), 2, FC_PRIORITY, 3, TR_PRI_LOW, -1); - gtk_list_store_append(model, &iter); - gtk_list_store_set(model, &iter, 0, GTK_STOCK_APPLY, 1, _("Download"), 2, FC_ENABLED, 3, TRUE, -1); - gtk_list_store_append(model, &iter); - gtk_list_store_set(model, &iter, 0, GTK_STOCK_CANCEL, 1, _("Skip"), 2, FC_ENABLED, 3, FALSE, -1); - - renderer = gtk_cell_renderer_pixbuf_new(); +static GtkWidget + *trg_torrent_add_dialog_apply_all_combo_new(TrgTorrentAddDialog * + dialog) +{ + GtkListStore *model = + gtk_list_store_new(4, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT, + G_TYPE_INT); + GtkWidget *combo = gtk_combo_box_new(); + GtkTreeIter iter; + GtkCellRenderer *renderer; + + gtk_list_store_append(model, &iter); + gtk_list_store_set(model, &iter, 1, _("High Priority"), 2, FC_PRIORITY, + 3, TR_PRI_HIGH, -1); + gtk_list_store_append(model, &iter); + gtk_list_store_set(model, &iter, 1, _("Normal Priority"), 2, + FC_PRIORITY, 3, TR_PRI_NORMAL, -1); + gtk_list_store_append(model, &iter); + gtk_list_store_set(model, &iter, 1, _("Low Priority"), 2, FC_PRIORITY, + 3, TR_PRI_LOW, -1); + gtk_list_store_append(model, &iter); + gtk_list_store_set(model, &iter, 0, GTK_STOCK_APPLY, 1, _("Download"), + 2, FC_ENABLED, 3, TRUE, -1); + gtk_list_store_append(model, &iter); + gtk_list_store_set(model, &iter, 0, GTK_STOCK_CANCEL, 1, _("Skip"), 2, + FC_ENABLED, 3, FALSE, -1); + + renderer = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, FALSE); - gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), renderer, "stock-id", 0); + gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), renderer, + "stock-id", 0); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo), renderer, FALSE); - gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), renderer, "text", 1); + gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(combo), renderer, "text", + 1); gtk_combo_box_set_model(GTK_COMBO_BOX(combo), GTK_TREE_MODEL(model)); g_signal_connect(combo, "changed", - G_CALLBACK(trg_torrent_add_dialog_apply_all_changed_cb), + G_CALLBACK + (trg_torrent_add_dialog_apply_all_changed_cb), dialog); - return combo; + return combo; } static GObject *trg_torrent_add_dialog_constructor(GType type, @@ -769,8 +784,7 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, l = gtk_label_new_with_mnemonic(_("_Torrent file:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), l, 0, 1, 0, 1, GTK_FILL, - 0, 0, 0); + gtk_table_attach(GTK_TABLE(t), l, 0, 1, 0, 1, GTK_FILL, 0, 0, 0); priv->source_chooser = gtk_button_new(); gtk_button_set_alignment(GTK_BUTTON(priv->source_chooser), 0.0f, 0.5f); @@ -786,8 +800,7 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, l = gtk_label_new_with_mnemonic(_("_Destination folder:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), l, 0, 1, 1, 2, GTK_FILL, - 0, 0, 0); + gtk_table_attach(GTK_TABLE(t), l, 0, 1, 1, 2, GTK_FILL, 0, 0, 0); priv->dest_combo = trg_destination_combo_new(priv->client, @@ -797,22 +810,21 @@ static GObject *trg_torrent_add_dialog_constructor(GType type, gtk_label_set_mnemonic_widget(GTK_LABEL(l), priv->dest_combo); gtk_widget_set_size_request(priv->file_list, 466u, 300u); - gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, 0, 2, - 2, 3); + gtk_table_attach_defaults(GTK_TABLE(t), priv->file_list, 0, 2, 2, 3); l = gtk_label_new_with_mnemonic(_("Apply to all:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), l, 0, 1, 3, 4, ~0, 0, 0, - 0); + gtk_table_attach(GTK_TABLE(t), l, 0, 1, 3, 4, ~0, 0, 0, 0); - applyall_combo = trg_torrent_add_dialog_apply_all_combo_new(TRG_TORRENT_ADD_DIALOG(obj)); - gtk_table_attach(GTK_TABLE(t), applyall_combo, 1, 2, 3, - 4, ~0, 0, 0, 0); + applyall_combo = + trg_torrent_add_dialog_apply_all_combo_new(TRG_TORRENT_ADD_DIALOG + (obj)); + gtk_table_attach(GTK_TABLE(t), applyall_combo, 1, 2, 3, 4, ~0, 0, 0, + 0); l = gtk_label_new_with_mnemonic(_("Torrent _priority:")); gtk_misc_set_alignment(GTK_MISC(l), 0.0f, 0.5f); - gtk_table_attach(GTK_TABLE(t), l, 0, 1, 4, 5, ~0, 0, 0, - 0); + gtk_table_attach(GTK_TABLE(t), l, 0, 1, 4, 5, ~0, 0, 0, 0); gtk_table_attach(GTK_TABLE(t), priv->priority_combo, 1, 2, 4, 5, ~0, 0, 0, 0); diff --git a/src/trg-torrent-model.c b/src/trg-torrent-model.c index a9e8d7c..501e1a1 100644 --- a/src/trg-torrent-model.c +++ b/src/trg-torrent-model.c @@ -420,7 +420,8 @@ update_torrent_iter(TrgTorrentModel * model, JsonObject *lastJson, *pf; JsonArray *trackerStats; gchar *statusString, *statusIcon, *downloadDir; - gint64 downRate, upRate, haveValid, uploaded, downloaded, id, status, lpd; + gint64 downRate, upRate, haveValid, uploaded, downloaded, id, status, + lpd; gchar *firstTrackerHost = NULL; gchar *peerSources = NULL; gchar *lastDownloadDir = NULL; @@ -465,15 +466,21 @@ update_torrent_iter(TrgTorrentModel * model, if (newFlags & TORRENT_FLAG_ACTIVE) { if (lpd >= 0) { peerSources = - g_strdup_printf("%"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT, - peerfrom_get_trackers(pf), + g_strdup_printf("%" G_GINT64_FORMAT " / %" G_GINT64_FORMAT + " / %" G_GINT64_FORMAT " / %" + G_GINT64_FORMAT " / %" G_GINT64_FORMAT + " / %" G_GINT64_FORMAT " / %" + G_GINT64_FORMAT, peerfrom_get_trackers(pf), peerfrom_get_incoming(pf), peerfrom_get_ltep(pf), peerfrom_get_dht(pf), peerfrom_get_pex(pf), lpd, peerfrom_get_resume(pf)); } else { peerSources = - g_strdup_printf("%"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / %"G_GINT64_FORMAT" / N/A / %"G_GINT64_FORMAT, + g_strdup_printf("%" G_GINT64_FORMAT " / %" G_GINT64_FORMAT + " / %" G_GINT64_FORMAT " / %" + G_GINT64_FORMAT " / %" G_GINT64_FORMAT + " / N/A / %" G_GINT64_FORMAT, peerfrom_get_trackers(pf), peerfrom_get_incoming(pf), peerfrom_get_ltep(pf), @@ -483,11 +490,13 @@ update_torrent_iter(TrgTorrentModel * model, } gtk_list_store_set(ls, iter, TORRENT_COLUMN_ICON, statusIcon, TORRENT_COLUMN_ADDED, torrent_get_added_date(t), - TORRENT_COLUMN_FILECOUNT, json_array_get_length(torrent_get_files(t)), + TORRENT_COLUMN_FILECOUNT, + json_array_get_length(torrent_get_files(t)), TORRENT_COLUMN_DONE_DATE, torrent_get_done_date(t), TORRENT_COLUMN_NAME, torrent_get_name(t), TORRENT_COLUMN_ERROR, torrent_get_error(t), - TORRENT_COLUMN_SIZEWHENDONE, torrent_get_size_when_done(t), + TORRENT_COLUMN_SIZEWHENDONE, + torrent_get_size_when_done(t), TORRENT_COLUMN_PERCENTDONE, (newFlags & TORRENT_FLAG_CHECKING) ? torrent_get_recheck_progress(t) @@ -501,7 +510,8 @@ update_torrent_iter(TrgTorrentModel * model, torrent_get_eta(t), TORRENT_COLUMN_UPLOADED, uploaded, TORRENT_COLUMN_DOWNLOADED, downloaded, TORRENT_COLUMN_TOTALSIZE, torrent_get_total_size(t), - TORRENT_COLUMN_HAVE_UNCHECKED, torrent_get_have_unchecked(t), + TORRENT_COLUMN_HAVE_UNCHECKED, + torrent_get_have_unchecked(t), TORRENT_COLUMN_HAVE_VALID, haveValid, TORRENT_COLUMN_FROMPEX, peerfrom_get_pex(pf), TORRENT_COLUMN_FROMDHT, peerfrom_get_dht(pf), @@ -522,8 +532,10 @@ update_torrent_iter(TrgTorrentModel * model, torrent_get_web_seeds_sending_to_us(t), TORRENT_COLUMN_QUEUE_POSITION, torrent_get_queue_position(t), - TORRENT_COLUMN_SEED_RATIO_LIMIT, torrent_get_seed_ratio_limit(t), - TORRENT_COLUMN_SEED_RATIO_MODE, torrent_get_seed_ratio_mode(t), + TORRENT_COLUMN_SEED_RATIO_LIMIT, + torrent_get_seed_ratio_limit(t), + TORRENT_COLUMN_SEED_RATIO_MODE, + torrent_get_seed_ratio_mode(t), TORRENT_COLUMN_LASTACTIVE, torrent_get_activity_date(t), TORRENT_COLUMN_RATIO, uploaded > 0 diff --git a/src/trg-torrent-props-dialog.c b/src/trg-torrent-props-dialog.c index ef63768..8f2de3b 100644 --- a/src/trg-torrent-props-dialog.c +++ b/src/trg-torrent-props-dialog.c @@ -136,10 +136,12 @@ trg_torrent_props_response_cb(GtkDialog * dlg, gint res_id, json_object_set_int_member(args, FIELD_SEED_RATIO_MODE, gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->seedRatioMode))); + (priv-> + seedRatioMode))); json_object_set_int_member(args, FIELD_BANDWIDTH_PRIORITY, gtk_combo_box_get_active(GTK_COMBO_BOX - (priv->bandwidthPriorityCombo)) + (priv-> + bandwidthPriorityCombo)) - 1); trg_json_widgets_save(priv->widgets, args); diff --git a/src/trg-torrent-tree-view.c b/src/trg-torrent-tree-view.c index d54286a..03861ab 100644 --- a/src/trg-torrent-tree-view.c +++ b/src/trg-torrent-tree-view.c @@ -39,7 +39,7 @@ struct _TrgTorrentTreeViewPrivate { static void trg_torrent_tree_view_class_init(TrgTorrentTreeViewClass * klass G_GNUC_UNUSED) { - g_type_class_add_private(klass, sizeof(TrgTorrentTreeViewPrivate)); + g_type_class_add_private(klass, sizeof(TrgTorrentTreeViewPrivate)); } static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv) @@ -53,10 +53,12 @@ static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv) 0); desc->model_column_extra = TORRENT_COLUMN_ICON; - trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, TORRENT_COLUMN_SIZEWHENDONE, - _("Size"), "size", 0); - trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, TORRENT_COLUMN_PERCENTDONE, - _("Done"), "done", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_SIZE, + TORRENT_COLUMN_SIZEWHENDONE, _("Size"), + "size", 0); + trg_tree_view_reg_column(ttv, TRG_COLTYPE_PROG, + TORRENT_COLUMN_PERCENTDONE, _("Done"), "done", + 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_STATUS, _("Status"), "status", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, @@ -78,28 +80,39 @@ static void trg_torrent_tree_view_init(TrgTorrentTreeView * tttv) _("Connected"), "connected-peers", 0); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMPEX, _("PEX Peers"), - "from-pex", TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + "from-pex", + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMDHT, _("DHT Peers"), - "from-dht", TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + "from-dht", + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMTRACKERS, _("Tracker Peers"), "from-trackers", - TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMLTEP, _("LTEP Peers"), - "from-ltep", TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + "from-ltep", + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMRESUME, _("Resumed Peers"), - "from-resume", TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + "from-resume", + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_NUMGTZERO, TORRENT_COLUMN_FROMINCOMING, _("Incoming Peers"), "from-incoming", - TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_TEXT, TORRENT_COLUMN_PEER_SOURCES, _("Peers T/I/E/H/X/L/R"), "peer-sources", - TRG_COLUMN_EXTRA | TRG_COLUMN_HIDE_FROM_TOP_MENU); + TRG_COLUMN_EXTRA | + TRG_COLUMN_HIDE_FROM_TOP_MENU); trg_tree_view_reg_column(ttv, TRG_COLTYPE_SPEED, TORRENT_COLUMN_DOWNSPEED, _("Down Speed"), "down-speed", 0); @@ -172,7 +185,8 @@ JsonArray *build_json_id_array(TrgTorrentTreeView * tv) return ids; } -static void setup_classic_layout(TrgTorrentTreeView *tv) { +static void setup_classic_layout(TrgTorrentTreeView * tv) +{ gtk_tree_view_set_rubber_banding(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_headers_clickable(GTK_TREE_VIEW(tv), TRUE); gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(tv), TRUE); @@ -180,58 +194,87 @@ static void setup_classic_layout(TrgTorrentTreeView *tv) { } static void -trg_torrent_tree_view_renderer_pref_changed(TrgPrefs * p, const gchar * updatedKey, - gpointer data) +trg_torrent_tree_view_renderer_pref_changed(TrgPrefs * p, + const gchar * updatedKey, + gpointer data) { - if (!g_strcmp0(updatedKey, TRG_PREFS_KEY_STYLE)) { - GtkTreeView *tv = torrent_cell_renderer_get_owner(TORRENT_CELL_RENDERER(data)); - gboolean compact = trg_prefs_get_int(p, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL) == TRG_STYLE_TR_COMPACT; - g_object_set(G_OBJECT(data), "compact", GINT_TO_POINTER(compact), NULL); + if (!g_strcmp0(updatedKey, TRG_PREFS_KEY_STYLE)) { + GtkTreeView *tv = + torrent_cell_renderer_get_owner(TORRENT_CELL_RENDERER(data)); + gboolean compact = + trg_prefs_get_int(p, TRG_PREFS_KEY_STYLE, + TRG_PREFS_GLOBAL) == TRG_STYLE_TR_COMPACT; + g_object_set(G_OBJECT(data), "compact", GINT_TO_POINTER(compact), + NULL); #if GTK_CHECK_VERSION( 3,0,0 ) - g_signal_emit_by_name( tv, "style-updated", NULL, NULL ); + g_signal_emit_by_name(tv, "style-updated", NULL, NULL); #else - g_signal_emit_by_name( tv, "style-set", NULL, NULL ); + g_signal_emit_by_name(tv, "style-set", NULL, NULL); #endif - } + } } -static void setup_transmission_layout(TrgTorrentTreeView *tv, gint64 style) +static void setup_transmission_layout(TrgTorrentTreeView * tv, + gint64 style) { - TrgTorrentTreeViewPrivate *priv = GET_PRIVATE(tv); + TrgTorrentTreeViewPrivate *priv = GET_PRIVATE(tv); GtkCellRenderer *renderer = torrent_cell_renderer_new(); TrgPrefs *prefs = trg_client_get_prefs(priv->client); - GtkTreeViewColumn *column = gtk_tree_view_column_new_with_attributes("", - renderer, - "status", TORRENT_COLUMN_FLAGS, - "error", TORRENT_COLUMN_ERROR, - "fileCount", TORRENT_COLUMN_FILECOUNT, - "totalSize", TORRENT_COLUMN_TOTALSIZE, - "ratio", TORRENT_COLUMN_RATIO, - "downloaded", TORRENT_COLUMN_DOWNLOADED, - "haveValid", TORRENT_COLUMN_HAVE_VALID, - "sizeWhenDone", TORRENT_COLUMN_SIZEWHENDONE, - "uploaded", TORRENT_COLUMN_UPLOADED, - "percentComplete", TORRENT_COLUMN_PERCENTDONE, - "metadataPercentComplete", TORRENT_COLUMN_METADATAPERCENTCOMPLETE, - "upSpeed", TORRENT_COLUMN_UPSPEED, - "downSpeed", TORRENT_COLUMN_DOWNSPEED, - "peersToUs", TORRENT_COLUMN_PEERS_TO_US, - "peersGettingFromUs", TORRENT_COLUMN_PEERS_FROM_US, - "webSeedsToUs", TORRENT_COLUMN_WEB_SEEDS_TO_US, - "eta", TORRENT_COLUMN_ETA, - "json", TORRENT_COLUMN_JSON, - "seedRatioMode", TORRENT_COLUMN_SEED_RATIO_MODE, - "seedRatioLimit", TORRENT_COLUMN_SEED_RATIO_LIMIT, - "connected", TORRENT_COLUMN_PEERS_CONNECTED, - NULL); + GtkTreeViewColumn *column = + gtk_tree_view_column_new_with_attributes("", + renderer, + "status", + TORRENT_COLUMN_FLAGS, + "error", + TORRENT_COLUMN_ERROR, + "fileCount", + TORRENT_COLUMN_FILECOUNT, + "totalSize", + TORRENT_COLUMN_TOTALSIZE, + "ratio", + TORRENT_COLUMN_RATIO, + "downloaded", + TORRENT_COLUMN_DOWNLOADED, + "haveValid", + TORRENT_COLUMN_HAVE_VALID, + "sizeWhenDone", + TORRENT_COLUMN_SIZEWHENDONE, + "uploaded", + TORRENT_COLUMN_UPLOADED, + "percentComplete", + TORRENT_COLUMN_PERCENTDONE, + "metadataPercentComplete", + TORRENT_COLUMN_METADATAPERCENTCOMPLETE, + "upSpeed", + TORRENT_COLUMN_UPSPEED, + "downSpeed", + TORRENT_COLUMN_DOWNSPEED, + "peersToUs", + TORRENT_COLUMN_PEERS_TO_US, + "peersGettingFromUs", + TORRENT_COLUMN_PEERS_FROM_US, + "webSeedsToUs", + TORRENT_COLUMN_WEB_SEEDS_TO_US, + "eta", TORRENT_COLUMN_ETA, + "json", + TORRENT_COLUMN_JSON, + "seedRatioMode", + TORRENT_COLUMN_SEED_RATIO_MODE, + "seedRatioLimit", + TORRENT_COLUMN_SEED_RATIO_LIMIT, + "connected", + TORRENT_COLUMN_PEERS_CONNECTED, + NULL); g_object_set(G_OBJECT(renderer), "client", priv->client, - "owner", tv, - "compact", style == TRG_STYLE_TR_COMPACT, NULL); + "owner", tv, + "compact", style == TRG_STYLE_TR_COMPACT, NULL); g_signal_connect_object(prefs, "pref-changed", - G_CALLBACK(trg_torrent_tree_view_renderer_pref_changed), renderer, G_CONNECT_AFTER); + G_CALLBACK + (trg_torrent_tree_view_renderer_pref_changed), + renderer, G_CONNECT_AFTER); gtk_tree_view_column_set_resizable(column, FALSE); gtk_tree_view_column_set_reorderable(column, FALSE); @@ -246,27 +289,32 @@ static void setup_transmission_layout(TrgTorrentTreeView *tv, gint64 style) static void trg_torrent_tree_view_pref_changed(TrgPrefs * p, const gchar * updatedKey, - gpointer data) + gpointer data) { - if (!g_strcmp0(updatedKey, TRG_PREFS_KEY_STYLE)) { - TrgTorrentTreeViewPrivate *priv = GET_PRIVATE(data); - TrgPrefs *prefs = trg_client_get_prefs(priv->client); - - trg_tree_view_remove_all_columns(TRG_TREE_VIEW(data)); - if (trg_prefs_get_int(p, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL) == TRG_STYLE_CLASSIC) - setup_classic_layout(TRG_TORRENT_TREE_VIEW(data)); - else - setup_transmission_layout(TRG_TORRENT_TREE_VIEW(data), trg_prefs_get_int(prefs, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL)); - } + if (!g_strcmp0(updatedKey, TRG_PREFS_KEY_STYLE)) { + TrgTorrentTreeViewPrivate *priv = GET_PRIVATE(data); + TrgPrefs *prefs = trg_client_get_prefs(priv->client); + + trg_tree_view_remove_all_columns(TRG_TREE_VIEW(data)); + if (trg_prefs_get_int(p, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL) == + TRG_STYLE_CLASSIC) + setup_classic_layout(TRG_TORRENT_TREE_VIEW(data)); + else + setup_transmission_layout(TRG_TORRENT_TREE_VIEW(data), + trg_prefs_get_int(prefs, + TRG_PREFS_KEY_STYLE, + TRG_PREFS_GLOBAL)); + } } -TrgTorrentTreeView *trg_torrent_tree_view_new(TrgClient *tc, +TrgTorrentTreeView *trg_torrent_tree_view_new(TrgClient * tc, GtkTreeModel * model) { GObject *obj = g_object_new(TRG_TYPE_TORRENT_TREE_VIEW, NULL); TrgTorrentTreeViewPrivate *priv = GET_PRIVATE(obj); TrgPrefs *prefs = trg_client_get_prefs(tc); - gint64 style = trg_prefs_get_int(prefs, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL); + gint64 style = + trg_prefs_get_int(prefs, TRG_PREFS_KEY_STYLE, TRG_PREFS_GLOBAL); trg_tree_view_set_prefs(TRG_TREE_VIEW(obj), trg_client_get_prefs(tc)); gtk_tree_view_set_model(GTK_TREE_VIEW(obj), model); @@ -274,15 +322,16 @@ TrgTorrentTreeView *trg_torrent_tree_view_new(TrgClient *tc, priv->client = tc; if (style == TRG_STYLE_CLASSIC) { - setup_classic_layout(TRG_TORRENT_TREE_VIEW(obj)); + setup_classic_layout(TRG_TORRENT_TREE_VIEW(obj)); } else { - setup_transmission_layout(TRG_TORRENT_TREE_VIEW(obj), style); + setup_transmission_layout(TRG_TORRENT_TREE_VIEW(obj), style); } g_signal_connect(prefs, "pref-changed", G_CALLBACK(trg_torrent_tree_view_pref_changed), obj); - trg_tree_view_restore_sort(TRG_TREE_VIEW(obj), TRG_TREE_VIEW_SORTABLE_PARENT); + trg_tree_view_restore_sort(TRG_TREE_VIEW(obj), + TRG_TREE_VIEW_SORTABLE_PARENT); return TRG_TORRENT_TREE_VIEW(obj); } diff --git a/src/trg-tree-view.c b/src/trg-tree-view.c index d507fc3..54af376 100644 --- a/src/trg-tree-view.c +++ b/src/trg-tree-view.c @@ -149,7 +149,8 @@ trg_column_description *trg_tree_view_reg_column(TrgTreeView * tv, gint type, gint model_column, const gchar * header, - const gchar * id, guint flags) + const gchar * id, + guint flags) { TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); trg_column_description *desc = g_new0(trg_column_description, 1); @@ -185,7 +186,7 @@ static void trg_tree_view_hide_column(GtkWidget * w, GtkTreeViewColumn * col) { trg_column_description *desc = g_object_get_data(G_OBJECT(col), - GDATA_KEY_COLUMN_DESC); + GDATA_KEY_COLUMN_DESC); GtkWidget *tv = gtk_tree_view_column_get_tree_view(col); desc->flags &= ~TRG_COLUMN_SHOWING; gtk_tree_view_remove_column(GTK_TREE_VIEW(tv), col); @@ -209,83 +210,103 @@ trg_tree_view_user_add_column_cb(GtkWidget * w, trg_tree_view_add_column_after(tv, desc, -1, col); } -static void trg_tree_view_sort_menu_item_toggled(GtkCheckMenuItem * w, gpointer data) +static void trg_tree_view_sort_menu_item_toggled(GtkCheckMenuItem * w, + gpointer data) { GtkTreeSortable *model = GTK_TREE_SORTABLE(data); trg_column_description *desc = - (trg_column_description *)g_object_get_data(G_OBJECT(w), GDATA_KEY_COLUMN_DESC); + (trg_column_description *) g_object_get_data(G_OBJECT(w), + GDATA_KEY_COLUMN_DESC); if (gtk_check_menu_item_get_active(w)) { - GtkSortType sortType; - gtk_tree_sortable_get_sort_column_id (model, NULL, &sortType); - gtk_tree_sortable_set_sort_column_id(model, desc->model_column, sortType); + GtkSortType sortType; + gtk_tree_sortable_get_sort_column_id(model, NULL, &sortType); + gtk_tree_sortable_set_sort_column_id(model, desc->model_column, + sortType); } } -static void trg_tree_view_sort_menu_type_toggled(GtkCheckMenuItem * w, gpointer data) +static void trg_tree_view_sort_menu_type_toggled(GtkCheckMenuItem * w, + gpointer data) { GtkTreeSortable *model = GTK_TREE_SORTABLE(data); if (gtk_check_menu_item_get_active(w)) { - gint sortColumn; - gint sortType = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "sort-type")); - gtk_tree_sortable_get_sort_column_id (model, &sortColumn, NULL); + gint sortColumn; + gint sortType = + GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "sort-type")); + gtk_tree_sortable_get_sort_column_id(model, &sortColumn, NULL); gtk_tree_sortable_set_sort_column_id(model, sortColumn, sortType); } } -GtkWidget *trg_tree_view_sort_menu(TrgTreeView *tv, const gchar *label) +GtkWidget *trg_tree_view_sort_menu(TrgTreeView * tv, const gchar * label) { - TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); - GtkWidget *item = gtk_menu_item_new_with_mnemonic(label); - GtkTreeModel *treeViewModel = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); - GtkTreeSortable *sortableModel = GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model(GTK_TREE_MODEL_FILTER(treeViewModel))); - GtkWidget *menu = gtk_menu_new(); - GtkWidget *b; - GList *li; - gint sort; - GtkSortType sortType; - GSList *group = NULL; - - gtk_tree_sortable_get_sort_column_id(sortableModel, &sort, &sortType); - - b = gtk_radio_menu_item_new_with_label(group, _("Ascending")); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), sortType == GTK_SORT_ASCENDING); - g_object_set_data(G_OBJECT(b), "sort-type", GINT_TO_POINTER(GTK_SORT_ASCENDING)); - g_signal_connect(b, "toggled", G_CALLBACK(trg_tree_view_sort_menu_type_toggled), sortableModel); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); - group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(b)); - b = gtk_radio_menu_item_new_with_label(group, _("Descending")); - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), sortType == GTK_SORT_DESCENDING); - g_object_set_data(G_OBJECT(b), "sort-type", GINT_TO_POINTER(GTK_SORT_DESCENDING)); - g_signal_connect(b, "toggled", G_CALLBACK(trg_tree_view_sort_menu_type_toggled), sortableModel); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); - - group = NULL; - - gtk_menu_shell_append(GTK_MENU_SHELL(menu), gtk_separator_menu_item_new()); + TrgTreeViewPrivate *priv = TRG_TREE_VIEW_GET_PRIVATE(tv); + GtkWidget *item = gtk_menu_item_new_with_mnemonic(label); + GtkTreeModel *treeViewModel = + gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); + GtkTreeSortable *sortableModel = + GTK_TREE_SORTABLE(gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER(treeViewModel))); + GtkWidget *menu = gtk_menu_new(); + GtkWidget *b; + GList *li; + gint sort; + GtkSortType sortType; + GSList *group = NULL; + + gtk_tree_sortable_get_sort_column_id(sortableModel, &sort, &sortType); + + b = gtk_radio_menu_item_new_with_label(group, _("Ascending")); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), + sortType == GTK_SORT_ASCENDING); + g_object_set_data(G_OBJECT(b), "sort-type", + GINT_TO_POINTER(GTK_SORT_ASCENDING)); + g_signal_connect(b, "toggled", + G_CALLBACK(trg_tree_view_sort_menu_type_toggled), + sortableModel); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); + group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(b)); + b = gtk_radio_menu_item_new_with_label(group, _("Descending")); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), + sortType == GTK_SORT_DESCENDING); + g_object_set_data(G_OBJECT(b), "sort-type", + GINT_TO_POINTER(GTK_SORT_DESCENDING)); + g_signal_connect(b, "toggled", + G_CALLBACK(trg_tree_view_sort_menu_type_toggled), + sortableModel); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); + + group = NULL; + + gtk_menu_shell_append(GTK_MENU_SHELL(menu), + gtk_separator_menu_item_new()); for (li = priv->columns; li; li = g_list_next(li)) { - trg_column_description *desc = - (trg_column_description *) li->data; + trg_column_description *desc = (trg_column_description *) li->data; if (!(desc->flags & TRG_COLUMN_HIDE_FROM_TOP_MENU)) { - b = gtk_radio_menu_item_new_with_label(group, desc->header); - group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(b)); + b = gtk_radio_menu_item_new_with_label(group, desc->header); + group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(b)); - if (desc->model_column == sort) - gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), TRUE); + if (desc->model_column == sort) + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(b), + TRUE); - g_object_set_data(G_OBJECT(b), GDATA_KEY_COLUMN_DESC, desc); - g_signal_connect(b, "toggled", G_CALLBACK(trg_tree_view_sort_menu_item_toggled), sortableModel); + g_object_set_data(G_OBJECT(b), GDATA_KEY_COLUMN_DESC, desc); + g_signal_connect(b, "toggled", + G_CALLBACK + (trg_tree_view_sort_menu_item_toggled), + sortableModel); - gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); + gtk_menu_shell_append(GTK_MENU_SHELL(menu), b); } } gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), menu); - return item; + return item; } static void @@ -340,8 +361,8 @@ 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(); @@ -361,7 +382,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(); @@ -397,8 +418,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, gtk_cell_renderer_text_new(); column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "text", - desc-> - model_column, + desc->model_column, NULL); break; @@ -407,8 +427,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "speed-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_EPOCH: @@ -416,8 +435,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "epoch-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_ETA: @@ -425,8 +443,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "eta-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_SIZE: @@ -434,8 +451,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "size-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_PROG: @@ -443,8 +459,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_RATIO: @@ -452,8 +467,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "ratio-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_WANTED: @@ -478,8 +492,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "priority-value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_NUMGTZERO: @@ -487,8 +500,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "value", - desc-> - model_column, + desc->model_column, NULL); break; case TRG_COLTYPE_NUMGTEQZERO: @@ -496,8 +508,7 @@ trg_tree_view_add_column_after(TrgTreeView * tv, column = gtk_tree_view_column_new_with_attributes(desc->header, renderer, "value", - desc-> - model_column, + desc->model_column, NULL); break; default: @@ -539,14 +550,15 @@ trg_tree_view_add_column_after(TrgTreeView * tv, desc->flags |= TRG_COLUMN_SHOWING; } -void trg_tree_view_remove_all_columns(TrgTreeView *tv) { - GtkTreeView *gtv = GTK_TREE_VIEW(tv); - GList *cols = gtk_tree_view_get_columns(gtv); - GList *li; - for (li = cols; li; li = g_list_next(li)) { - gtk_tree_view_remove_column(gtv, GTK_TREE_VIEW_COLUMN(li->data)); - } - g_list_free(cols); +void trg_tree_view_remove_all_columns(TrgTreeView * tv) +{ + GtkTreeView *gtv = GTK_TREE_VIEW(tv); + GList *cols = gtk_tree_view_get_columns(gtv); + GList *li; + for (li = cols; li; li = g_list_next(li)) { + gtk_tree_view_remove_column(gtv, GTK_TREE_VIEW_COLUMN(li->data)); + } + g_list_free(cols); } void trg_tree_view_persist(TrgTreeView * tv, guint flags) @@ -558,56 +570,62 @@ void trg_tree_view_persist(TrgTreeView * tv, guint flags) gint sort_column_id; GtkSortType sort_type; - if (flags & TRG_TREE_VIEW_PERSIST_SORT) { - gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE - ((flags & TRG_TREE_VIEW_SORTABLE_PARENT) ? - gtk_tree_model_filter_get_model - (GTK_TREE_MODEL_FILTER(model)) : - model), &sort_column_id, &sort_type); + if (flags & TRG_TREE_VIEW_PERSIST_SORT) { + gtk_tree_sortable_get_sort_column_id(GTK_TREE_SORTABLE + ((flags & + TRG_TREE_VIEW_SORTABLE_PARENT) + ? + gtk_tree_model_filter_get_model + (GTK_TREE_MODEL_FILTER + (model)) : model), + &sort_column_id, &sort_type); - if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); + if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_COL)) + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_COL); - if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); + if (json_object_has_member(props, TRG_PREFS_KEY_TV_SORT_TYPE)) + json_object_remove_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); - json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_COL, - (gint64) sort_column_id); - json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_TYPE, - (gint64) sort_type); - } + json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_COL, + (gint64) sort_column_id); + json_object_set_int_member(props, TRG_PREFS_KEY_TV_SORT_TYPE, + (gint64) sort_type); + } - if (flags & TRG_TREE_VIEW_PERSIST_LAYOUT) { - cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(tv) ); + if (flags & TRG_TREE_VIEW_PERSIST_LAYOUT) { + cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(tv)); - if (json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); + if (json_object_has_member(props, TRG_PREFS_KEY_TV_WIDTHS)) + json_object_remove_member(props, TRG_PREFS_KEY_TV_WIDTHS); - widths = json_array_new(); - json_object_set_array_member(props, TRG_PREFS_KEY_TV_WIDTHS, widths); + widths = json_array_new(); + json_object_set_array_member(props, TRG_PREFS_KEY_TV_WIDTHS, + widths); - if (json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS)) - json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); + if (json_object_has_member(props, TRG_PREFS_KEY_TV_COLUMNS)) + json_object_remove_member(props, TRG_PREFS_KEY_TV_COLUMNS); - columns = json_array_new(); - json_object_set_array_member(props, TRG_PREFS_KEY_TV_COLUMNS, columns); + columns = json_array_new(); + json_object_set_array_member(props, TRG_PREFS_KEY_TV_COLUMNS, + columns); - for (li = cols; li; li = g_list_next(li)) { - GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; - trg_column_description *desc = g_object_get_data(G_OBJECT(li->data), - GDATA_KEY_COLUMN_DESC); + for (li = cols; li; li = g_list_next(li)) { + GtkTreeViewColumn *col = (GtkTreeViewColumn *) li->data; + trg_column_description *desc = + g_object_get_data(G_OBJECT(li->data), + GDATA_KEY_COLUMN_DESC); - json_array_add_string_element(columns, desc->id); - json_array_add_int_element(widths, - gtk_tree_view_column_get_width(col)); - } + json_array_add_string_element(columns, desc->id); + json_array_add_int_element(widths, + gtk_tree_view_column_get_width + (col)); + } - g_list_free(cols); - } + g_list_free(cols); + } } -void -trg_tree_view_restore_sort(TrgTreeView * tv, guint flags) +void trg_tree_view_restore_sort(TrgTreeView * tv, guint flags) { JsonObject *props = trg_prefs_get_tree_view_props(tv); GtkTreeModel *model = gtk_tree_view_get_model(GTK_TREE_VIEW(tv)); @@ -619,7 +637,9 @@ trg_tree_view_restore_sort(TrgTreeView * tv, guint flags) gint64 sort_type = json_object_get_int_member(props, TRG_PREFS_KEY_TV_SORT_TYPE); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE - ((flags & TRG_TREE_VIEW_SORTABLE_PARENT)? + ((flags & + TRG_TREE_VIEW_SORTABLE_PARENT) + ? gtk_tree_model_filter_get_model (GTK_TREE_MODEL_FILTER (model)) : model), sort_col, @@ -665,8 +685,7 @@ void trg_tree_view_setup_columns(TrgTreeView * tv) json_node_get_string ((JsonNode *) - cli-> - data)); + cli->data)); if (desc) { gint64 width = json_node_get_int((JsonNode *) wli->data); trg_tree_view_add_column(tv, desc, width); diff --git a/src/util.c b/src/util.c index a7d0215..daeac53 100644 --- a/src/util.c +++ b/src/util.c @@ -493,29 +493,31 @@ int tr_snprintf(char *buf, size_t buflen, const char *fmt, ...) gchar *epoch_to_string(gint64 epoch) { #if GLIB_CHECK_VERSION(2, 26, 00) - GDateTime *dt = g_date_time_new_from_unix_local(epoch); - gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); - g_date_time_unref(dt); - return timestring; + GDateTime *dt = g_date_time_new_from_unix_local(epoch); + gchar *timestring = g_date_time_format(dt, "%F %H:%M:%S"); + g_date_time_unref(dt); + return timestring; #else - char buf[64]; - time_t time_val = epoch; - struct tm *ts = localtime(&time_val); - int wrote = strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); - return g_strndup(buf, wrote); + char buf[64]; + time_t time_val = epoch; + struct tm *ts = localtime(&time_val); + int wrote = strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ts); + return g_strndup(buf, wrote); #endif } /* wrap a link in text with a hyperlink, for use in pango markup. * with or without any links - a newly allocated string is returned. */ -gchar *add_links_to_text(const gchar *original) { +gchar *add_links_to_text(const gchar * original) +{ /* only perform replacement if string doesn't contains links */ if (!g_regex_match_simple("", original, 0, 0)) { - GRegex *regex = g_regex_new("(https?://[a-zA-Z0-9_\\-\\./?=]+)", 0, 0, - NULL); + GRegex *regex = + g_regex_new("(https?://[a-zA-Z0-9_\\-\\./?=]+)", 0, 0, + NULL); gchar *newText = g_regex_replace(regex, original, -1, 0, - "\\1", 0, NULL); + "\\1", 0, NULL); g_regex_unref(regex); return newText; } else { @@ -568,13 +570,12 @@ evutil_vsnprintf(char *buf, size_t buflen, const char *format, va_list ap) #endif } -char* -tr_strlsize( char * buf, guint64 bytes, size_t buflen ) +char *tr_strlsize(char *buf, guint64 bytes, size_t buflen) { - if( !bytes ) - g_strlcpy( buf, Q_( "None" ), buflen ); + if (!bytes) + g_strlcpy(buf, Q_("None"), buflen); else - tr_formatter_size_B( buf, bytes, buflen ); + tr_formatter_size_B(buf, bytes, buflen); return buf; } @@ -597,38 +598,40 @@ gboolean should_be_minimised(int argc, char *argv[]) GtkWidget *trg_hbox_new(gboolean homogeneous, gint spacing) { - GtkWidget *box; + GtkWidget *box; #if GTK_CHECK_VERSION( 3, 0, 0 ) - box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, spacing); - gtk_box_set_homogeneous(GTK_BOX(box), homogeneous); + box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, spacing); + gtk_box_set_homogeneous(GTK_BOX(box), homogeneous); #else - box = gtk_hbox_new(homogeneous, spacing); + box = gtk_hbox_new(homogeneous, spacing); #endif - return box; + return box; } GtkWidget *trg_vbox_new(gboolean homogeneous, gint spacing) { - GtkWidget *box; + GtkWidget *box; #if GTK_CHECK_VERSION( 3, 0, 0 ) - box = gtk_box_new(GTK_ORIENTATION_VERTICAL, spacing); - gtk_box_set_homogeneous(GTK_BOX(box), homogeneous); + box = gtk_box_new(GTK_ORIENTATION_VERTICAL, spacing); + gtk_box_set_homogeneous(GTK_BOX(box), homogeneous); #else - box = gtk_vbox_new(homogeneous, spacing); + box = gtk_vbox_new(homogeneous, spacing); #endif - return box; + return box; } #ifdef WIN32 -gchar *trg_win32_support_path(gchar *file) { +gchar *trg_win32_support_path(gchar * file) +{ gchar *moddir = g_win32_get_package_installation_directory_of_module(NULL); gchar *path = g_build_filename(moddir, file, NULL); g_free(moddir); - return path; + return path; } #endif -gboolean is_unity() { - return g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "Unity") == 0; +gboolean is_unity() +{ + return g_strcmp0(g_getenv("XDG_CURRENT_DESKTOP"), "Unity") == 0; } diff --git a/transmission-remote-gtk.pot b/transmission-remote-gtk.pot index 7e8392c..a72ade5 100644 --- a/transmission-remote-gtk.pot +++ b/transmission-remote-gtk.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-06-29 15:38+0100\n" +"POT-Creation-Date: 2012-08-26 13:12+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,54 +18,150 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: src/torrent.c:327 src/torrent.c:347 src/trg-state-selector.c:658 +#: src/torrent.c:344 src/torrent.c:364 src/trg-state-selector.c:658 msgid "Downloading" msgstr "" -#: src/torrent.c:329 +#: src/torrent.c:346 msgid "Queued download" msgstr "" -#: src/torrent.c:331 src/torrent.c:355 +#: src/torrent.c:348 src/torrent.c:372 msgid "Waiting To Check" msgstr "" -#: src/torrent.c:333 src/torrent.c:353 src/trg-state-selector.c:684 +#: src/torrent.c:350 src/torrent.c:370 src/trg-state-selector.c:684 msgid "Checking" msgstr "" -#: src/torrent.c:335 +#: src/torrent.c:352 msgid "Queued seed" msgstr "" -#: src/torrent.c:337 src/torrent.c:351 src/trg-remote-prefs-dialog.c:360 +#: src/torrent.c:354 src/torrent.c:368 src/trg-remote-prefs-dialog.c:360 #: src/trg-state-selector.c:665 src/trg-torrent-props-dialog.c:208 msgid "Seeding" msgstr "" -#: src/torrent.c:339 src/torrent.c:349 src/trg-state-selector.c:672 +#: src/torrent.c:356 src/torrent.c:366 src/torrent-cell-renderer.c:281 +#: src/trg-state-selector.c:672 msgid "Paused" msgstr "" -#: src/torrent.c:359 +#: src/torrent.c:376 msgid "Unknown" msgstr "" +#: src/torrent-cell-renderer.c:162 +#, c-format +msgid "%1$s of %2$s (%3$s)" +msgstr "" + +#: src/torrent-cell-renderer.c:172 +#, c-format +msgid "%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s Goal: %6$s)" +msgstr "" + +#: src/torrent-cell-renderer.c:183 +#, c-format +msgid "%1$s of %2$s (%3$s), uploaded %4$s (Ratio: %5$s)" +msgstr "" + +#: src/torrent-cell-renderer.c:196 +#, c-format +msgid "%1$s, uploaded %2$s (Ratio: %3$s Goal: %4$s)" +msgstr "" + +#: src/torrent-cell-renderer.c:208 +#, c-format +msgid "%1$s, uploaded %2$s (Ratio: %3$s)" +msgstr "" + +#: src/torrent-cell-renderer.c:222 +msgid "Remaining time unknown" +msgstr "" + +#: src/torrent-cell-renderer.c:228 +#, c-format +msgid "%s remaining" +msgstr "" + +#: src/torrent-cell-renderer.c:252 +#, c-format +msgid "%1$s %2$s, %3$s %4$s" +msgstr "" + +#: src/torrent-cell-renderer.c:257 src/torrent-cell-renderer.c:261 +#, c-format +msgid "%1$s %2$s" +msgstr "" + +#: src/torrent-cell-renderer.c:266 +msgid "Idle" +msgstr "" + +#: src/torrent-cell-renderer.c:281 +msgid "Finished" +msgstr "" + +#: src/torrent-cell-renderer.c:283 +msgid "Queued for verification" +msgstr "" + +#: src/torrent-cell-renderer.c:285 +msgid "Queued for download" +msgstr "" + +#: src/torrent-cell-renderer.c:287 +msgid "Queued for seeding" +msgstr "" + +#: src/torrent-cell-renderer.c:290 +#, c-format +msgid "Verifying data (%1$s tested)" +msgstr "" + +#: src/torrent-cell-renderer.c:297 +#, c-format +msgid "Ratio %s" +msgstr "" + +#: src/torrent-cell-renderer.c:326 +#, c-format +msgid "Downloading from %1$li of %2$li connected peer" +msgid_plural "Downloading from %1$li of %2$li connected peers" +msgstr[0] "" +msgstr[1] "" + +#: src/torrent-cell-renderer.c:333 +#, c-format +msgid "Downloading metadata from %1$li peer (%2$s done)" +msgid_plural "Downloading metadata from %1$li peers (%2$s done)" +msgstr[0] "" +msgstr[1] "" + +#: src/torrent-cell-renderer.c:340 +#, c-format +msgid "Seeding to %1$li of %2$li connected peer" +msgid_plural "Seeding to %1$li of %2$li connected peers" +msgstr[0] "" +msgstr[1] "" + #: src/trg-about-window.c:74 msgid "A remote client to transmission-daemon." msgstr "" -#: src/trg-cell-renderer-priority.c:74 src/trg-main-window.c:1991 +#: src/trg-cell-renderer-priority.c:74 src/trg-main-window.c:1994 #: src/trg-torrent-add-dialog.c:450 src/trg-torrent-props-dialog.c:179 msgid "Low" msgstr "" -#: src/trg-cell-renderer-priority.c:76 src/trg-main-window.c:1987 +#: src/trg-cell-renderer-priority.c:76 src/trg-main-window.c:1990 #: src/trg-torrent-add-dialog.c:451 src/trg-torrent-props-dialog.c:179 msgid "High" msgstr "" -#: src/trg-cell-renderer-priority.c:78 src/trg-main-window.c:1989 +#: src/trg-cell-renderer-priority.c:78 src/trg-main-window.c:1992 #: src/trg-torrent-add-dialog.c:450 src/trg-torrent-props-dialog.c:179 msgid "Normal" msgstr "" @@ -74,13 +170,13 @@ msgstr "" msgid "Mixed" msgstr "" -#: src/trg-files-tree-view.c:185 src/trg-general-panel.c:275 -#: src/trg-torrent-add-dialog.c:348 src/trg-torrent-tree-view.c:42 +#: src/trg-files-tree-view.c:185 src/trg-general-panel.c:277 +#: src/trg-torrent-add-dialog.c:348 src/trg-torrent-tree-view.c:52 msgid "Name" msgstr "" -#: src/trg-files-tree-view.c:189 src/trg-general-panel.c:278 -#: src/trg-torrent-add-dialog.c:366 src/trg-torrent-tree-view.c:47 +#: src/trg-files-tree-view.c:189 src/trg-general-panel.c:280 +#: src/trg-torrent-add-dialog.c:366 src/trg-torrent-tree-view.c:57 msgid "Size" msgstr "" @@ -93,8 +189,8 @@ msgstr "" msgid "Download" msgstr "" -#: src/trg-files-tree-view.c:195 src/trg-main-window.c:1980 -#: src/trg-torrent-add-dialog.c:395 src/trg-torrent-tree-view.c:122 +#: src/trg-files-tree-view.c:195 src/trg-main-window.c:1983 +#: src/trg-torrent-add-dialog.c:395 src/trg-torrent-tree-view.c:132 msgid "Priority" msgstr "" @@ -122,7 +218,7 @@ msgstr "" msgid "Collapse All" msgstr "" -#: src/trg-general-panel.c:152 src/trg-general-panel.c:211 +#: src/trg-general-panel.c:152 src/trg-general-panel.c:213 msgid "N/A" msgstr "" @@ -134,355 +230,371 @@ msgstr "" msgid "(Public)" msgstr "" -#: src/trg-general-panel.c:199 src/trg-main-window.c:1075 -#: src/trg-main-window.c:1486 src/trg-main-window.c:2115 +#: src/trg-general-panel.c:201 src/trg-main-window.c:1081 +#: src/trg-main-window.c:1492 src/trg-main-window.c:2118 #: src/trg-state-selector.c:538 src/trg-torrent-add-url-dialog.c:67 #: src/util.c:331 msgid "Error" msgstr "" -#: src/trg-general-panel.c:280 src/trg-torrent-tree-view.c:100 +#: src/trg-general-panel.c:282 src/trg-torrent-tree-view.c:110 msgid "ETA" msgstr "" -#: src/trg-general-panel.c:282 src/trg-torrent-tree-view.c:128 +#: src/trg-general-panel.c:284 src/trg-torrent-tree-view.c:138 msgid "Completed" msgstr "" -#: src/trg-general-panel.c:285 +#: src/trg-general-panel.c:287 msgid "Seeders" msgstr "" -#: src/trg-general-panel.c:287 +#: src/trg-general-panel.c:289 msgid "Rate Down" msgstr "" -#: src/trg-general-panel.c:289 src/trg-torrent-tree-view.c:105 +#: src/trg-general-panel.c:291 src/trg-torrent-tree-view.c:115 msgid "Downloaded" msgstr "" -#: src/trg-general-panel.c:292 src/trg-torrent-tree-view.c:58 +#: src/trg-general-panel.c:294 src/trg-torrent-tree-view.c:68 msgid "Leechers" msgstr "" -#: src/trg-general-panel.c:294 +#: src/trg-general-panel.c:296 msgid "Rate Up" msgstr "" -#: src/trg-general-panel.c:296 src/trg-torrent-tree-view.c:102 +#: src/trg-general-panel.c:298 src/trg-torrent-tree-view.c:112 msgid "Uploaded" msgstr "" -#: src/trg-general-panel.c:299 src/trg-torrent-tree-view.c:51 +#: src/trg-general-panel.c:301 src/trg-torrent-tree-view.c:61 msgid "Status" msgstr "" -#: src/trg-general-panel.c:301 src/trg-torrent-tree-view.c:108 +#: src/trg-general-panel.c:303 src/trg-torrent-tree-view.c:118 msgid "Ratio" msgstr "" -#: src/trg-general-panel.c:304 +#: src/trg-general-panel.c:306 msgid "Comment" msgstr "" -#: src/trg-general-panel.c:307 +#: src/trg-general-panel.c:309 msgid "Completed At" msgstr "" -#: src/trg-general-panel.c:311 src/trg-torrent-tree-view.c:116 +#: src/trg-general-panel.c:313 src/trg-torrent-tree-view.c:126 msgid "Location" msgstr "" -#: src/trg-main-window.c:360 +#: src/trg-main-window.c:362 msgid "This torrent has completed." msgstr "" -#: src/trg-main-window.c:372 +#: src/trg-main-window.c:374 msgid "This torrent has been added." msgstr "" -#: src/trg-main-window.c:579 +#: src/trg-main-window.c:585 msgid "No hostname set" msgstr "" -#: src/trg-main-window.c:582 +#: src/trg-main-window.c:588 msgid "Unknown error getting settings" msgstr "" -#: src/trg-main-window.c:597 +#: src/trg-main-window.c:603 msgid "Connecting..." msgstr "" -#: src/trg-main-window.c:855 +#: src/trg-main-window.c:861 #, c-format msgid "Remove torrent \"%s\"?" msgstr "" -#: src/trg-main-window.c:856 +#: src/trg-main-window.c:862 #, c-format msgid "Remove %d torrents?" msgstr "" -#: src/trg-main-window.c:878 +#: src/trg-main-window.c:884 #, c-format msgid "Remove and delete torrent \"%s\"?" msgstr "" -#: src/trg-main-window.c:880 +#: src/trg-main-window.c:886 #, c-format msgid "Remove and delete %d torrents?" msgstr "" -#: src/trg-main-window.c:963 src/trg-preferences-dialog.c:896 +#: src/trg-main-window.c:969 src/trg-preferences-dialog.c:896 #: src/trg-remote-prefs-dialog.c:693 msgid "General" msgstr "" -#: src/trg-main-window.c:971 +#: src/trg-main-window.c:977 msgid "Trackers" msgstr "" -#: src/trg-main-window.c:979 +#: src/trg-main-window.c:985 msgid "Files" msgstr "" -#: src/trg-main-window.c:986 src/trg-remote-prefs-dialog.c:399 +#: src/trg-main-window.c:992 src/trg-remote-prefs-dialog.c:399 #: src/trg-torrent-props-dialog.c:226 src/trg-trackers-tree-view.c:190 msgid "Peers" msgstr "" -#: src/trg-main-window.c:1067 +#: src/trg-main-window.c:1073 #, c-format msgid "This application supports Transmission %g and later, you have %g." msgstr "" -#: src/trg-main-window.c:1132 src/trg-status-bar.c:74 src/trg-status-bar.c:104 +#: src/trg-main-window.c:1138 src/trg-status-bar.c:74 src/trg-status-bar.c:104 msgid "Disconnected" msgstr "" -#: src/trg-main-window.c:1177 +#: src/trg-main-window.c:1183 #, c-format msgid "%d Downloading @ %s" msgstr "" -#: src/trg-main-window.c:1184 +#: src/trg-main-window.c:1190 #, c-format msgid "%d Seeding @ %s" msgstr "" -#: src/trg-main-window.c:1237 +#: src/trg-main-window.c:1243 #, c-format msgid "Request %d/%d failed: %s" msgstr "" -#: src/trg-main-window.c:2035 +#: src/trg-main-window.c:2038 msgid "No Limit" msgstr "" -#: src/trg-main-window.c:2136 src/trg-menu-bar.c:569 src/trg-toolbar.c:223 +#: src/trg-main-window.c:2139 src/trg-menu-bar.c:646 src/trg-toolbar.c:223 msgid "Properties" msgstr "" -#: src/trg-main-window.c:2139 src/trg-toolbar.c:216 +#: src/trg-main-window.c:2142 src/trg-toolbar.c:216 msgid "Resume" msgstr "" -#: src/trg-main-window.c:2142 src/trg-toolbar.c:219 +#: src/trg-main-window.c:2145 src/trg-toolbar.c:219 msgid "Pause" msgstr "" -#: src/trg-main-window.c:2145 +#: src/trg-main-window.c:2148 msgid "Verify" msgstr "" -#: src/trg-main-window.c:2148 +#: src/trg-main-window.c:2151 msgid "Re-announce" msgstr "" -#: src/trg-main-window.c:2151 src/trg-torrent-move-dialog.c:119 +#: src/trg-main-window.c:2154 src/trg-torrent-move-dialog.c:119 #: src/trg-torrent-move-dialog.c:126 msgid "Move" msgstr "" -#: src/trg-main-window.c:2154 src/trg-menu-bar.c:600 src/trg-toolbar.c:227 +#: src/trg-main-window.c:2157 src/trg-menu-bar.c:677 src/trg-toolbar.c:227 msgid "Remove" msgstr "" -#: src/trg-main-window.c:2157 +#: src/trg-main-window.c:2160 msgid "Remove & Delete" msgstr "" -#: src/trg-main-window.c:2181 src/trg-preferences-dialog.c:906 +#: src/trg-main-window.c:2184 src/trg-preferences-dialog.c:906 msgid "Actions" msgstr "" -#: src/trg-main-window.c:2210 src/trg-menu-bar.c:616 +#: src/trg-main-window.c:2213 src/trg-menu-bar.c:693 msgid "Start Now" msgstr "" -#: src/trg-main-window.c:2213 src/trg-menu-bar.c:621 +#: src/trg-main-window.c:2216 src/trg-menu-bar.c:698 msgid "Move Up Queue" msgstr "" -#: src/trg-main-window.c:2216 src/trg-menu-bar.c:628 +#: src/trg-main-window.c:2219 src/trg-menu-bar.c:705 msgid "Move Down Queue" msgstr "" -#: src/trg-main-window.c:2219 src/trg-menu-bar.c:635 +#: src/trg-main-window.c:2222 src/trg-menu-bar.c:712 msgid "Bottom Of Queue" msgstr "" -#: src/trg-main-window.c:2222 src/trg-menu-bar.c:639 +#: src/trg-main-window.c:2225 src/trg-menu-bar.c:716 msgid "Top Of Queue" msgstr "" -#: src/trg-main-window.c:2231 src/trg-main-window.c:2314 +#: src/trg-main-window.c:2234 src/trg-main-window.c:2317 msgid "Down Limit" msgstr "" -#: src/trg-main-window.c:2236 src/trg-main-window.c:2318 +#: src/trg-main-window.c:2239 src/trg-main-window.c:2321 msgid "Up Limit" msgstr "" -#: src/trg-main-window.c:2265 src/trg-main-window.c:2272 +#: src/trg-main-window.c:2268 src/trg-main-window.c:2275 #: src/trg-remote-prefs-dialog.c:497 msgid "Updating..." msgstr "" -#: src/trg-main-window.c:2286 src/trg-menu-bar.c:528 src/trg-toolbar.c:196 +#: src/trg-main-window.c:2289 src/trg-menu-bar.c:605 src/trg-toolbar.c:196 msgid "Connect" msgstr "" -#: src/trg-main-window.c:2293 src/trg-toolbar.c:206 +#: src/trg-main-window.c:2296 src/trg-toolbar.c:206 msgid "Disconnect" msgstr "" -#: src/trg-main-window.c:2297 src/trg-toolbar.c:209 +#: src/trg-main-window.c:2300 src/trg-toolbar.c:209 #: src/trg-trackers-tree-view.c:284 src/trg-trackers-tree-view.c:311 msgid "Add" msgstr "" -#: src/trg-main-window.c:2301 +#: src/trg-main-window.c:2304 msgid "Add from URL" msgstr "" -#: src/trg-main-window.c:2305 +#: src/trg-main-window.c:2308 msgid "Resume All" msgstr "" -#: src/trg-main-window.c:2309 +#: src/trg-main-window.c:2312 msgid "Pause All" msgstr "" -#: src/trg-main-window.c:2325 +#: src/trg-main-window.c:2328 msgid "Quit" msgstr "" -#: src/trg-main-window.c:2416 src/trg-menu-bar.c:430 +#: src/trg-main-window.c:2439 src/trg-menu-bar.c:507 msgid "Graph" msgstr "" -#: src/trg-main-window.c:2596 +#: src/trg-main-window.c:2621 msgid "Transmission Remote" msgstr "" -#: src/trg-menu-bar.c:391 +#: src/trg-menu-bar.c:453 msgid "_View" msgstr "" -#: src/trg-menu-bar.c:398 src/trg-preferences-dialog.c:674 +#: src/trg-menu-bar.c:459 +msgid "Transmission Style" +msgstr "" + +#: src/trg-menu-bar.c:462 +msgid "Transmission Compact Style" +msgstr "" + +#: src/trg-menu-bar.c:465 +msgid "Classic Style" +msgstr "" + +#: src/trg-menu-bar.c:470 +msgid "Sort" +msgstr "" + +#: src/trg-menu-bar.c:475 src/trg-preferences-dialog.c:674 msgid "State selector" msgstr "" -#: src/trg-menu-bar.c:404 src/trg-preferences-dialog.c:681 +#: src/trg-menu-bar.c:481 src/trg-preferences-dialog.c:681 msgid "Directory filters" msgstr "" -#: src/trg-menu-bar.c:413 src/trg-preferences-dialog.c:688 +#: src/trg-menu-bar.c:490 src/trg-preferences-dialog.c:688 msgid "Tracker filters" msgstr "" -#: src/trg-menu-bar.c:422 src/trg-preferences-dialog.c:695 +#: src/trg-menu-bar.c:499 src/trg-preferences-dialog.c:695 msgid "Torrent Details" msgstr "" -#: src/trg-menu-bar.c:436 +#: src/trg-menu-bar.c:513 msgid "_Statistics" msgstr "" -#: src/trg-menu-bar.c:448 +#: src/trg-menu-bar.c:525 msgid "_Options" msgstr "" -#: src/trg-menu-bar.c:454 +#: src/trg-menu-bar.c:531 msgid "_Local Preferences" msgstr "" -#: src/trg-menu-bar.c:461 +#: src/trg-menu-bar.c:538 msgid "_Remote Preferences" msgstr "" -#: src/trg-menu-bar.c:521 +#: src/trg-menu-bar.c:598 msgid "_File" msgstr "" -#: src/trg-menu-bar.c:534 +#: src/trg-menu-bar.c:611 msgid "_Disconnect" msgstr "" -#: src/trg-menu-bar.c:540 +#: src/trg-menu-bar.c:617 msgid "_Add" msgstr "" -#: src/trg-menu-bar.c:545 +#: src/trg-menu-bar.c:622 msgid "Add from _URL" msgstr "" -#: src/trg-menu-bar.c:551 +#: src/trg-menu-bar.c:628 msgid "_Quit" msgstr "" -#: src/trg-menu-bar.c:562 +#: src/trg-menu-bar.c:639 msgid "_Torrent" msgstr "" -#: src/trg-menu-bar.c:574 +#: src/trg-menu-bar.c:651 msgid "_Resume" msgstr "" -#: src/trg-menu-bar.c:579 +#: src/trg-menu-bar.c:656 msgid "_Pause" msgstr "" -#: src/trg-menu-bar.c:584 +#: src/trg-menu-bar.c:661 msgid "_Verify" msgstr "" -#: src/trg-menu-bar.c:590 +#: src/trg-menu-bar.c:667 msgid "Re-_announce" msgstr "" -#: src/trg-menu-bar.c:595 +#: src/trg-menu-bar.c:672 msgid "_Move" msgstr "" -#: src/trg-menu-bar.c:606 +#: src/trg-menu-bar.c:683 msgid "Remove and Delete" msgstr "" -#: src/trg-menu-bar.c:647 +#: src/trg-menu-bar.c:724 msgid "_Resume All" msgstr "" -#: src/trg-menu-bar.c:653 +#: src/trg-menu-bar.c:730 msgid "_Pause All" msgstr "" -#: src/trg-menu-bar.c:665 +#: src/trg-menu-bar.c:742 msgid "_Help" msgstr "" -#: src/trg-menu-bar.c:671 +#: src/trg-menu-bar.c:748 msgid "_About" msgstr "" @@ -498,11 +610,11 @@ msgstr "" msgid "Country" msgstr "" -#: src/trg-peers-tree-view.c:61 src/trg-torrent-tree-view.c:94 +#: src/trg-peers-tree-view.c:61 src/trg-torrent-tree-view.c:104 msgid "Down Speed" msgstr "" -#: src/trg-peers-tree-view.c:63 src/trg-torrent-tree-view.c:97 +#: src/trg-peers-tree-view.c:63 src/trg-torrent-tree-view.c:107 msgid "Up Speed" msgstr "" @@ -550,7 +662,7 @@ msgstr "" msgid "Options dialog on add" msgstr "" -#: src/trg-preferences-dialog.c:445 src/trg-torrent-add-dialog.c:763 +#: src/trg-preferences-dialog.c:445 src/trg-torrent-add-dialog.c:761 msgid "Delete local .torrent file after adding" msgstr "" @@ -986,31 +1098,31 @@ msgstr "" msgid "Add a Torrent" msgstr "" -#: src/trg-torrent-add-dialog.c:731 +#: src/trg-torrent-add-dialog.c:729 msgid "Add Torrent" msgstr "" -#: src/trg-torrent-add-dialog.c:756 +#: src/trg-torrent-add-dialog.c:754 msgid "Start _paused" msgstr "" -#: src/trg-torrent-add-dialog.c:772 +#: src/trg-torrent-add-dialog.c:770 msgid "_Torrent file:" msgstr "" -#: src/trg-torrent-add-dialog.c:792 +#: src/trg-torrent-add-dialog.c:787 msgid "_Destination folder:" msgstr "" -#: src/trg-torrent-add-dialog.c:812 +#: src/trg-torrent-add-dialog.c:803 msgid "Apply to all:" msgstr "" -#: src/trg-torrent-add-dialog.c:823 +#: src/trg-torrent-add-dialog.c:812 msgid "Torrent _priority:" msgstr "" -#: src/trg-torrent-add-dialog.c:929 +#: src/trg-torrent-add-dialog.c:914 msgid "Show _options dialog" msgstr "" @@ -1040,7 +1152,7 @@ msgstr "" msgid "Total Downloading" msgstr "" -#: src/trg-torrent-model.c:383 +#: src/trg-torrent-model.c:394 msgid "Default" msgstr "" @@ -1107,75 +1219,75 @@ msgstr "" msgid "Multiple (%d) torrent properties" msgstr "" -#: src/trg-torrent-tree-view.c:49 +#: src/trg-torrent-tree-view.c:59 msgid "Done" msgstr "" -#: src/trg-torrent-tree-view.c:53 +#: src/trg-torrent-tree-view.c:63 msgid "Seeds" msgstr "" -#: src/trg-torrent-tree-view.c:55 +#: src/trg-torrent-tree-view.c:65 msgid "Sending" msgstr "" -#: src/trg-torrent-tree-view.c:61 +#: src/trg-torrent-tree-view.c:71 msgid "Downloads" msgstr "" -#: src/trg-torrent-tree-view.c:64 +#: src/trg-torrent-tree-view.c:74 msgid "Receiving" msgstr "" -#: src/trg-torrent-tree-view.c:68 +#: src/trg-torrent-tree-view.c:78 msgid "Connected" msgstr "" -#: src/trg-torrent-tree-view.c:70 +#: src/trg-torrent-tree-view.c:80 msgid "PEX Peers" msgstr "" -#: src/trg-torrent-tree-view.c:73 +#: src/trg-torrent-tree-view.c:83 msgid "DHT Peers" msgstr "" -#: src/trg-torrent-tree-view.c:77 +#: src/trg-torrent-tree-view.c:87 msgid "Tracker Peers" msgstr "" -#: src/trg-torrent-tree-view.c:80 +#: src/trg-torrent-tree-view.c:90 msgid "LTEP Peers" msgstr "" -#: src/trg-torrent-tree-view.c:83 +#: src/trg-torrent-tree-view.c:93 msgid "Resumed Peers" msgstr "" -#: src/trg-torrent-tree-view.c:87 +#: src/trg-torrent-tree-view.c:97 msgid "Incoming Peers" msgstr "" -#: src/trg-torrent-tree-view.c:91 +#: src/trg-torrent-tree-view.c:101 msgid "Peers T/I/E/H/X/L/R" msgstr "" -#: src/trg-torrent-tree-view.c:110 +#: src/trg-torrent-tree-view.c:120 msgid "Added" msgstr "" -#: src/trg-torrent-tree-view.c:113 +#: src/trg-torrent-tree-view.c:123 msgid "First Tracker" msgstr "" -#: src/trg-torrent-tree-view.c:119 +#: src/trg-torrent-tree-view.c:129 msgid "ID" msgstr "" -#: src/trg-torrent-tree-view.c:125 +#: src/trg-torrent-tree-view.c:135 msgid "Queue Position" msgstr "" -#: src/trg-torrent-tree-view.c:131 +#: src/trg-torrent-tree-view.c:141 msgid "Last Active" msgstr "" @@ -1215,6 +1327,14 @@ msgstr "" msgid "Delete" msgstr "" +#: src/trg-tree-view.c:253 +msgid "Ascending" +msgstr "" + +#: src/trg-tree-view.c:259 +msgid "Descending" +msgstr "" + #: src/util.c:340 msgid "JSON decoding error." msgstr "" @@ -1228,32 +1348,32 @@ msgstr "" msgid "Request failed with HTTP code %d" msgstr "" -#: src/util.c:388 +#: src/util.c:383 msgid "None" msgstr "" -#: src/util.c:434 +#: src/util.c:429 #, c-format msgid "%d day" msgid_plural "%d days" msgstr[0] "" msgstr[1] "" -#: src/util.c:435 +#: src/util.c:430 #, c-format msgid "%d hour" msgid_plural "%d hours" msgstr[0] "" msgstr[1] "" -#: src/util.c:437 +#: src/util.c:432 #, c-format msgid "%d minute" msgid_plural "%d minutes" msgstr[0] "" msgstr[1] "" -#: src/util.c:440 +#: src/util.c:435 #, c-format msgid "%ld second" msgid_plural "%ld seconds" -- cgit v1.2.3