(gtk) have the "open" dialog remember which folder it was in the last time it was used.

This commit is contained in:
Charles Kerr 2008-03-18 20:41:27 +00:00
parent d9b33a7055
commit d6a55c133b
3 changed files with 17 additions and 3 deletions

View File

@ -12,9 +12,11 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "conf.h"
#include "file-list.h"
#include "hig.h"
#include "open-dialog.h"
#include "tr-prefs.h"
struct OpenData
{
@ -250,8 +252,11 @@ openSingleTorrentDialog( GtkWindow * parent,
static void
onOpenDialogResponse( GtkDialog * dialog, int response, gpointer core )
{
if( response == GTK_RESPONSE_ACCEPT )
{
char * folder = gtk_file_chooser_get_current_folder( GTK_FILE_CHOOSER( dialog ) );
pref_string_set( PREF_KEY_OPEN_DIALOG_FOLDER, folder );
g_free( folder );
if( response == GTK_RESPONSE_ACCEPT ) {
GSList * l = gtk_file_chooser_get_filenames( GTK_FILE_CHOOSER( dialog ) );
tr_core_add_list( core, l, FALSE );
}
@ -265,7 +270,7 @@ openDialog( GtkWindow * parent,
{
GtkWidget * w;
GtkFileFilter * filter;
char * folder;
w = gtk_file_chooser_dialog_new( _( "Select Torrents" ), parent,
GTK_FILE_CHOOSER_ACTION_OPEN,
@ -290,6 +295,12 @@ openDialog( GtkWindow * parent,
g_signal_connect( w, "response", G_CALLBACK(onOpenDialogResponse), core );
if(( folder = pref_string_get( PREF_KEY_OPEN_DIALOG_FOLDER ))) {
gtk_file_chooser_set_current_folder( GTK_FILE_CHOOSER( w ), folder );
g_free( folder );
}
gtk_widget_show( w );
return w;
}

View File

@ -40,6 +40,8 @@ tr_prefs_init_global( void )
pref_flag_set_default ( PREF_KEY_DIR_WATCH_ENABLED, FALSE );
#endif
pref_string_set_default ( PREF_KEY_OPEN_DIALOG_FOLDER, g_get_home_dir( ) );
pref_int_set_default ( PREF_KEY_MAX_PEERS_GLOBAL, 200 );
pref_int_set_default ( PREF_KEY_MAX_PEERS_PER_TORRENT, 50 );

View File

@ -26,6 +26,7 @@ GtkWidget * tr_prefs_dialog_new( GObject * core, GtkWindow * parent );
#define PREF_KEY_UL_LIMIT "upload-limit"
#define PREF_KEY_OPTIONS_PROMPT "show-options-window"
#define PREF_KEY_DIR_DEFAULT "default-download-directory"
#define PREF_KEY_OPEN_DIALOG_FOLDER "open-dialog-folder"
#define PREF_KEY_DIR_WATCH "watch-folder"
#define PREF_KEY_DIR_WATCH_ENABLED "watch-folder-enabled"
#define PREF_KEY_START "start-added-torrents"