- buttonsizer->Add( new wxButton( this, ID_UP_DIR, "Up" ), 0, wxALL, 5 );
- buttonsizer->Add( new wxBitmapButton( this, ID_PARENT_DIR, wxBitmap(home_xpm) ), 0, wxALL, 5 );
- buttonsizer->Add( new wxButton( this, ID_NEW_DIR, "New..." ), 0, wxALL, 5 );
- mainsizer->Add( buttonsizer, 0, wxALL | wxEXPAND, 5 );
-
- m_list = new wxFileCtrl( this, ID_LIST_CTRL, m_dir, "*", wxDefaultPosition, wxSize(450,180),
- wxLC_LIST | wxSUNKEN_BORDER | wxLC_SINGLE_SEL );
- mainsizer->Add( m_list, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 );
-
- wxBoxSizer *textsizer = new wxBoxSizer( wxHORIZONTAL );
- m_text = new wxTextCtrl( this, -1, m_fileName );
- textsizer->Add( m_text, 1, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
- textsizer->Add( new wxButton( this, wxID_OK, _("OK") ), 0, wxCENTER | wxLEFT|wxRIGHT|wxTOP, 10 );
- mainsizer->Add( textsizer, 0, wxEXPAND );
-
- wxBoxSizer *choicesizer = new wxBoxSizer( wxHORIZONTAL );
- m_choice = new wxChoice( this, -1 );
- m_choice->Append( "*.txt" );
- choicesizer->Add( m_choice, 1, wxCENTER|wxALL, 10 );
- choicesizer->Add( new wxButton( this, wxID_CANCEL, _("Cancel") ), 0, wxCENTER | wxALL, 10 );
- mainsizer->Add( choicesizer, 0, wxEXPAND );
-
- SetAutoLayout( TRUE );
+
+ m_upDirButton = new wxBitmapButton(this, ID_UP_DIR,
+ wxArtProvider::GetBitmap(wxART_GO_DIR_UP, wxART_BUTTON));
+#if wxUSE_TOOLTIPS
+ m_upDirButton->SetToolTip( _("Go to parent directory") );
+#endif
+ buttonsizer->Add( m_upDirButton, 0, wxALL, 5 );
+
+#ifndef __DOS__ // VS: Home directory is meaningless in MS-DOS...
+ but = new wxBitmapButton(this, ID_PARENT_DIR,
+ wxArtProvider::GetBitmap(wxART_GO_HOME, wxART_BUTTON));
+#if wxUSE_TOOLTIPS
+ but->SetToolTip( _("Go to home directory") );
+#endif
+ buttonsizer->Add( but, 0, wxALL, 5);
+
+ buttonsizer->Add( 20, 20 );
+#endif //!__DOS__
+
+ m_newDirButton = new wxBitmapButton(this, ID_NEW_DIR,
+ wxArtProvider::GetBitmap(wxART_NEW_DIR, wxART_BUTTON));
+#if wxUSE_TOOLTIPS
+ m_newDirButton->SetToolTip( _("Create new directory") );
+#endif
+ buttonsizer->Add( m_newDirButton, 0, wxALL, 5 );
+
+ if (is_pda)
+ mainsizer->Add( buttonsizer, 0, wxALL | wxEXPAND, 0 );
+ else
+ mainsizer->Add( buttonsizer, 0, wxALL | wxEXPAND, 5 );
+
+ wxBoxSizer *staticsizer = new wxBoxSizer( wxHORIZONTAL );
+ if (is_pda)
+ staticsizer->Add( new wxStaticText( this, wxID_ANY, _("Current directory:") ), 0, wxRIGHT, 10 );
+ m_static = new wxStaticText( this, wxID_ANY, m_dir );
+ staticsizer->Add( m_static, 1 );
+ mainsizer->Add( staticsizer, 0, wxEXPAND | wxLEFT|wxRIGHT|wxBOTTOM, 10 );
+
+ long style2 = ms_lastViewStyle;
+ if ( !HasFdFlag(wxFD_MULTIPLE) )
+ style2 |= wxLC_SINGLE_SEL;
+
+#ifdef __WXWINCE__
+ style2 |= wxSIMPLE_BORDER;
+#else
+ style2 |= wxSUNKEN_BORDER;
+#endif
+
+ m_list = new wxFileCtrl( this, ID_LIST_CTRL,
+ wxEmptyString, ms_lastShowHidden,
+ 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, wxSizerFlags(1).Expand().HorzBorder());
+
+ wxBoxSizer *textsizer = new wxBoxSizer(wxHORIZONTAL);
+ textsizer->Add(m_text, wxSizerFlags(1).Centre().Border());
+ mainsizer->Add(textsizer, wxSizerFlags().Expand());
+
+ m_check = NULL;
+ textsizer->Add(m_choice, wxSizerFlags(1).Centre().Border());
+
+ wxSizer *bsizer = CreateButtonSizer(wxOK | wxCANCEL);
+ if ( bsizer )
+ mainsizer->Add(bsizer, wxSizerFlags().Expand().Border());
+ }
+ else // !is_pda
+ {
+ 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);
+
+ SetAutoLayout( true );