Up to i.File...
About
Changes:
- Added a "Show Hidden" option on the toolbar. And the architecture was so well written it automatically puts all the newly visible folders into the tree view. And removes them when you switch it off. I seriously thought I would have to write code to make that work and the first time I tried it I sat that a bit aghast... "that... was... coooool!". No extra coding required. And obviously I then went into geek convulsions, repeatedly showing and hidding file in my home directory to "experience" the coolness of not having to write code over and over and over...
- Fixed browsing to the desktop in the folder view screwing up the folder tree with lots of duplicate "desktop" folders.
- Added a specific folder icon for hidden folders.
- Added support for resolving name conflicts when moving and copying files around. If the source and dest are the same when copying then it auto generates a new files name along the lines of "Copy of ...." and when the src and dest are different it puts up a conflict dialog to ask whether to replace, rename, skip or cancel. It's all still a little rough but it's better than silently blatting the dest file eh!
- Added support to pass in an initial directory on the command line.
- Fixed ::OnBrowse to select the directory in the tree view, scroll to it if it's off the page and list the files instead of leaving the file pane blank.
- Fixed the right click file menu to cache all the mimetype->application lookups so that it can populate the "Open with..." menu quickly after the first time. (The is an LGI fix).
- Added proper cancel functionality to the search feature. The controls disable while searching and then reenable when the search ends. In the mean time the search button turns to a cancel button. Any search results found before the cancel button is pressed are displayed anyway.
- Made the mount and umount commands display their output if they fail. Usually it's a helpful error message.
- Made the umount command move off the drive in question to release the handle to it so that umount can actually work.
- I've greatly simplified the handling of new nodes. When you create a file or directory by copying/moving or whatever that even has to be seen by all the views of that parent directory so that it can be added into the view. This used to be complicated system of passing events through node ref's to their UI. And never seemed to work reliably, so I ditched that and made the application object the main collector of events. There is now a function called "OnNewNode" in the AppWnd that receives all new node events and passes them out to the various views in the system. Each view looks at the node and sees whether it's relevant to it's display and either discards the event or adds a new NodeRef into it's display.
- Added drag and drop target support to the folder tree view.
- Fixed some things in the network neighbourhood / smb support. Firstly it now finds the master browser all by itself which means it even has a chance of working on a machine other than mine (*hide in shame*) and also I've changed the process of looking up the network shares to use the rpc command instead of the smbclient which can't handle share names longer than 12 characters. The rpc command is limited to 127 characters. In the event that the rpc command doesn't work it tries the smbclient command as a fall back.
- Fixed some crashes and memory corruptions in the node and ref code when copying and moving files around. All hail valgrind!
- I've batched the mime typing results together into blocks so that they don't generate a message per file. This takes the load off the message passing engine of the GUI which on non Win32 platforms is usually crap. Especially X11 which has absymal message passing throughput.
- Added support for viewing entry permissions, owner and group.
- Added support for changing an entries permissions.
- Added support for seeing the status of files under version control. Currently only subversion is supported but it would be trivial to add CVS support as well.
- Added CVS status support as well. Made the version control state lookup threaded to keep to the UI snappy. It look like this, the blue icons are unmodified files under version control, the red icons are modified files.
- Fixed the progress bar to work with greater than 2gb files during copy operations.
- Fixed the size of folders in the properties window. Also fixed it for 64 bit safeness for the GB sized folders.