(gtk) have the "open" dialog remember which folder it was in the last time it was used.
This commit is contained in:
parent
d9b33a7055
commit
d6a55c133b
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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 );
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue