--- np2/x11/gtk2/gtk_menu.c 2011/01/15 18:43:13 1.18 +++ np2/x11/gtk2/gtk_menu.c 2011/12/17 16:20:05 1.22 @@ -576,8 +576,11 @@ cb_bmpsave(GtkAction *action, gpointer u if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); +#if iGTK_MAJOR_VERSION >= 2 && GTK_MINOR_VERSION >= 8 + gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), + TRUE); +#endif if (strlen(bmpfilefolder) == 0) { g_strlcpy(bmpfilefolder, modulefile, sizeof(bmpfilefolder)); file_cutname(bmpfilefolder); @@ -609,6 +612,12 @@ cb_bmpsave(GtkAction *action, gpointer u if (utf8) { path = g_filename_from_utf8(utf8, -1, NULL, NULL, NULL); if (path) { + gchar *ext = file_getext(path); + if (strlen(ext) != 3 || file_cmpname(ext, "bmp")) { + gchar *tmp = g_strjoin(".", path, "bmp", NULL); + g_free(path); + path = tmp; + } file_cpyname(bmpfilefolder, path, sizeof(bmpfilefolder)); sysmng_update(SYS_UPDATEOSCFG); fh = file_create(path); @@ -647,8 +656,7 @@ cb_change_font(GtkAction *action, gpoint if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); utf8 = g_filename_to_utf8(np2cfg.fontfile, -1, NULL, NULL, NULL); if (utf8) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), utf8); @@ -734,8 +742,7 @@ cb_diskopen(GtkAction *action, gpointer if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); utf8 = g_filename_to_utf8(fddfolder, -1, NULL, NULL, NULL); if (utf8) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), utf8); @@ -843,8 +850,7 @@ cb_ataopen(GtkAction *action, gpointer u if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); utf8 = g_filename_to_utf8(hddfolder, -1, NULL, NULL, NULL); if (utf8) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), utf8); @@ -930,8 +936,7 @@ cb_atapiopen(GtkAction *action, gpointer if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); utf8 = g_filename_to_utf8(hddfolder, -1, NULL, NULL, NULL); if (utf8) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), utf8); @@ -1031,8 +1036,11 @@ cb_newdisk(GtkAction *action, gpointer u if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); +#if iGTK_MAJOR_VERSION >= 2 && GTK_MINOR_VERSION >= 8 + gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), + TRUE); +#endif if (strlen(fddfolder) == 0) { g_strlcpy(fddfolder, modulefile, sizeof(fddfolder)); file_cutname(fddfolder); @@ -1173,8 +1181,7 @@ cb_sasiopen(GtkAction *action, gpointer if (dialog == NULL) goto end; - g_object_set(G_OBJECT(dialog), "show-hidden", TRUE, NULL); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_show_hidden(GTK_FILE_CHOOSER(dialog), TRUE); utf8 = g_filename_to_utf8(hddfolder, -1, NULL, NULL, NULL); if (utf8) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog), utf8);