X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=feebf15821763033ba2aafd604810dc2f71d2531;hp=4d20d0e5865d8d585f33b4cccde4402e64a89993;hb=6bba07aea2613801a91d94f35584f86d1d6413df;hpb=39ac950d76e2639fa795bd567b80d0fbbcd960e9 diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index 4d20d0e..feebf15 100644 --- a/libede/src/FileSystemBox.ec +++ b/libede/src/FileSystemBox.ec @@ -8,7 +8,7 @@ static char * rootName = "File System"; #endif private: -define guiApp = ((GuiApplication)__thisModule); // how to do this in a dll? +define guiApp = (GuiApplication)((__thisModule).application); define selectionColor = guiApp.currentSkin.selectionColor; //Color { 10, 36, 106 }; static char * fileIconNames[] = @@ -201,7 +201,8 @@ public: } get { return bits.treeBranches; } }; - property bool navigateFolders { set { bits.navigateFolders = value; bits.foldersOnly = !value; } get { return bits.navigateFolders; } }; + property bool navigateFolders { set { bits.navigateFolders = value; bits.filesOnly = !value; } get { return bits.navigateFolders; } }; + property bool multiSelect { set { list.multiSelect = value; } get { return list.multiSelect; } }; property FileSystemNode node { @@ -518,7 +519,7 @@ private: { if((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? + (bits.filesOnly && listing.stats.attribs.isFile)) { FileSystemNode node = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); DataRow row = list.AddRow(); @@ -614,13 +615,13 @@ private: { FileListing listing { path, extensions = extensions }; if(node.children.count == 1) - DeleteNode(node.children.first); + DeleteNode(node.children.first); while(listing.Find()) { - if((!bits.foldersOnly && !bits.filesOnly) || + if(!listing.stats.attribs.isRemovable && ((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? + (bits.filesOnly && listing.stats.attribs.isFile))) { FileSystemNode child = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); AddTreeNode(child, true, false, node); @@ -661,7 +662,7 @@ private: { if((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? + (bits.filesOnly && listing.stats.attribs.isFile)) { FileSystemNode child = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); AddTreeNode(child, true, false, parent); @@ -1704,7 +1705,7 @@ ExplorerFileItem MakeFileItem(const FileAttribs attribs, const char * fileName, ExplorerFileItem item { }; - //if(attribs.isFile) // TODO fix this in ecere + //if(stats.attribs.isFile) // -- should work now if(attribs.isDirectory) { extension[0] = 0; @@ -1929,7 +1930,7 @@ public: //surface.WriteTextDots(alignment, x + textOffset, y + 2, width - textOffset, name, strlen(name)); surface.WriteTextDots(alignment, xStart, y + 2, width, label, len); - //if(!guiApp.textMode) -- how to do this in a dll? + if(!guiApp.textMode) { if(displayFlags.current) {