Make use of new Art.
Add sections to the dir dialog as per the GTK 2.4 file dialog (Home, Desktop, "/"). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -504,6 +504,10 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
|
|||||||
Init();
|
Init();
|
||||||
|
|
||||||
long treeStyle = wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT;
|
long treeStyle = wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT;
|
||||||
|
|
||||||
|
#ifdef __WXGTK20__
|
||||||
|
treeStyle |= wxTR_NO_LINES;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (style & wxDIRCTRL_EDIT_LABELS)
|
if (style & wxDIRCTRL_EDIT_LABELS)
|
||||||
treeStyle |= wxTR_EDIT_LABELS;
|
treeStyle |= wxTR_EDIT_LABELS;
|
||||||
@@ -549,7 +553,7 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
|
|||||||
m_rootId = m_treeCtrl->AddRoot( rootName, 3, -1, rootData);
|
m_rootId = m_treeCtrl->AddRoot( rootName, 3, -1, rootData);
|
||||||
m_treeCtrl->SetItemHasChildren(m_rootId);
|
m_treeCtrl->SetItemHasChildren(m_rootId);
|
||||||
ExpandDir(m_rootId); // automatically expand first level
|
ExpandDir(m_rootId); // automatically expand first level
|
||||||
|
|
||||||
// Expand and select the default path
|
// Expand and select the default path
|
||||||
if (!m_defaultPath.empty())
|
if (!m_defaultPath.empty())
|
||||||
{
|
{
|
||||||
@@ -561,7 +565,7 @@ bool wxGenericDirCtrl::Create(wxWindow *parent,
|
|||||||
// On Unix, there's only one node under the (hidden) root node. It
|
// 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;
|
// represents the / path, so the user would always have to expand it;
|
||||||
// let's do it ourselves
|
// let's do it ourselves
|
||||||
ExpandPath(wxT("/"));
|
ExpandPath( wxT("/") );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -617,10 +621,15 @@ void wxGenericDirCtrl::SetupSections()
|
|||||||
|
|
||||||
size_t n, count = wxGetAvailableDrives(paths, names, icons);
|
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++)
|
for (n = 0; n < count; n++)
|
||||||
{
|
|
||||||
AddSection(paths[n], names[n], icons[n]);
|
AddSection(paths[n], names[n], icons[n]);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event)
|
void wxGenericDirCtrl::OnBeginEditItem(wxTreeEvent &event)
|
||||||
@@ -1244,35 +1253,6 @@ void wxDirFilterListCtrl::FillFilterList(const wxString& filter, int defaultFilt
|
|||||||
// wxFileIconsTable icons
|
// 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 */
|
|
||||||
" ",
|
|
||||||
" @@@@@ ",
|
|
||||||
" @$$$$$@ ",
|
|
||||||
" @$#+#+#$@@@@@@ ",
|
|
||||||
" @$+#+#+$$$$$$@.",
|
|
||||||
" @$#+#+#+#+#+#@.",
|
|
||||||
"@@@@@@@@@@@@@#@.",
|
|
||||||
"@$$$$$$$$$$@@+@.",
|
|
||||||
"@$#+#+#+#+##.@@.",
|
|
||||||
" @$#+#+#+#+#+.@.",
|
|
||||||
" @$+#+#+#+#+#.@.",
|
|
||||||
" @$+#+#+#+##@..",
|
|
||||||
" @@@@@@@@@@@@@.",
|
|
||||||
" .............",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
||||||
|
|
||||||
/* Computer */
|
/* Computer */
|
||||||
static const char * file_icons_tbl_computer_xpm[] = {
|
static const char * file_icons_tbl_computer_xpm[] = {
|
||||||
"16 16 7 1",
|
"16 16 7 1",
|
||||||
@@ -1300,117 +1280,6 @@ static const char * file_icons_tbl_computer_xpm[] = {
|
|||||||
".XOXXXXXXXXX.o ",
|
".XOXXXXXXXXX.o ",
|
||||||
"............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 ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxFileIconsTable & friends
|
// wxFileIconsTable & friends
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -1474,17 +1343,34 @@ void wxFileIconsTable::Create()
|
|||||||
wxART_CMN_DIALOG,
|
wxART_CMN_DIALOG,
|
||||||
wxSize(16, 16)));
|
wxSize(16, 16)));
|
||||||
// folder_open
|
// 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
|
// 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));
|
m_smallImageList->Add(wxIcon(file_icons_tbl_computer_xpm));
|
||||||
|
#endif
|
||||||
// drive
|
// drive
|
||||||
m_smallImageList->Add(wxIcon(file_icons_tbl_drive_xpm));
|
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_HARDDISK,
|
||||||
|
wxART_CMN_DIALOG,
|
||||||
|
wxSize(16, 16)));
|
||||||
// cdrom
|
// cdrom
|
||||||
m_smallImageList->Add(wxIcon(file_icons_tbl_cdrom_xpm));
|
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_CDROM,
|
||||||
|
wxART_CMN_DIALOG,
|
||||||
|
wxSize(16, 16)));
|
||||||
// floppy
|
// floppy
|
||||||
m_smallImageList->Add(wxIcon(file_icons_tbl_floppy_xpm));
|
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_FLOPPY,
|
||||||
|
wxART_CMN_DIALOG,
|
||||||
|
wxSize(16, 16)));
|
||||||
// removeable
|
// removeable
|
||||||
m_smallImageList->Add(wxIcon(file_icons_tbl_removeable_xpm));
|
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_REMOVABLE,
|
||||||
|
wxART_CMN_DIALOG,
|
||||||
|
wxSize(16, 16)));
|
||||||
// file
|
// file
|
||||||
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_NORMAL_FILE,
|
m_smallImageList->Add(wxArtProvider::GetBitmap(wxART_NORMAL_FILE,
|
||||||
wxART_CMN_DIALOG,
|
wxART_CMN_DIALOG,
|
||||||
|
Reference in New Issue
Block a user