X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=294e4144e8c2cb610ea1cfdfa7c473caa1d67338;hp=e184693e9848f0e13e5790a52f5ea0a2035ab1ce;hb=35e36a354682ec9e42d18303195d0f4c765519c9;hpb=47c68b7269adbb7d1b22fefb8b4cecbd3afb1c0c diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index e184693..294e414 100644 --- a/libede/src/FileSystemBox.ec +++ b/libede/src/FileSystemBox.ec @@ -166,6 +166,7 @@ public: FileSystemNode selection; virtual bool Window::NotifyNodeSelect(FileSystemBox box, FileSystemNode node); + //virtual bool Window::NotifyNodeNavigate(FileSystemBox box, FileSystemNode node); virtual bool Window::NotifyNodeOpen(FileSystemBox box, FileSystemNode node); property char * path @@ -340,6 +341,7 @@ private: } DataField nameField { dataType = "FileSystemNode", width = 240, userData = this, freeData = false }; + DataField pathField { header = "Location", dataType = /*"String"*/ "char *", width = 100, freeData = false }; DataField typeField { header = "Type", dataType = /*"String"*/ "char *", width = 40, freeData = false }; DataField sizeField { header = "Size", dataType = "FileSize", width = 96, alignment = right, freeData = false }; @@ -582,14 +584,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); @@ -735,6 +730,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(); @@ -747,6 +754,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) @@ -1871,12 +1883,15 @@ public: } } else + { /*#ifdef __WIN32__ strcpy(outputPath, "/"); #else*/ - strcpy(outputPath, name); + //strcpy(outputPath, name); + strcpy(outputPath, path); + PathCat(outputPath, name); //#endif - + } } bool IsChildOf(FileSystemNode node) @@ -2108,7 +2123,8 @@ public: } return node; }*/ -static FileSystemNode MakeFileSystemNode(const FileStats stats, + +FileSystemNode MakeFileSystemNode(const FileStats stats, const char * fileName, const char * filePath, const bool previewPicture, const DisplaySystem displaySystem) {