62 |
|
|
63 |
gdk_threads_enter (); |
gdk_threads_enter (); |
64 |
|
|
65 |
widget = gtk_file_chooser_dialog_new("", |
/* FIXME: we should be using the default gnome-vfs backend but it is |
66 |
GTK_WINDOW(parentp), |
not currently thread-safe. See: |
67 |
GTK_FILE_CHOOSER_ACTION_OPEN, |
http://bugzilla.gnome.org/show_bug.cgi?id=166852 */ |
68 |
GTK_STOCK_OK, GTK_RESPONSE_OK, |
widget = gtk_file_chooser_dialog_new_with_backend |
69 |
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
("Open File", |
70 |
NULL); |
GTK_WINDOW(parentp), |
71 |
|
GTK_FILE_CHOOSER_ACTION_OPEN, |
72 |
/* GtkFileChooser doesn't show hidden files by default. */ |
"gtk+", |
73 |
g_object_set(GTK_FILE_CHOOSER(widget), "show_hidden", TRUE); |
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, |
74 |
|
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT, |
75 |
|
NULL); |
76 |
|
|
77 |
/* GtkFileSelect is not modal by default */ |
/* GtkFileSelect is not modal by default */ |
78 |
gtk_window_set_modal (GTK_WINDOW (widget), TRUE); |
gtk_window_set_modal (GTK_WINDOW (widget), TRUE); |
223 |
/* We only need this for the case when the user closed the window, |
/* We only need this for the case when the user closed the window, |
224 |
or clicked ok or cancel. */ |
or clicked ok or cancel. */ |
225 |
if (responseId != GTK_RESPONSE_DELETE_EVENT |
if (responseId != GTK_RESPONSE_DELETE_EVENT |
226 |
&& responseId != GTK_RESPONSE_OK |
&& responseId != GTK_RESPONSE_ACCEPT |
227 |
&& responseId != GTK_RESPONSE_CANCEL) |
&& responseId != GTK_RESPONSE_CANCEL) |
228 |
return; |
return; |
229 |
|
|
247 |
return; |
return; |
248 |
} |
} |
249 |
|
|
250 |
if (responseId == GTK_RESPONSE_OK) { |
if (responseId == GTK_RESPONSE_ACCEPT) { |
251 |
fileName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (GTK_WIDGET (ptr))); |
fileName = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (GTK_WIDGET (ptr))); |
252 |
str_fileName = (*gdk_env())->NewStringUTF (gdk_env(), fileName); |
str_fileName = (*gdk_env())->NewStringUTF (gdk_env(), fileName); |
253 |
} |
} |