Ignore:
Timestamp:
Mar 10, 2009, 3:24:41 PM (13 years ago)
Author:
charles
Message:

(1.5x gtk) launchpad bug #338046: XDG_DOWNLOAD_DIR isn't honored in gtk client

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/1.5x/gtk/conf.c

    r7664 r8048  
    4040
    4141#include "conf.h"
     42#include "tr-prefs.h"
    4243#include "util.h"
    4344
     
    144145***/
    145146
     147static void cf_check_older_configs( void );
     148
     149/**
     150 * This is where we initialize the preferences file with the default values.
     151 * If you add a new preferences key, you /must/ add a default value here.
     152 */
     153static void
     154tr_prefs_init_defaults( tr_benc * d )
     155{
     156    const char * str;
     157
     158    cf_check_older_configs( );
     159
     160#ifdef HAVE_GIO
     161    str = NULL;
     162    if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
     163    if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DESKTOP );
     164    if( !str ) str = tr_getDefaultDownloadDir( );
     165    tr_bencDictAddStr( d, PREF_KEY_DIR_WATCH, str );
     166    tr_bencDictAddInt( d, PREF_KEY_DIR_WATCH_ENABLED, FALSE );
     167#endif
     168
     169    tr_bencDictAddInt( d, PREF_KEY_INHIBIT_HIBERNATION, FALSE );
     170    tr_bencDictAddInt( d, PREF_KEY_BLOCKLIST_UPDATES_ENABLED, TRUE );
     171
     172    tr_bencDictAddStr( d, PREF_KEY_OPEN_DIALOG_FOLDER, g_get_home_dir( ) );
     173
     174    tr_bencDictAddInt( d, PREF_KEY_TOOLBAR, TRUE );
     175    tr_bencDictAddInt( d, PREF_KEY_FILTERBAR, TRUE );
     176    tr_bencDictAddInt( d, PREF_KEY_STATUSBAR, TRUE );
     177    tr_bencDictAddInt( d, PREF_KEY_SHOW_TRAY_ICON, FALSE );
     178    tr_bencDictAddInt( d, PREF_KEY_SHOW_DESKTOP_NOTIFICATION, TRUE );
     179    tr_bencDictAddStr( d, PREF_KEY_STATUSBAR_STATS, "total-ratio" );
     180
     181    tr_bencDictAddInt( d, PREF_KEY_SCHED_LIMIT_ENABLED, FALSE );
     182    tr_bencDictAddInt( d, PREF_KEY_SCHED_BEGIN,    60 * 23 ); /* 11pm */
     183    tr_bencDictAddInt( d, PREF_KEY_SCHED_END,      60 * 7 );  /* 7am */
     184    tr_bencDictAddInt( d, PREF_KEY_SCHED_DL_LIMIT, 200 );   /* 2x the other limit */
     185    tr_bencDictAddInt( d, PREF_KEY_SCHED_UL_LIMIT, 100 );   /* 2x the other limit */
     186
     187    tr_bencDictAddInt( d, PREF_KEY_OPTIONS_PROMPT, TRUE );
     188
     189    tr_bencDictAddInt( d, PREF_KEY_MAIN_WINDOW_HEIGHT, 500 );
     190    tr_bencDictAddInt( d, PREF_KEY_MAIN_WINDOW_WIDTH, 300 );
     191    tr_bencDictAddInt( d, PREF_KEY_MAIN_WINDOW_X, 50 );
     192    tr_bencDictAddInt( d, PREF_KEY_MAIN_WINDOW_Y, 50 );
     193    tr_bencDictAddStr( d, PREF_KEY_MAIN_WINDOW_LAYOUT_ORDER, "menu,toolbar,filter,list,statusbar" );
     194
     195    str = NULL;
     196#if GLIB_CHECK_VERSION( 2, 14, 0 )
     197    if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
     198#endif
     199    if( !str ) str = tr_getDefaultDownloadDir( );
     200    tr_bencDictAddStr( d, TR_PREFS_KEY_DOWNLOAD_DIR, str );
     201
     202    tr_bencDictAddInt( d, PREF_KEY_ASKQUIT, TRUE );
     203
     204    tr_bencDictAddStr( d, PREF_KEY_SORT_MODE, "sort-by-name" );
     205    tr_bencDictAddInt( d, PREF_KEY_SORT_REVERSED, FALSE );
     206    tr_bencDictAddInt( d, PREF_KEY_MINIMAL_VIEW, FALSE );
     207
     208    tr_bencDictAddInt( d, PREF_KEY_START, TRUE );
     209    tr_bencDictAddInt( d, PREF_KEY_TRASH_ORIGINAL, FALSE );
     210}
     211
    146212static char*
    147213getPrefsFilename( void )
     
    160226    {
    161227        tr_bencInitDict( &settings, 0 );
     228        tr_prefs_init_defaults( &settings );
    162229        tr_sessionLoadSettings( &settings, gl_confdir, MY_NAME );
    163230        loaded = TRUE;
     
    193260}
    194261
    195 void
    196 pref_int_set_default( const char * key,
    197                       int64_t      value )
    198 {
    199     if( !tr_bencDictFind( getPrefs( ), key ) )
    200         pref_int_set( key, value );
    201 }
    202 
    203262/***
    204263****
     
    238297}
    239298
    240 void
    241 pref_flag_set_default( const char * key,
    242                        gboolean     value )
    243 {
    244     pref_int_set_default( key, value != 0 );
    245 }
    246 
    247299/***
    248300****
     
    253305{
    254306    const char * str = NULL;
    255 
    256307    tr_bencDictFindStr( getPrefs( ), key, &str );
    257308    return str;
     
    259310
    260311void
    261 pref_string_set( const char * key,
    262                  const char * value )
     312pref_string_set( const char * key, const char * value )
    263313{
    264314    tr_bencDictAddStr( getPrefs( ), key, value );
    265 }
    266 
    267 void
    268 pref_string_set_default( const char * key,
    269                          const char * value )
    270 {
    271     if( !tr_bencDictFind( getPrefs( ), key ) )
    272         pref_string_set( key, value );
    273315}
    274316
     
    447489}
    448490
    449 void
     491static void
    450492cf_check_older_configs( void )
    451493{
     
    460502        if( g_file_test( key1, G_FILE_TEST_IS_REGULAR ) )
    461503        {
     504            g_message( _( "Importing \"%s\"" ), key1 );
    462505            translate_keyfile_to_json( key1, filename );
    463506        }
    464507        else if( g_file_test( key2, G_FILE_TEST_IS_REGULAR ) )
    465508        {
     509            g_message( _( "Importing \"%s\"" ), key2 );
    466510            translate_keyfile_to_json( key2, filename );
    467511        }
     
    469513        {
    470514            char * tmpfile;
    471             int    fd =
    472                 g_file_open_tmp( "transmission-prefs-XXXXXX", &tmpfile,
    473                                  NULL );
     515            int    fd = g_file_open_tmp( "transmission-prefs-XXXXXX", &tmpfile, NULL );
     516            g_message( _( "Importing \"%s\"" ), benc );
    474517            if( fd != -1 ) close( fd );
    475518            translate_08_to_09( benc, tmpfile );
     
    485528    g_free( filename );
    486529}
    487 
Note: See TracChangeset for help on using the changeset viewer.