Fix previous, failed attempt at fixing the default folder for DCC transfers

This commit is contained in:
Berke Viktor 2012-10-22 17:00:48 +02:00
parent b007592cde
commit 302a06e2e1
2 changed files with 19 additions and 1 deletions

View File

@ -919,7 +919,7 @@ fe_confirm (const char *message, void (*yesproc)(void *), void (*noproc)(void *)
if (dcc->file) if (dcc->file)
gtkutil_file_req (message, dcc_saveas_cb, ud, dcc->file, NULL, gtkutil_file_req (message, dcc_saveas_cb, ud, dcc->file, NULL,
FRF_WRITE|FRF_FILTERISINITIAL|FRF_NOASKOVERWRITE); FRF_WRITE|FRF_NOASKOVERWRITE);
} }
int int

View File

@ -49,6 +49,8 @@
#include "../common/xchat.h" #include "../common/xchat.h"
#include "../common/fe.h" #include "../common/fe.h"
#include "../common/util.h" #include "../common/util.h"
#include "../common/cfgfiles.h"
#include "../common/xchatc.h"
#include "gtkutil.h" #include "gtkutil.h"
#include "pixmaps.h" #include "pixmaps.h"
@ -473,8 +475,24 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte
else else
{ {
if (filter && (flags & FRF_FILTERISINITIAL)) if (filter && (flags & FRF_FILTERISINITIAL))
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), filter); gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), filter);
} }
/* With DCC, we can't rely on filter as initial folder since filter already contains
* the filename upon DCC RECV. Thus we have no better option than to check for the message
* which will be the title of the window. For DCC it always contains the "offering" word.
* This method is really ugly but it works so we'll stick with it for now.
*/
else if (strstr (title, "offering") != NULL)
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), prefs.hex_dcc_dir);
}
/* by default, open the config folder */
else
{
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), get_xdir_fs ());
}
}
if (flags & FRF_EXTENSIONS && extensions != NULL) if (flags & FRF_EXTENSIONS && extensions != NULL)
{ {