X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=9744ae181d9e28d3f902a26fa75fe592dc4cba33;hp=24c443db8a77f9d12387aca2e456de7a5636c0ea;hb=b97af73d7dce0368152b23f4c034e21db4a9ff6c;hpb=5a0f6a062efbc9ee6c74292278ea75188994fe36 diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index 24c443d..9744ae1 100644 --- a/libede/src/FileSystemBox.ec +++ b/libede/src/FileSystemBox.ec @@ -475,8 +475,9 @@ private: bool NotifyDoubleClick(ListBox listBox, int x, int y, Modifiers mods) { + bool result = !(selection && selection.type.isFolder && bits.navigateFolders); OpenNode(); - return false; + return result; } bool NotifyKeyDown(ListBox listBox, DataRow row, Key key, unichar ch) @@ -494,12 +495,8 @@ private: { bool result; if(selection && selection.type.isFolder && bits.navigateFolders) - { property::path = selection.path; - result = true; - } - else - result = NotifyNodeOpen(this.master, this, selection); + result = NotifyNodeOpen(this.master, this, selection); return result; } @@ -585,14 +582,7 @@ private: (bits.filesOnly && listing.stats.attribs.isFile)) { FileSystemNode node = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); - DataRow row = list.AddRow(); - row.tag = (int)node; - row.SetData(nameField, node); - if(bits.details) - { - row.SetData(typeField, node.extension); - row.SetData(sizeField, (void *)node.stats.size); - } + AddNode(node); } } list.Sort(nameField, 1); @@ -738,6 +728,18 @@ private: parent.childrenLoaded = true; } + void AddNode(FileSystemNode node) + { + DataRow row = list.AddRow(); + row.tag = (int)node; + row.SetData(nameField, node); + if(bits.details) + { + row.SetData(typeField, node.extension); + row.SetData(sizeField, (void *)node.stats.size); + } + } + void AddTreeNode(FileSystemNode node, bool loaded, bool addLoader, FileSystemNode addTo) { DataRow row = (addTo && addTo.row) ? addTo.row.AddRow() : list.AddRow(); @@ -750,6 +752,11 @@ private: row.tag = (int)node; node.row = row; row.SetData(null, node); + if(bits.details) + { + row.SetData(typeField, node.extension); + row.SetData(sizeField, (void *)node.stats.size); + } node.loaded = loaded; if(addLoader)