Changeset 8048


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

Location:
branches/1.5x/gtk
Files:
5 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 
  • branches/1.5x/gtk/conf.h

    r7722 r8048  
    3131int64_t          pref_int_get           ( const char * key );
    3232void             pref_int_set           ( const char * key, int64_t value );
    33 void             pref_int_set_default   ( const char * key, int64_t value );
    3433
    3534gboolean         pref_flag_get          ( const char * key );
    3635void             pref_flag_set          ( const char * key, gboolean value );
    37 void             pref_flag_set_default  ( const char * key, gboolean value );
    3836
    3937const char*      pref_string_get        ( const char * key );
    4038void             pref_string_set        ( const char * key, const char * value );
    41 void             pref_string_set_default( const char * key, const char * value );
    4239
    4340void             pref_save              ( tr_session * );
     
    7168                  char **              errstr );
    7269
    73 void     cf_check_older_configs( void );
    74 
    7570#endif /* TG_CONF_H */
  • branches/1.5x/gtk/main.c

    r8027 r8048  
    407407    tr_notify_init( );
    408408    didinit = cf_init( configDir, NULL ); /* must come before actions_init */
    409     tr_prefs_init_defaults( );
    410409
    411410    myUIManager = gtk_ui_manager_new ( );
  • branches/1.5x/gtk/tr-prefs.c

    r8038 r8048  
    2828#include "tr-prefs.h"
    2929#include "util.h"
    30 
    31 /**
    32  * This is where we initialize the preferences file with the default values.
    33  * If you add a new preferences key, you /must/ add a default value here.
    34  */
    35 void
    36 tr_prefs_init_defaults( void )
    37 {
    38     const char * str;
    39 
    40     cf_check_older_configs( );
    41 
    42 #ifdef HAVE_GIO
    43     str = NULL;
    44     if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
    45     if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DESKTOP );
    46     if( !str ) str = tr_getDefaultDownloadDir( );
    47     pref_string_set_default ( PREF_KEY_DIR_WATCH, str );
    48     pref_flag_set_default   ( PREF_KEY_DIR_WATCH_ENABLED, FALSE );
    49 #endif
    50 
    51     pref_flag_set_default   ( PREF_KEY_INHIBIT_HIBERNATION, FALSE );
    52     pref_flag_set_default   ( PREF_KEY_BLOCKLIST_UPDATES_ENABLED, TRUE );
    53 
    54     pref_string_set_default ( PREF_KEY_OPEN_DIALOG_FOLDER, g_get_home_dir( ) );
    55 
    56     pref_flag_set_default   ( PREF_KEY_TOOLBAR, TRUE );
    57     pref_flag_set_default   ( PREF_KEY_FILTERBAR, TRUE );
    58     pref_flag_set_default   ( PREF_KEY_STATUSBAR, TRUE );
    59     pref_flag_set_default   ( PREF_KEY_SHOW_TRAY_ICON, FALSE );
    60     pref_flag_set_default   ( PREF_KEY_SHOW_DESKTOP_NOTIFICATION, TRUE );
    61     pref_string_set_default ( PREF_KEY_STATUSBAR_STATS, "total-ratio" );
    62 
    63     pref_flag_set_default   ( PREF_KEY_SCHED_LIMIT_ENABLED, FALSE );
    64     pref_int_set_default    ( PREF_KEY_SCHED_BEGIN,    60 * 23 ); /* 11pm */
    65     pref_int_set_default    ( PREF_KEY_SCHED_END,      60 * 7 );  /* 7am */
    66     pref_int_set_default    ( PREF_KEY_SCHED_DL_LIMIT, 200 );   /* 2x the other limit */
    67     pref_int_set_default    ( PREF_KEY_SCHED_UL_LIMIT, 100 );   /* 2x the other limit */
    68 
    69     pref_flag_set_default   ( PREF_KEY_OPTIONS_PROMPT, TRUE );
    70 
    71     pref_int_set_default    ( PREF_KEY_MAIN_WINDOW_HEIGHT, 500 );
    72     pref_int_set_default    ( PREF_KEY_MAIN_WINDOW_WIDTH, 300 );
    73     pref_int_set_default    ( PREF_KEY_MAIN_WINDOW_X, 50 );
    74     pref_int_set_default    ( PREF_KEY_MAIN_WINDOW_Y, 50 );
    75     pref_string_set_default ( PREF_KEY_MAIN_WINDOW_LAYOUT_ORDER, "menu,toolbar,filter,list,statusbar" );
    76 
    77     str = NULL;
    78 #if GLIB_CHECK_VERSION( 2, 14, 0 )
    79     if( !str ) str = g_get_user_special_dir( G_USER_DIRECTORY_DOWNLOAD );
    80 #endif
    81     if( !str ) str = tr_getDefaultDownloadDir( );
    82     pref_string_set_default ( TR_PREFS_KEY_DOWNLOAD_DIR, str );
    83 
    84     pref_flag_set_default   ( PREF_KEY_ASKQUIT, TRUE );
    85 
    86     pref_string_set_default ( PREF_KEY_SORT_MODE, "sort-by-name" );
    87     pref_flag_set_default   ( PREF_KEY_SORT_REVERSED, FALSE );
    88     pref_flag_set_default   ( PREF_KEY_MINIMAL_VIEW, FALSE );
    89 
    90     pref_flag_set_default   ( PREF_KEY_START, TRUE );
    91     pref_flag_set_default   ( PREF_KEY_TRASH_ORIGINAL, FALSE );
    92 }
    9330
    9431/**
  • branches/1.5x/gtk/tr-prefs.h

    r8027 r8048  
    5151#define PREF_KEY_MAIN_WINDOW_Y              "main-window-y"
    5252
    53 void tr_prefs_init_defaults( void );
    54 
    5553#endif
Note: See TracChangeset for help on using the changeset viewer.