Mercurial > pidgin
comparison src/gtkrequest.c @ 10536:c047cf7e18ba
[gaim-migrate @ 11888]
Patch from Lee Roach to remember the directory to which we last saved a
file transfer.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 22 Jan 2005 05:22:48 +0000 |
parents | bed2c96bc1fb |
children | 56d4460bb6bd |
comparison
equal
deleted
inserted
replaced
10535:f175ff63d571 | 10536:c047cf7e18ba |
---|---|
1453 | 1453 |
1454 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */ | 1454 #if GTK_CHECK_VERSION(2,4,0) /* FILECHOOSER */ |
1455 static void | 1455 static void |
1456 file_ok_check_if_exists_cb(GtkWidget *widget, gint response, GaimGtkRequestData *data) | 1456 file_ok_check_if_exists_cb(GtkWidget *widget, gint response, GaimGtkRequestData *data) |
1457 { | 1457 { |
1458 gchar *current_folder; | |
1459 | |
1458 if (response != GTK_RESPONSE_ACCEPT) { | 1460 if (response != GTK_RESPONSE_ACCEPT) { |
1459 if (data->cbs[0] != NULL) | 1461 if (data->cbs[0] != NULL) |
1460 ((GaimRequestFileCb)data->cbs[0])(data->user_data, NULL); | 1462 ((GaimRequestFileCb)data->cbs[0])(data->user_data, NULL); |
1461 gaim_request_close(GAIM_REQUEST_FILE, data); | 1463 gaim_request_close(GAIM_REQUEST_FILE, data); |
1462 return; | 1464 return; |
1463 } | 1465 } |
1464 | 1466 |
1465 data->u.file.name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(data->dialog)); | 1467 data->u.file.name = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(data->dialog)); |
1468 if (data->u.file.savedialog) { | |
1469 current_folder = gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER(data->dialog)); | |
1470 if (current_folder) { | |
1471 gaim_prefs_set_string("/gaim/gtk/filetransfer/last_folder", current_folder); | |
1472 g_free(current_folder); | |
1473 } | |
1474 } | |
1466 #else /* FILECHOOSER */ | 1475 #else /* FILECHOOSER */ |
1467 static void | 1476 static void |
1468 file_ok_check_if_exists_cb(GtkWidget *button, GaimGtkRequestData *data) | 1477 file_ok_check_if_exists_cb(GtkWidget *button, GaimGtkRequestData *data) |
1469 { | 1478 { |
1470 const gchar *name; | 1479 const gchar *name; |
1529 : GTK_STOCK_OPEN, | 1538 : GTK_STOCK_OPEN, |
1530 GTK_RESPONSE_ACCEPT, | 1539 GTK_RESPONSE_ACCEPT, |
1531 NULL); | 1540 NULL); |
1532 gtk_dialog_set_default_response(GTK_DIALOG(filesel), GTK_RESPONSE_ACCEPT); | 1541 gtk_dialog_set_default_response(GTK_DIALOG(filesel), GTK_RESPONSE_ACCEPT); |
1533 if (filename != NULL) { | 1542 if (filename != NULL) { |
1534 if (savedialog) | 1543 if (savedialog) { |
1544 const gchar *current_folder = gaim_prefs_get_string("/gaim/gtk/filetransfer/last_folder"); | |
1535 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename); | 1545 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(filesel), filename); |
1536 else | 1546 if (current_folder) { |
1547 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(filesel), current_folder); | |
1548 } | |
1549 } else | |
1537 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filesel), filename); | 1550 gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(filesel), filename); |
1538 } | 1551 } |
1539 g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(filesel)), "response", | 1552 g_signal_connect(G_OBJECT(GTK_FILE_CHOOSER(filesel)), "response", |
1540 G_CALLBACK(file_ok_check_if_exists_cb), data); | 1553 G_CALLBACK(file_ok_check_if_exists_cb), data); |
1541 #else /* FILECHOOSER */ | 1554 #else /* FILECHOOSER */ |