some code cleanup
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -42,6 +42,7 @@ static void gtk_filedialog_ok_callback(GtkWidget *widget, wxFileDialog *dialog)
|
|||||||
#if GTK_CHECK_VERSION(2,7,3)
|
#if GTK_CHECK_VERSION(2,7,3)
|
||||||
if (gtk_check_version(2, 7, 3) != NULL)
|
if (gtk_check_version(2, 7, 3) != NULL)
|
||||||
#endif
|
#endif
|
||||||
|
{
|
||||||
if ((style & wxFD_SAVE) && (style & wxFD_OVERWRITE_PROMPT))
|
if ((style & wxFD_SAVE) && (style & wxFD_OVERWRITE_PROMPT))
|
||||||
{
|
{
|
||||||
if ( g_file_test(filename, G_FILE_TEST_EXISTS) )
|
if ( g_file_test(filename, G_FILE_TEST_EXISTS) )
|
||||||
@@ -58,6 +59,7 @@ static void gtk_filedialog_ok_callback(GtkWidget *widget, wxFileDialog *dialog)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (style & wxFD_FILE_MUST_EXIST)
|
if (style & wxFD_FILE_MUST_EXIST)
|
||||||
{
|
{
|
||||||
@@ -212,22 +214,23 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
|||||||
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
|
||||||
ok_btn_stock, GTK_RESPONSE_ACCEPT,
|
ok_btn_stock, GTK_RESPONSE_ACCEPT,
|
||||||
NULL);
|
NULL);
|
||||||
|
GtkFileChooser* file_chooser = GTK_FILE_CHOOSER(m_widget);
|
||||||
|
|
||||||
m_fc.SetWidget( GTK_FILE_CHOOSER(m_widget) );
|
m_fc.SetWidget(file_chooser);
|
||||||
|
|
||||||
gtk_dialog_set_default_response(GTK_DIALOG(m_widget), GTK_RESPONSE_ACCEPT);
|
gtk_dialog_set_default_response(GTK_DIALOG(m_widget), GTK_RESPONSE_ACCEPT);
|
||||||
|
|
||||||
if ( style & wxFD_MULTIPLE )
|
if ( style & wxFD_MULTIPLE )
|
||||||
gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(m_widget), true);
|
gtk_file_chooser_set_select_multiple(file_chooser, true);
|
||||||
|
|
||||||
// gtk_widget_hide_on_delete is used here to avoid that Gtk automatically
|
// gtk_widget_hide_on_delete is used here to avoid that Gtk automatically
|
||||||
// destroys the dialog when the user press ESC on the dialog: in that case
|
// destroys the dialog when the user press ESC on the dialog: in that case
|
||||||
// a second call to ShowModal() would result in a bunch of Gtk-CRITICAL
|
// a second call to ShowModal() would result in a bunch of Gtk-CRITICAL
|
||||||
// errors...
|
// errors...
|
||||||
g_signal_connect (G_OBJECT(m_widget),
|
g_signal_connect(m_widget,
|
||||||
"delete_event",
|
"delete_event",
|
||||||
G_CALLBACK (gtk_widget_hide_on_delete),
|
G_CALLBACK (gtk_widget_hide_on_delete),
|
||||||
(gpointer)this);
|
this);
|
||||||
|
|
||||||
// local-only property could be set to false to allow non-local files to be
|
// local-only property could be set to false to allow non-local files to be
|
||||||
// loaded. In that case get/set_uri(s) should be used instead of
|
// loaded. In that case get/set_uri(s) should be used instead of
|
||||||
@@ -258,8 +261,7 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
|||||||
const wxString dir = fn.GetPath();
|
const wxString dir = fn.GetPath();
|
||||||
if ( !dir.empty() )
|
if ( !dir.empty() )
|
||||||
{
|
{
|
||||||
gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(m_widget),
|
gtk_file_chooser_set_current_folder(file_chooser, dir.fn_str());
|
||||||
dir.fn_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const wxString fname = fn.GetFullName();
|
const wxString fname = fn.GetFullName();
|
||||||
@@ -267,20 +269,19 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
|||||||
{
|
{
|
||||||
if ( !fname.empty() )
|
if ( !fname.empty() )
|
||||||
{
|
{
|
||||||
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(m_widget),
|
gtk_file_chooser_set_current_name(file_chooser, fname.fn_str());
|
||||||
fname.fn_str());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if GTK_CHECK_VERSION(2,7,3)
|
#if GTK_CHECK_VERSION(2,7,3)
|
||||||
if ((style & wxFD_OVERWRITE_PROMPT) && !gtk_check_version(2,7,3))
|
if ((style & wxFD_OVERWRITE_PROMPT) && !gtk_check_version(2,7,3))
|
||||||
gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(m_widget), TRUE);
|
gtk_file_chooser_set_do_overwrite_confirmation(file_chooser, true);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else // wxFD_OPEN
|
else // wxFD_OPEN
|
||||||
{
|
{
|
||||||
if ( !fname.empty() )
|
if ( !fname.empty() )
|
||||||
{
|
{
|
||||||
gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(m_widget),
|
gtk_file_chooser_set_filename(file_chooser,
|
||||||
fn.GetFullPath().fn_str());
|
fn.GetFullPath().fn_str());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -289,15 +290,13 @@ wxFileDialog::wxFileDialog(wxWindow *parent, const wxString& message,
|
|||||||
{
|
{
|
||||||
GtkWidget *previewImage = gtk_image_new();
|
GtkWidget *previewImage = gtk_image_new();
|
||||||
|
|
||||||
gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(m_widget),
|
gtk_file_chooser_set_preview_widget(file_chooser, previewImage);
|
||||||
previewImage);
|
|
||||||
g_signal_connect(m_widget, "update-preview",
|
g_signal_connect(m_widget, "update-preview",
|
||||||
G_CALLBACK(gtk_filedialog_update_preview_callback),
|
G_CALLBACK(gtk_filedialog_update_preview_callback),
|
||||||
previewImage);
|
previewImage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void wxFileDialog::OnFakeOk(wxCommandEvent& WXUNUSED(event))
|
void wxFileDialog::OnFakeOk(wxCommandEvent& WXUNUSED(event))
|
||||||
{
|
{
|
||||||
EndDialog(wxID_OK);
|
EndDialog(wxID_OK);
|
||||||
|
Reference in New Issue
Block a user