Well, technically it is finished. I fixed the bug, and I made it parse the files correctly... however, there is a dilemma I am facing.
Right now, I reload my entire set of file data for a specific file each time it is modified (not a line edited, but a line deleted/added). This works well, and is very fast, actually. It is far faster than the refresh rate of a high quality CRT, and is thus not noticeable. However, when you do insert a child or a sibling into the tree, it is refreshed and thus the expanded node is collapsed. This can get annoying. I will not accept this. It annoys me way too much.
The problem is, the other way, inserting into the tree using the functions provided by the tree control I use, is slow. If you insert one child or sibling into a node that is not of level 0 (ie: not at the root level), you NOTICE the delay. It is about 1 second. Imagine if you have to copy and paste 50-60 items... This is not really acceptable, to me; however, neither is making a switch to a new component now. It took me forever to find a component I liked that combined the functionality of a treeview and listview. It just so happens that the people who coded the component, while being good at providing a feature rich component, completely fail at designing efficient algorithms for data structures.
So, basically, this shit is gay. I think #1 will be better because it has no delay at all and I MIGHT be able to get it set up so it restores the positions; however, this would be very hard, since there is nothing uniquely defining the values besides an index, and the index can change with the insertion and deletion of items. I can think of one way though... It will just be annoying. I am going to find a way to restore the positions. Hopefully tomorrow. If I cant by tomorrow, I will release the fixed version, and you will have to deal with the annoyance until I can fix it. I will have to find the way to do it within 30 minutes, because that is how long I am spending on this project. After that, I am not doing anything except starting up on v1.1.0, and that might not be for a while.
Of course, if there is some serious bug, I will fix that.
Sorry if I sound upset. I am. I wasted 40 minutes trying today on this project and only fixed a bug, improved performance, and some other miscellaneous things. I don't like dealing with nonsense that can be avoided. I especially don't like how I had to find a round about way of deleting selected nodes because of how this prick set events up. You know,if you fire a BEFORE SELECT event, you should not yet be modifying the list of selected items. That took up 10 minutes of my time to do something that should have taken 40-50 seconds.
Anyway, I will see what I can do about this.