/////////////////////////////////////////////////////////////////////////////
// Name: src/msw/wince/filedlgwce.cpp
-// Purpose: wxFileDialog for WinCE (SmartPhone)
+// Purpose: wxFileDialog implementation for smart phones driven by WinCE
// Author: Julian Smart
// Modified by:
// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
// ============================================================================
// headers
// ----------------------------------------------------------------------------
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "filedlg.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// Only use this for MS SmartPhone. Use standard file dialog
// for Pocket PC.
-#if wxUSE_FILEDLG && defined(__SMARTPHONE__)
+#if wxUSE_FILEDLG && defined(__SMARTPHONE__) && defined(__WXWINCE__)
+
+#include "wx/filedlg.h"
#ifndef WX_PRECOMP
#include "wx/utils.h"
#include "wx/msgdlg.h"
#include "wx/dialog.h"
- #include "wx/filedlg.h"
#include "wx/filefn.h"
#include "wx/intl.h"
#include "wx/log.h"
#include <string.h>
#include "wx/filename.h"
+#include "wx/modalhook.h"
// ============================================================================
// implementation
const wxString& defaultFileName,
const wxString& wildCard,
long style,
- const wxPoint& WXUNUSED(pos))
+ const wxPoint& WXUNUSED(pos),
+ const wxSize& WXUNUSED(sz),
+ const wxString& WXUNUSED(name))
{
m_message = message;
- m_dialogStyle = style;
- if ( ( m_dialogStyle & wxMULTIPLE ) && ( m_dialogStyle & wxSAVE ) )
- m_dialogStyle &= ~wxMULTIPLE;
+ m_windowStyle = style;
+ if ( ( m_windowStyle & wxFD_MULTIPLE ) && ( m_windowStyle & wxFD_SAVE ) )
+ m_windowStyle &= ~wxFD_MULTIPLE;
m_parent = parent;
m_path = wxEmptyString;
m_fileName = defaultFileName;
paths.Empty();
wxString dir(m_dir);
- if ( m_dir.Last() != _T('\\') )
- dir += _T('\\');
+ if ( m_dir.Last() != wxT('\\') )
+ dir += wxT('\\');
size_t count = m_fileNames.GetCount();
for ( size_t n = 0; n < count; n++ )
void wxFileDialog::SetPath(const wxString& path)
{
wxString ext;
- wxSplitPath(path, &m_dir, &m_fileName, &ext);
+ wxFileName::SplitPath(path, &m_dir, &m_fileName, &ext);
if ( !ext.empty() )
- m_fileName << _T('.') << ext;
+ m_fileName << wxT('.') << ext;
}
int wxFileDialog::ShowModal()
{
+ WX_HOOK_MODAL_DIALOG();
+
wxWindow* parentWindow = GetParent();
if (!parentWindow)
parentWindow = wxTheApp->GetTopWindow();
-
+
wxString str = wxGetTextFromUser(m_message, _("File"), m_fileName, parentWindow);
- if (str)
- {
- m_fileName = str;
- m_fileNames.Add(str);
- return wxID_OK;
- }
- else
- {
+ if (str.empty())
return wxID_CANCEL;
- }
+
+ m_fileName = str;
+ m_fileNames.Add(str);
+ return wxID_OK;
}
void wxFileDialog::GetFilenames(wxArrayString& files) const
files = m_fileNames;
}
-#endif // wxUSE_FILEDLG
-
+#endif // wxUSE_FILEDLG && __SMARTPHONE__ && __WXWINCE__