wxFileDialog changed to use (new) wxCHANGE_DIR flag, docs updated

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2000-10-08 23:35:09 +00:00
parent d7ace8a929
commit 3f6638b82b
6 changed files with 118 additions and 72 deletions

View File

@@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////////
// Name: filedlg.cpp
// Name: gtk/filedlg.cpp
// Purpose:
// Author: Robert Roebling
// Id: $Id$
@@ -83,6 +83,18 @@ void gtk_filedialog_ok_callback( GtkWidget *WXUNUSED(widget), wxFileDialog *dial
}
}
// change to the directory where the user went if asked
if ( style & wxCHANGE_DIR )
{
wxString cwd;
wxSplitPath(filename, &cwd, NULL, NULL);
if ( cwd != wxGetWorkingDirectory() )
{
wxSetWorkingDirectory(cwd);
}
}
dialog->SetPath( filename );
wxCommandEvent event(wxEVT_COMMAND_BUTTON_CLICKED, wxID_OK);
@@ -121,9 +133,9 @@ wxFileDialog::wxFileDialog( wxWindow *parent, const wxString& message,
!CreateBase( parent, -1, pos, wxDefaultSize, style | wxDIALOG_MODAL, wxDefaultValidator, wxT("filedialog") ))
{
wxFAIL_MSG( wxT("wxXX creation failed") );
return;
return;
}
m_message = message;
m_path = wxT("");
m_fileName = defaultFileName;
@@ -156,10 +168,10 @@ wxFileDialog::wxFileDialog( wxWindow *parent, const wxString& message,
gtk_signal_connect( GTK_OBJECT(sel->cancel_button), "clicked",
GTK_SIGNAL_FUNC(gtk_filedialog_cancel_callback), (gpointer*)this );
// strange way to internationalize
gtk_label_set( GTK_LABEL( GTK_BUTTON(sel->cancel_button)->child ), wxConvCurrent->cWX2MB(_("Cancel")) );
gtk_signal_connect( GTK_OBJECT(m_widget), "delete_event",
GTK_SIGNAL_FUNC(gtk_filedialog_delete_callback), (gpointer)this );
}
@@ -172,11 +184,11 @@ void wxFileDialog::SetPath(const wxString& path)
{
wxString ext;
wxSplitPath(path, &m_dir, &m_fileName, &ext);
if (!ext.IsEmpty())
{
m_fileName += wxT(".");
if (!ext.IsEmpty())
{
m_fileName += wxT(".");
m_fileName += ext;
}
}
}
}
@@ -234,15 +246,15 @@ wxString wxLoadFileSelector( const wxChar *what, const wxChar *extension, const
{
wxChar *ext = (wxChar *)extension;
wxChar prompt[50];
wxString str = _("Load %s file");
wxSprintf(prompt, str, what);
wxString prompt = wxString::Format(_("Load %s file"), what);
if (*ext == wxT('.')) ext++;
wxChar wild[60];
wxSprintf(wild, wxT("*.%s"), ext);
if (*ext == wxT('.'))
ext++;
return wxFileSelector (prompt, (const wxChar *) NULL, default_name, ext, wild, 0, parent);
wxString wild = wxString::Format(_T("*.%s"), ext);
return wxFileSelector(prompt, (const wxChar *) NULL, default_name,
ext, wild, 0, parent);
}
wxString wxSaveFileSelector(const wxChar *what, const wxChar *extension, const wxChar *default_name,
@@ -250,14 +262,14 @@ wxString wxSaveFileSelector(const wxChar *what, const wxChar *extension, const w
{
wxChar *ext = (wxChar *)extension;
wxChar prompt[50];
wxString str = _("Save %s file");
wxSprintf(prompt, str, what);
wxString prompt = wxString::Format(_("Save %s file"), what);
if (*ext == wxT('.')) ext++;
wxChar wild[60];
wxSprintf(wild, wxT("*.%s"), ext);
if (*ext == wxT('.'))
ext++;
return wxFileSelector (prompt, (const wxChar *) NULL, default_name, ext, wild, 0, parent);
wxString wild = wxString::Format(_T("*.%s"), ext);
return wxFileSelector(prompt, (const wxChar *) NULL, default_name,
ext, wild, 0, parent);
}