X-Git-Url: http://ecere.com/cgi-bin/gitweb.cgi?p=ede;a=blobdiff_plain;f=libede%2Fsrc%2FFileSystemBox.ec;h=1a32a80eafb2f33cabde428ca18919708d80dcb3;hp=9527e2878d54a689c250b1c4eadfa40d9a9e5487;hb=7ae5305c2d3aa90666f3e180321e83f6a2db052f;hpb=c3c07aa52ae2c7d74ac9ffcbff9060dfae6404aa diff --git a/libede/src/FileSystemBox.ec b/libede/src/FileSystemBox.ec index 9527e28..1a32a80 100644 --- a/libede/src/FileSystemBox.ec +++ b/libede/src/FileSystemBox.ec @@ -321,29 +321,6 @@ public: if(icon) { - w = icon.width; - h = icon.height; - } - if(type == pictureFile && fsb.previewPictures && bitmap) - { - surface.SetForeground(white); - surface.blend = true; - //#ifndef __linux__ - //surface.Filter(bitmap, (clientSize.w - w) / 2,(clientSize.h - h) / 2, 0,0, w, h, bitmap.width, bitmap.height); - //surface.Filter(bitmap, x + indent/* * indentSize*/ + 2, y, 0, 0, w, h, bitmap.width, bitmap.height); - surface.Filter(bitmap, x,y,0,0, w, h, bitmap.width, bitmap.height); - //#else - // Until Filter / Stretch works with X - //surface.Blit(bitmap, (clientSize.w - bitmap.width) / 2,(clientSize.h - bitmap.height) / 2, 0,0, bitmap.width, bitmap.height); - // surface.blend = true; - //surface.Blit(bitmap, x + indent/* * indentSize*/ + 2, y,0,0, w, h); - //surface.Blit(bitmap, x,y,0,0, bitmap.width, bitmap.height); - //#endif - //bitmap.Free(); - //delete bitmap; - } - else if(icon) - { //surface.blend = true; //surface.alphaWrite = blend; surface.SetForeground(white); @@ -425,7 +402,7 @@ static FileSystemNode MakeFileSystemNode(const FileStats stats, FileSystemNode node { stats = stats }; - //if(stats.attribs.isFile) // -- should work now + //if(stats.attribs.isFile) // TODO fix this in ecere if(stats.attribs.isDirectory) { extension[0] = '\0'; @@ -473,7 +450,7 @@ static FileSystemNode MakeFileSystemNode(const FileStats stats, if(node.type == pictureFile && previewPicture) { - node.bitmap = Bitmap { alphaBlend = true }; + node.bitmap = Bitmap { }; node.bitmap.Load(filePath, null, displaySystem); } @@ -482,7 +459,7 @@ static FileSystemNode MakeFileSystemNode(const FileStats stats, class FileSystemBoxBits { - bool foldersOnly:1, filesOnly:1, details:1, treeBranches:1, previewPictures:1, navigateFolders:1; + bool foldersOnly:1, filesOnly:1, details:1, treeBranches:1, previewPictures:1; //bool header:1, freeSelect:1, fullRowSelect:1, multiSelect:1, autoScroll:1, alwaysHL : 1, moveRows:1, resizable:1; //bool moveFields:1, clearHeader:1, alwaysEdit:1, collapse:1, treeBranch:1, rootCollapse:1, heightSet:1; //bool sortable:1, noDragging:1, fillLastField:1, expandOnAdd:1; @@ -509,7 +486,6 @@ public: FileSystemNode selection; virtual bool Window::NotifyNodeSelect(FileSystemBox box, FileSystemNode node); - virtual bool Window::NotifyNodeOpen(FileSystemBox box, FileSystemNode node); property char * path { @@ -518,8 +494,6 @@ public: delete path; if(value && value[0]) path = CopyString(value); - if(locationBox) - locationBox.path = value; if(created) Load(); } @@ -544,7 +518,6 @@ public: } get { return bits.treeBranches; } }; - property bool navigateFolders { set { bits.navigateFolders = value; bits.foldersOnly = !value; } get { return bits.navigateFolders; } }; property FileSystemNode node { @@ -560,8 +533,6 @@ public: } } - PathBox locationBox; - void Select(FileSystemNode node) { if(node.row) @@ -583,11 +554,6 @@ public: return null; } - void Refresh() - { - Load(); - } - private: FileSystemBoxBits bits; @@ -620,9 +586,9 @@ private: } } - DataField nameField { dataType = "FileSystemNode", width = 240, userData = this, freeData = false }; + DataField nameField { dataType = "FileSystemNode", width = 240, userData = this }; DataField typeField { header = "Type", dataType = /*"String"*/ "char *", width = 40, freeData = false }; - DataField sizeField { header = "Size", dataType = "FileSize", width = 96, alignment = right, freeData = false }; + DataField sizeField { header = "Size", dataType = "FileSize", width = 96, alignment = right }; bool OnPostCreate() { @@ -753,35 +719,8 @@ private: return true; } - bool NotifyDoubleClick(ListBox listBox, int x, int y, Modifiers mods) - { - return OpenNode(); - } - - bool NotifyKeyDown(ListBox listBox, DataRow row, Key key, unichar ch) - { - bool result; - if((SmartKey)key == enter) - result = OpenNode(); - else - result = true; - return true; - } }; - bool OpenNode() - { - bool result; - if(selection && selection.type.isFolder && bits.navigateFolders) - { - property::path = selection.path; - result = true; - } - else - result = NotifyNodeOpen(this.master, this, selection); - return result; - } - // Edit Menu Menu editMenu { menu, "Edit", e }; MenuItem itemEditCut @@ -861,7 +800,7 @@ private: { if((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && listing.stats.attribs.isFile)) + (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? { FileSystemNode node = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); DataRow row = list.AddRow(); @@ -896,14 +835,14 @@ private: root = MakeFileSystemNode(FileStats { attribs = FileExists(path)}, path, path, bits.previewPictures, displaySystem); #ifdef __WIN32__ //root.name = rootName; - AddTreeNode(root, true, false, null);//, list); + AddTreeNode(root, true, false, null, list); #else //root.name = "/"; #endif AddTreeNode(root, false, true, null); // How can this make sense for linux? - /*#ifdef __WIN32__ + #ifdef __WIN32__ while(listing.Find()) { int len = strlen(listing.name); @@ -937,7 +876,7 @@ private: node.row.collapsed = true; Sort(nameField, 1); SelectRow(root.row); - #endif*/ + #endif LoadTreeNode(root); list.Sort(nameField, 1); } @@ -951,13 +890,13 @@ private: { FileListing listing { path, extensions = extensions }; if(node.children.count == 1) - DeleteNode(node.children.first); + DeleteNode(node.children.first); while(listing.Find()) { - if(!listing.stats.attribs.isRemovable && ((!bits.foldersOnly && !bits.filesOnly) || + if((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && listing.stats.attribs.isFile))) + (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? { FileSystemNode child = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); AddTreeNode(child, true, false, node); @@ -998,7 +937,7 @@ private: { if((!bits.foldersOnly && !bits.filesOnly) || (bits.foldersOnly && listing.stats.attribs.isDirectory) || - (bits.filesOnly && listing.stats.attribs.isFile)) + (bits.filesOnly && !listing.stats.attribs.isDirectory/*listing.stats.attribs.isFile*/)) // TOCHECK: isFile broken? { FileSystemNode child = MakeFileSystemNode(listing.stats, listing.name, listing.path, bits.previewPictures, displaySystem); AddTreeNode(child, true, false, parent);