#endif
#ifndef WX_PRECOMP
+ #ifdef __WXMSW__
+ #include "wx/msw/wrapwin.h"
+ #endif
#include "wx/hash.h"
#include "wx/intl.h"
#include "wx/settings.h"
#include "wx/stattext.h"
#include "wx/textctrl.h"
#include "wx/sizer.h"
+ #include "wx/filedlg.h" // wxFD_OPEN, wxFD_SAVE...
#endif
#include "wx/longlong.h"
#include "wx/artprov.h"
#include "wx/filefn.h"
#include "wx/file.h" // for wxS_IXXX constants only
-#include "wx/filedlg.h" // wxFD_OPEN, wxFD_SAVE...
#include "wx/generic/filedlgg.h"
#include "wx/generic/dirctrlg.h" // for wxFileIconsTable
#endif
#ifdef __WINDOWS__
- #include "wx/msw/wrapwin.h"
#include "wx/msw/mslu.h"
#endif
else if (IsDrive())
s += _("<DRIVE>");
else // plain file
- s += wxString::Format(_("%ld bytes"),
+ s += wxString::Format(wxPLURAL("%ld byte", "%ld bytes", m_size),
wxLongLong(m_size).ToString().c_str());
s += wxT(' ');
wxASSERT( fd );
if ((event.GetLabel().empty()) ||
- (event.GetLabel() == _(".")) ||
- (event.GetLabel() == _("..")) ||
+ (event.GetLabel() == wxT(".")) ||
+ (event.GetLabel() == wxT("..")) ||
(event.GetLabel().First( wxFILE_SEP_PATH ) != wxNOT_FOUND))
{
wxMessageDialog dialog(this, _("Illegal directory name."), _("Error"), wxOK | wxICON_ERROR );
{
m_bypassGenericImpl = bypassGenericImpl;
+ parent = GetParentForModalDialog(parent);
+
if (!wxFileDialogBase::Create(parent, message, defaultDir, defaultFile,
wildCard, style, pos, sz, name))
{
return true;
if (!wxDialog::Create( parent, wxID_ANY, message, pos, sz,
- wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER, name
+ wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | style, name
))
{
return false;
mainsizer->Add( staticsizer, 0, wxEXPAND | wxLEFT|wxRIGHT|wxBOTTOM, 10 );
long style2 = ms_lastViewStyle;
- if ( !HasFlag(wxFD_MULTIPLE) )
+ if ( !HasFdFlag(wxFD_MULTIPLE) )
style2 |= wxLC_SINGLE_SEL;
#ifdef __WXWINCE__
wxDefaultPosition, wxSize(540,200),
style2);
+ m_text = new wxTextCtrl(this, ID_TEXT, m_fileName,
+ wxDefaultPosition, wxDefaultSize,
+ wxTE_PROCESS_ENTER);
+ m_choice = new wxChoice(this, ID_CHOICE);
+
if (is_pda)
{
// PDAs have a different screen layout
- mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 5 );
+ mainsizer->Add(m_list, wxSizerFlags(1).Expand().HorzBorder());
- wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
- m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
- textsizer->Add( m_text, 1, wxCENTER | wxALL, 5 );
- mainsizer->Add( textsizer, 0, wxEXPAND );
+ wxBoxSizer *textsizer = new wxBoxSizer(wxHORIZONTAL);
+ textsizer->Add(m_text, wxSizerFlags(1).Centre().Border());
+ mainsizer->Add(textsizer, wxSizerFlags().Expand());
m_check = NULL;
- m_choice = new wxChoice( this, ID_CHOICE );
- textsizer->Add( m_choice, 1, wxCENTER|wxALL, 5 );
+ textsizer->Add(m_choice, wxSizerFlags(1).Centre().Border());
- wxSizer *bsizer = CreateButtonSizer( wxOK|wxCANCEL , false, 5 );
- if(bsizer->GetChildren().GetCount() > 0 )
- {
- mainsizer->Add( bsizer, 0, wxEXPAND | wxALL, 5 );
- }
- else
- {
- delete bsizer;
- }
+ wxSizer *bsizer = CreateButtonSizer(wxOK | wxCANCEL);
+ if ( bsizer )
+ mainsizer->Add(bsizer, wxSizerFlags().Expand().Border());
}
- else
+ else // !is_pda
{
- mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 );
-
- wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
- m_text = new wxTextCtrl( this, ID_TEXT, m_fileName, wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER );
- textsizer->Add( m_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
- textsizer->Add( new wxButton( this, wxID_OK ), 0, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
- mainsizer->Add( textsizer, 0, wxEXPAND );
-
- wxBoxSizer *choicesizer = new wxBoxSizer( wxHORIZONTAL );
- m_choice = new wxChoice( this, ID_CHOICE );
- choicesizer->Add( m_choice, 1, wxCENTER|wxALL, 10 );
- m_check = new wxCheckBox( this, ID_CHECK, _("Show hidden files") );
- m_check->SetValue( ms_lastShowHidden );
- choicesizer->Add( m_check, 0, wxCENTER|wxALL, 10 );
- choicesizer->Add( new wxButton( this, wxID_CANCEL ), 0, wxCENTER | wxALL, 10 );
- mainsizer->Add( choicesizer, 0, wxEXPAND );
+ mainsizer->Add(m_list, wxSizerFlags(1).Expand().DoubleHorzBorder());
+
+ wxBoxSizer *textsizer = new wxBoxSizer(wxHORIZONTAL);
+ textsizer->Add(m_text, wxSizerFlags(1).Centre().
+ DoubleBorder(wxLEFT | wxRIGHT | wxTOP));
+ textsizer->Add(new wxButton(this, wxID_OK), wxSizerFlags().Centre().
+ DoubleBorder(wxLEFT | wxRIGHT | wxTOP));
+ mainsizer->Add(textsizer, wxSizerFlags().Expand());
+
+ wxSizerFlags flagsCentre;
+ flagsCentre.Centre().DoubleBorder();
+
+ wxBoxSizer *choicesizer = new wxBoxSizer(wxHORIZONTAL);
+ choicesizer->Add(m_choice, wxSizerFlags(flagsCentre).Proportion(1));
+
+ m_check = new wxCheckBox(this, ID_CHECK, _("Show &hidden files"));
+ m_check->SetValue(ms_lastShowHidden);
+
+ choicesizer->Add(m_check, flagsCentre);
+ choicesizer->Add(new wxButton(this, wxID_CANCEL), flagsCentre);
+ mainsizer->Add(choicesizer, wxSizerFlags().Expand());
}
SetWildcard(wildCard);
}
#endif // __UNIX__
- if (!HasFlag(wxFD_SAVE))
+ if (!HasFdFlag(wxFD_SAVE))
{
if ((filename.Find(wxT('*')) != wxNOT_FOUND) ||
(filename.Find(wxT('?')) != wxNOT_FOUND))
// VZ: the logic of testing for !wxFileExists() only for the open file
// dialog is not entirely clear to me, why don't we allow saving to a
// file without extension as well?
- if ( !HasFlag(wxFD_OPEN) || !wxFileExists(filename) )
+ if ( !HasFdFlag(wxFD_OPEN) || !wxFileExists(filename) )
{
filename = AppendExtension(filename, m_filterExtension);
}
// check that the file [doesn't] exist if necessary
- if ( HasFlag(wxFD_SAVE) && HasFlag(wxFD_OVERWRITE_PROMPT) &&
+ if ( HasFdFlag(wxFD_SAVE) && HasFdFlag(wxFD_OVERWRITE_PROMPT) &&
wxFileExists( filename ) )
{
wxString msg;
if (wxMessageBox(msg, _("Confirm"), wxYES_NO) != wxYES)
return;
}
- else if ( HasFlag(wxFD_OPEN) && HasFlag(wxFD_FILE_MUST_EXIST) &&
+ else if ( HasFdFlag(wxFD_OPEN) && HasFdFlag(wxFD_FILE_MUST_EXIST) &&
!wxFileExists(filename) )
{
wxMessageBox(_("Please choose an existing file."), _("Error"),
SetPath( filename );
// change to the directory where the user went if asked
- if ( HasFlag(wxFD_CHANGE_DIR) )
+ if ( HasFdFlag(wxFD_CHANGE_DIR) )
{
wxString cwd;
wxSplitPath(filename, &cwd, NULL, NULL);
#endif // defined(__DOS__) || defined(__WINDOWS__) || defined(__OS2__)
}
-#ifdef USE_GENERIC_FILEDIALOG
+#ifdef wxUSE_GENERIC_FILEDIALOG
IMPLEMENT_DYNAMIC_CLASS(wxFileDialog, wxGenericFileDialog)
-#endif // USE_GENERIC_FILEDIALOG
+#endif // wxUSE_GENERIC_FILEDIALOG
#endif // wxUSE_FILEDLG