rendered paste bodydiff -ru transmission-1.75-original/gtk/add-dialog.c transmission-1.75/gtk/add-dialog.c--- transmission-1.75-original/gtk/add-dialog.c 2009-10-03 14:03:28.000000000 -0300+++ transmission-1.75/gtk/add-dialog.c 2009-10-03 19:30:59.000000000 -0300@@ -17,6 +17,7 @@ #include "file-list.h" #include "hig.h" #include "tr-prefs.h"+#include "libtransmission/utils.h" /**** *****@@ -285,8 +286,12 @@ GTK_RESPONSE_CANCEL, -1 ); - if( tr_ctorGetDownloadDir( ctor, TR_FORCE, &str ) )- g_assert_not_reached( );+ if ( pref_flag_get( PREF_KEY_DOWNLOAD_SAME_DIR ) ) {+ str = tr_dirname( tr_strdup( tr_ctorGetSourceFile( ctor ) ) );+ } else {+ if( tr_ctorGetDownloadDir( ctor, TR_FORCE, &str ) )+ g_assert_not_reached( );+ } g_assert( str ); data = g_new0( struct AddData, 1 );diff -ru transmission-1.75-original/gtk/conf.c transmission-1.75/gtk/conf.c--- transmission-1.75-original/gtk/conf.c 2009-10-03 14:03:28.000000000 -0300+++ transmission-1.75/gtk/conf.c 2009-10-03 14:20:54.000000000 -0300@@ -192,6 +192,7 @@ #endif if( !str ) str = tr_getDefaultDownloadDir( ); tr_bencDictAddStr( d, TR_PREFS_KEY_DOWNLOAD_DIR, str );+ tr_bencDictAddBool( d, PREF_KEY_DOWNLOAD_SAME_DIR, FALSE ); tr_bencDictAddBool( d, PREF_KEY_ASKQUIT, TRUE ); diff -ru transmission-1.75-original/gtk/tr-prefs.c transmission-1.75/gtk/tr-prefs.c--- transmission-1.75-original/gtk/tr-prefs.c 2009-10-03 14:03:28.000000000 -0300+++ transmission-1.75/gtk/tr-prefs.c 2009-10-03 15:08:09.000000000 -0300@@ -305,6 +305,10 @@ w = new_path_chooser_button( TR_PREFS_KEY_DOWNLOAD_DIR, core ); hig_workarea_add_row( t, &row, _( "Save to _Location:" ), w, NULL ); + s = _( "Save to the same directory as torrent file" );+ w = new_check_button( s, PREF_KEY_DOWNLOAD_SAME_DIR, core );+ hig_workarea_add_wide_control( t, &row, w );+ hig_workarea_add_section_divider( t, &row ); hig_workarea_add_section_title( t, &row, _( "Limits" ) ); diff -ru transmission-1.75-original/gtk/tr-prefs.h transmission-1.75/gtk/tr-prefs.h--- transmission-1.75-original/gtk/tr-prefs.h 2009-10-03 14:03:28.000000000 -0300+++ transmission-1.75/gtk/tr-prefs.h 2009-10-03 14:38:55.000000000 -0300@@ -26,6 +26,7 @@ #define PREF_KEY_INHIBIT_HIBERNATION "inhibit-desktop-hibernation" #define PREF_KEY_DIR_WATCH "watch-dir" #define PREF_KEY_DIR_WATCH_ENABLED "watch-dir-enabled"+#define PREF_KEY_DOWNLOAD_SAME_DIR "download-same-dir" #define PREF_KEY_SHOW_TRAY_ICON "show-notification-area-icon" #define PREF_KEY_SHOW_DESKTOP_NOTIFICATION "show-desktop-notification" #define PREF_KEY_START "start-added-torrents"