X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=feebf15821763033ba2aafd604810dc2f71d2531;hp=f7bb89b7e9cdf19cc31696afcb43e31f7f7ea78c;hb=43d904637eb64fc4cfe14b3cab79ee2846af654e;hpb=869508b5dd2f1151768de7a389edb4a32a5d11ce diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index f7bb89b..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[] = @@ -202,6 +202,7 @@ public: get { return bits.treeBranches; } }; 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(); @@ -618,9 +619,9 @@ private: 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) {