From 82c1f2a390cfba80a1942e763efd14de512e76e7 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 27 Nov 2004 23:25:30 +0000 Subject: [PATCH] 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 --- src/generic/dirctrlg.cpp | 184 ++++++++------------------------------- 1 file changed, 35 insertions(+), 149 deletions(-) diff --git a/src/generic/dirctrlg.cpp b/src/generic/dirctrlg.cpp index 7f95513ed7..9b12eb10d1 100644 --- a/src/generic/dirctrlg.cpp +++ b/src/generic/dirctrlg.cpp @@ -504,6 +504,10 @@ bool wxGenericDirCtrl::Create(wxWindow *parent, Init(); long treeStyle = wxTR_HAS_BUTTONS | wxTR_HIDE_ROOT; + +#ifdef __WXGTK20__ + treeStyle |= wxTR_NO_LINES; +#endif if (style & wxDIRCTRL_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_treeCtrl->SetItemHasChildren(m_rootId); ExpandDir(m_rootId); // automatically expand first level - + // Expand and select the default path 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 // represents the / path, so the user would always have to expand it; // let's do it ourselves - ExpandPath(wxT("/")); + ExpandPath( wxT("/") ); } #endif @@ -617,10 +621,15 @@ void wxGenericDirCtrl::SetupSections() 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) @@ -1244,35 +1253,6 @@ void wxDirFilterListCtrl::FillFilterList(const wxString& filter, int defaultFilt // 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 */ static const char * file_icons_tbl_computer_xpm[] = { "16 16 7 1", @@ -1300,117 +1280,6 @@ static const char * file_icons_tbl_computer_xpm[] = { ".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 ", -" ", -" ", -" "}; - // ---------------------------------------------------------------------------- // wxFileIconsTable & friends // ---------------------------------------------------------------------------- @@ -1474,17 +1343,34 @@ void wxFileIconsTable::Create() 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, -- 2.45.2