Changeset 3209
- Timestamp:
- Sep 28, 2007, 12:46:22 AM (15 years ago)
- Location:
- trunk/gtk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gtk/conf.c
r3206 r3209 36 36 #include <glib.h> 37 37 #include <glib/gi18n.h> 38 #include <glib/gstdio.h> 38 39 39 40 #include <libtransmission/transmission.h> … … 159 160 160 161 static void 161 cf_removelocks(void) { 162 if(NULL != gl_lockpath) { 163 unlink(gl_lockpath); 164 g_free(gl_lockpath); 165 } 166 167 if(NULL != gl_old_lockpath) { 168 unlink(gl_old_lockpath); 169 g_free(gl_old_lockpath); 170 } 162 cf_removelocks( void ) 163 { 164 g_unlink( gl_lockpath ); 165 g_free( gl_lockpath ); 166 g_unlink( gl_old_lockpath ); 167 g_free( gl_old_lockpath ); 171 168 } 172 169 … … 232 229 getPrefsFilename( void ) 233 230 { 234 return g_build_filename( tr_getPrefsDirectory(), "gtk", "prefs", NULL ); 231 return g_build_filename( tr_getPrefsDirectory(), 232 CONF_SUBDIR, "prefs.ini", NULL ); 235 233 } 236 234 … … 305 303 pref_save(char **errstr) 306 304 { 305 gsize datalen; 307 306 GError * err = NULL; 308 gsize datalen;309 307 char * data; 310 char * filename = getPrefsFilename( ); 308 char * filename; 309 char * path; 310 311 filename = getPrefsFilename( ); 312 path = g_path_get_dirname( filename ); 313 mkdir_p( path, 0755 ); 311 314 312 315 data = g_key_file_to_data( getPrefsKeyFile(), &datalen, &err ); … … 320 323 *errstr = err ? g_strdup( err->message ) : NULL; 321 324 325 g_clear_error( &err ); 326 g_free( data ); 327 g_free( path ); 322 328 g_free( filename ); 323 g_free( data );324 g_clear_error( &err );325 329 } 326 330 -
trunk/gtk/main.c
r3206 r3209 748 748 PREF_KEY_NAT, 749 749 PREF_KEY_PEX, 750 PREF_KEY_SYSTRAY 750 PREF_KEY_SYSTRAY, 751 PREF_KEY_ENCRYPTED_ONLY 751 752 }; 752 753 … … 761 762 tr_handle * tr = tr_core_handle( cbdata->core ); 762 763 763 if( !strcmp( key, PREF_KEY_PORT ) ) 764 if( !strcmp( key, PREF_KEY_ENCRYPTED_ONLY ) ) 765 { 766 const gboolean crypto_only = pref_flag_get( key ); 767 tr_setEncryptionMode( tr, crypto_only ? TR_ENCRYPTION_REQUIRED 768 : TR_ENCRYPTION_PREFERRED ); 769 } 770 else if( !strcmp( key, PREF_KEY_PORT ) ) 764 771 { 765 772 const int port = pref_int_get( key ); … … 793 800 else if( !strcmp( key, PREF_KEY_SYSTRAY ) ) 794 801 { 795 if( pref_flag_get( key ) ) { 802 if( pref_flag_get( key ) ) 803 { 796 804 makeicon( cbdata ); 797 } else if( cbdata->icon ) { 805 } 806 else if( cbdata->icon ) 807 { 798 808 g_object_unref( cbdata->icon ); 799 809 cbdata->icon = NULL; -
trunk/gtk/tr_prefs.c
r3206 r3209 8 8 * the Transmission project. 9 9 * 10 * $Id :$10 * $Id$ 11 11 */ 12 12 … … 41 41 pref_flag_set_default ( PREF_KEY_SYSTRAY, TRUE ); 42 42 pref_flag_set_default ( PREF_KEY_ASKQUIT, TRUE ); 43 pref_flag_set_default ( PREF_KEY_ENCRYPTED_ONLY, FALSE ); 43 44 44 45 pref_string_set_default ( PREF_KEY_ADDSTD, toractionname(TR_TOR_COPY) ); … … 130 131 new_path_chooser_button( const char * key, gpointer core ) 131 132 { 132 GtkWidget * w = gtk_file_chooser_button_new( "asdf", GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ); 133 GtkWidget * w = gtk_file_chooser_button_new( NULL, 134 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ); 133 135 char * path = pref_string_get( key ); 134 136 g_object_set_data_full( G_OBJECT(w), PREFS_KEY, g_strdup(key), g_free ); … … 155 157 new_action_combo( const char * key, gpointer core ) 156 158 { 159 const char * s; 157 160 GtkTreeIter iter; 158 161 GtkCellRenderer * rend; … … 161 164 162 165 model = gtk_list_store_new( 2, G_TYPE_STRING, G_TYPE_INT ); 166 167 s = _("Use the torrent file where it is"); 163 168 gtk_list_store_append( model, &iter ); 164 gtk_list_store_set( model, &iter, 1, TR_TOR_LEAVE, 0, 165 _("Use the torrent file where it is"), -1 ); 169 gtk_list_store_set( model, &iter, 1, TR_TOR_LEAVE, 0, s, -1 ); 170 171 s = _("Keep a copy of the torrent file"); 166 172 gtk_list_store_append( model, &iter ); 167 gtk_list_store_set( model, &iter, 1, TR_TOR_COPY, 0, 168 _("Keep a copy of the torrent file"), -1 ); 173 gtk_list_store_set( model, &iter, 1, TR_TOR_COPY, 0, s, -1 ); 174 175 s = _("Keep a copy and remove the original"); 169 176 gtk_list_store_append( model, &iter ); 170 gtk_list_store_set( model, &iter, 1, TR_TOR_MOVE, 0, 171 _("Keep a copy and remove the original"), -1 ); 177 gtk_list_store_set( model, &iter, 1, TR_TOR_MOVE, 0, s, -1 ); 172 178 173 179 w = gtk_combo_box_new_with_model( GTK_TREE_MODEL(model) ); 174 gtk_combo_box_set_active( GTK_COMBO_BOX(w), pref_int_get(key) );180 gtk_combo_box_set_active( GTK_COMBO_BOX(w), tr_prefs_get_action(key) ); 175 181 g_object_set_data_full( G_OBJECT(w), PREFS_KEY, g_strdup(key), g_free ); 176 182 rend = gtk_cell_renderer_text_new( ); … … 186 192 { 187 193 int row = 0; 194 const char * s; 188 195 GtkWidget * t; 189 196 GtkWidget * w; 190 197 GtkWidget * l; 191 GtkWidget * dialog = gtk_dialog_new_with_buttons( _("Transmission: Preferences"), parent, 192 GTK_DIALOG_DESTROY_WITH_PARENT, 193 GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, 194 NULL ); 195 gtk_window_set_role( GTK_WINDOW(dialog), "transmission-preferences-dialog" ); 196 g_signal_connect( dialog, "response", G_CALLBACK(response_cb), core ); 198 GtkWidget * d; 199 200 d = gtk_dialog_new_with_buttons( _("Transmission: Preferences"), parent, 201 GTK_DIALOG_DESTROY_WITH_PARENT, 202 GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, 203 NULL ); 204 205 gtk_window_set_role( GTK_WINDOW(d), "transmission-preferences-dialog" ); 206 g_signal_connect( d, "response", G_CALLBACK(response_cb), core ); 197 207 198 208 t = hig_workarea_create (); … … 201 211 hig_workarea_add_section_spacer (t, row, 4); 202 212 203 w = new_check_button( _("_Limit Upload Speed"), PREF_KEY_UL_LIMIT_ENABLED, core ); 213 s = _("_Limit Upload Speed"); 214 w = new_check_button( s, PREF_KEY_UL_LIMIT_ENABLED, core ); 204 215 hig_workarea_add_wide_control( t, &row, w ); 205 216 206 217 w = new_spin_button( PREF_KEY_UL_LIMIT, core, 20, INT_MAX ); 207 l = hig_workarea_add_row( t, &row, _("Maximum _Upload Speed (KiB/s)"), w, NULL ); 208 209 w = new_check_button( _("Li_mit Download Speed"), PREF_KEY_DL_LIMIT_ENABLED, core ); 218 s = _("Maximum _Upload Speed (KiB/s)"); 219 l = hig_workarea_add_row( t, &row, s, w, NULL ); 220 221 s = _("Li_mit Download Speed"); 222 w = new_check_button( s, PREF_KEY_DL_LIMIT_ENABLED, core ); 210 223 hig_workarea_add_wide_control( t, &row, w ); 211 224 212 225 w = new_spin_button( PREF_KEY_DL_LIMIT, core, 1, INT_MAX ); 213 l = hig_workarea_add_row( t, &row, _("Maximum _Download Speed (KiB/s)"), w, NULL ); 226 s = _("Maximum _Download Speed (KiB/s)"); 227 l = hig_workarea_add_row( t, &row, s, w, NULL ); 214 228 215 229 hig_workarea_add_section_divider( t, &row ); … … 217 231 hig_workarea_add_section_spacer (t, row, 4); 218 232 219 w = new_check_button( _("Al_ways prompt for download directory"), PREF_KEY_DIR_ASK, core ); 233 s = _("Al_ways prompt for download directory"); 234 w = new_check_button( s, PREF_KEY_DIR_ASK, core ); 220 235 hig_workarea_add_wide_control( t, &row, w ); 221 236 222 237 w = new_path_chooser_button( PREF_KEY_DIR_DEFAULT, core ); 223 l = hig_workarea_add_row( t, &row, _("Download Di_rectory"), w, NULL ); 238 s = _("Download Di_rectory"); 239 l = hig_workarea_add_row( t, &row, s, w, NULL ); 224 240 225 241 w = new_action_combo( PREF_KEY_ADDSTD, core ); 226 l = hig_workarea_add_row( t, &row, _("For torrents added _normally:"), w, NULL ); 242 s = _("For torrents added _normally:"); 243 l = hig_workarea_add_row( t, &row, s, w, NULL ); 227 244 228 245 w = new_action_combo( PREF_KEY_ADDIPC, core ); 229 l = hig_workarea_add_row( t, &row, _("For torrents added from _command-line:"), w, NULL ); 246 s = _("For torrents added from _command-line:"); 247 l = hig_workarea_add_row( t, &row, s, w, NULL ); 230 248 231 249 hig_workarea_add_section_divider( t, &row ); … … 233 251 hig_workarea_add_section_spacer (t, row, 2); 234 252 235 w = new_check_button( _("_Automatic Port Mapping via NAT-PMP or UPnP"), PREF_KEY_NAT, core ); 253 s = _("_Automatic Port Mapping via NAT-PMP or UPnP"); 254 w = new_check_button( s, PREF_KEY_NAT, core ); 236 255 hig_workarea_add_wide_control( t, &row, w ); 237 256 … … 243 262 hig_workarea_add_section_spacer (t, row, 3); 244 263 245 w = new_check_button( _("Use Peer _Exchange if Possible"), PREF_KEY_PEX, core ); 246 hig_workarea_add_wide_control( t, &row, w ); 247 248 w = new_check_button( _("Display an Icon in the System _Tray"), PREF_KEY_SYSTRAY, core ); 249 hig_workarea_add_wide_control( t, &row, w ); 250 251 w = new_check_button( _("Confirm _quit"), PREF_KEY_ASKQUIT, core ); 264 s = _("Use Peer _Exchange if Possible"); 265 w = new_check_button( s, PREF_KEY_PEX, core ); 266 hig_workarea_add_wide_control( t, &row, w ); 267 268 s = _("_Ignore Unencrypted Peers"); 269 w = new_check_button( s, PREF_KEY_ENCRYPTED_ONLY, core ); 270 hig_workarea_add_wide_control( t, &row, w ); 271 272 s = _("Display an Icon in the System _Tray"); 273 w = new_check_button( s, PREF_KEY_SYSTRAY, core ); 274 hig_workarea_add_wide_control( t, &row, w ); 275 276 s = _("Confirm _quit"); 277 w = new_check_button( s, PREF_KEY_ASKQUIT, core ); 252 278 hig_workarea_add_wide_control( t, &row, w ); 253 279 254 280 hig_workarea_finish (t, &row); 255 gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(d ialog)->vbox), t );256 gtk_widget_show_all( GTK_DIALOG(d ialog)->vbox );257 return d ialog;258 } 281 gtk_box_pack_start_defaults( GTK_BOX(GTK_DIALOG(d)->vbox), t ); 282 gtk_widget_show_all( GTK_DIALOG(d)->vbox ); 283 return d; 284 } -
trunk/gtk/tr_prefs.h
r3206 r3209 8 8 * the Transmission project. 9 9 * 10 * $Id :$10 * $Id$ 11 11 */ 12 12 … … 17 17 18 18 GtkWidget * tr_prefs_dialog_new( GObject * core, GtkWindow * parent ); 19 20 /* if you add a key here, you /must/ add its 21 * default in tr_prefs_init_global( void ) */ 19 22 20 23 #define PREF_KEY_DL_LIMIT_ENABLED "download-limit-enabled" … … 31 34 #define PREF_KEY_SYSTRAY "system-tray-icon-enabled" 32 35 #define PREF_KEY_ASKQUIT "prompt-before-exit" 36 #define PREF_KEY_ENCRYPTED_ONLY "encrypted-connections-only" 33 37 #define PREF_KEY_MSGLEVEL "debug-message-level" 34 38
Note: See TracChangeset
for help on using the changeset viewer.