#ifdef __WXMSW__
#include <windows.h>
+#include "wx/msw/winundef.h"
// FIXME - Mingw32 1.0 has both _getdrive() and _chdrive(). For now, let's assume
// older releases don't, but it should be verified and the checks modified
long treeStyle = wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT;
+#ifdef __WXGTK20__
+ treeStyle |= wxTR_NO_LINES;
+#endif
+
if (style & wxDIRCTRL_EDIT_LABELS)
treeStyle |= wxTR_EDIT_LABELS;
// On Unix, there's only one node under the (hidden) root node. It
// represents the / path, so the user would always have to expand it;
// let's do it ourselves
- ExpandPath(wxT("/"));
+ ExpandPath( wxT("/") );
}
#endif
size_t n, count = wxGetAvailableDrives(paths, names, icons);
+#ifdef __WXGTK20__
+ wxString home = wxGetHomeDir();
+ AddSection( home, _("Home directory"), 1);
+ home += wxT("/Desktop");
+ AddSection( home, _("Desktop"), 1);
+#endif
+
for (n = 0; n < count; n++)
- {
AddSection(paths[n], names[n], icons[n]);
- }
}
void wxGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event)
while(strTok.HasMoreTokens())
{
curFilter = strTok.GetNextToken();
- if (d.GetFirst(& eachFilename, m_currentFilterStr, style))
+ if (d.GetFirst(& eachFilename, curFilter, style))
{
do
{
// wxFileIconsTable icons
// ----------------------------------------------------------------------------
-/* Open folder */
-static const char * file_icons_tbl_folder_open_xpm[] = {
-/* width height ncolors chars_per_pixel */
-"16 16 6 1",
-/* colors */
-" s None c None",
-". c #000000",
-"+ c #c0c0c0",
-"@ c #808080",
-"# c #ffff00",
-"$ c #ffffff",
-/* pixels */
-" ",
-" @@@@@ ",
-" @$$$$$@ ",
-" @$#+#+#$@@@@@@ ",
-" @$+#+#+$$$$$$@.",
-" @$#+#+#+#+#+#@.",
-"@@@@@@@@@@@@@#@.",
-"@$$$$$$$$$$@@+@.",
-"@$#+#+#+#+##.@@.",
-" @$#+#+#+#+#+.@.",
-" @$+#+#+#+#+#.@.",
-" @$+#+#+#+##@..",
-" @@@@@@@@@@@@@.",
-" .............",
-" ",
-" "};
-
+#ifndef __WXGTK24__
/* Computer */
static const char * file_icons_tbl_computer_xpm[] = {
"16 16 7 1",
" .oXoXoXoXoXo.o ",
".XOXXXXXXXXX.o ",
"............o "};
-
-/* Drive */
-static const char * file_icons_tbl_drive_xpm[] = {
-"16 16 7 1",
-" s None c None",
-". c #808080",
-"X c #c0c0c0",
-"o c Black",
-"O c Gray100",
-"+ c Green",
-"@ c #008000",
-" ",
-" ",
-" ",
-" ",
-" ............. ",
-" .XXXXXXXXXXXX.o",
-".OOOOOOOOOOOO..o",
-".XXXXXXXXX+@X..o",
-".XXXXXXXXXXXX..o",
-".X..........X..o",
-".XOOOOOOOOOOX..o",
-"..............o ",
-" ooooooooooooo ",
-" ",
-" ",
-" "};
-
-/* CD-ROM */
-static const char *file_icons_tbl_cdrom_xpm[] = {
-"16 16 10 1",
-" s None c None",
-". c #808080",
-"X c #c0c0c0",
-"o c Yellow",
-"O c Blue",
-"+ c Black",
-"@ c Gray100",
-"# c #008080",
-"$ c Green",
-"% c #008000",
-" ... ",
-" ..XoX.. ",
-" .O.XoXXX+ ",
-" ...O.oXXXX+ ",
-" .O..X.XXXX+ ",
-" ....X.+..XXX+",
-" .XXX.+@+.XXX+",
-" .X@XX.+.X@@X+",
-" .....X...#XX@+ ",
-".@@@...XXo.O@X+ ",
-".@XXX..XXoXOO+ ",
-".@++++..XoX+++ ",
-".@$%@@XX+++X.+ ",
-".............+ ",
-" ++++++++++++ ",
-" "};
-
-/* Floppy */
-static const char * file_icons_tbl_floppy_xpm[] = {
-"16 16 7 1",
-" s None c None",
-". c #808080",
-"X c Gray100",
-"o c #c0c0c0",
-"O c Black",
-"+ c Cyan",
-"@ c Red",
-" ......X",
-" .ooooooO",
-" .+++++OO",
-" .++++++O",
-" .++++++O",
-" .ooooooO",
-" .......o....oO",
-" .oooooo.o.O.XoO",
-".XXXXXXXXOOOOOO ",
-".ooooooooo@o..O ",
-".ooo....oooo..O ",
-".o..OOOO...o..O ",
-".oooXXXXoooo..O ",
-".............O ",
-" OOOOOOOOOOOO ",
-" "};
-
-/* Removeable */
-static const char * file_icons_tbl_removeable_xpm[] = {
-"16 16 7 1",
-" s None c None",
-". c #808080",
-"X c #c0c0c0",
-"o c Black",
-"O c Gray100",
-"+ c Red",
-"@ c #800000",
-" ",
-" ",
-" ",
-" ............. ",
-" .XXXXXXXXXXXX.o",
-".OOOOOOOOOOOO..o",
-".OXXXXXXXXXXX..o",
-".O+@.oooooo.X..o",
-".OXXOooooooOX..o",
-".OXXXOOOOOOXX..o",
-".OXXXXXXXXXXX..o",
-".O............o ",
-" ooooooooooooo ",
-" ",
-" ",
-" "};
+#endif // GTK+ < 2.4
// ----------------------------------------------------------------------------
// wxFileIconsTable & friends
wxART_CMN_DIALOG,
wxSize(16, 16)));
// folder_open
- m_smallImageList->Add(wxIcon(file_icons_tbl_folder_open_xpm));
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_FOLDER_OPEN,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
// computer
+#ifdef __WXGTK24__
+ // GTK24 uses this icon in the file open dialog
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_HARDDISK,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
+#else
m_smallImageList->Add(wxIcon(file_icons_tbl_computer_xpm));
+#endif
// drive
- m_smallImageList->Add(wxIcon(file_icons_tbl_drive_xpm));
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_HARDDISK,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
// cdrom
- m_smallImageList->Add(wxIcon(file_icons_tbl_cdrom_xpm));
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_CDROM,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
// floppy
- m_smallImageList->Add(wxIcon(file_icons_tbl_floppy_xpm));
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_FLOPPY,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
// removeable
- m_smallImageList->Add(wxIcon(file_icons_tbl_removeable_xpm));
+ m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_REMOVABLE,
+ wxART_CMN_DIALOG,
+ wxSize(16, 16)));
// file
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_NORMAL_FILE,
wxART_CMN_DIALOG,