/////////////////////////////////////////////////////////////////////////////
// 2xExplorer R7xx "Cartmann" @ 09 April 2002


Did I say that version R7x was going to be the last? Well, thanks to mikros~1 and their winXP upgrade, I had to do some patching so that 2x wouldn't kak-up ZIP folders, so enter version R7xx. Once I put on the 2x-programming hat, I thought I'd throw in a couple more features just to make this newest upgrade worth your downloading while.

But that's it, no more developing on this kernel (until the next OS release anyroad!). I read the code and I don't understand sh*t any more. Did I write that stuff? The object-oriented edifice has crumbled and if messrs Kernighan/Richie ever caught a glimpse of it they'd surely oust me from the respectable programmers club --- never mind Stroustroup, he'd shoot me in the head immediately <G>. Nowt other than a complete rewrite from the ground-up will do...


1. ZIP FOLDERS --------------------------------------

When I first heard about this new XP feature (which as it turns out is not that new, since it first appeared in winME) I thought it was a really bad idea, and wrote down FAQ #25 for a way to disable this feature. Why risk the integrity of your archives to this new and potentially unreliable OS feature when you have bullet-proof zip managers (WinRAR, winzip, etc), which you know and trust?

Well, as it turns out there is some purpose in directly reading archives in 2xExplorer after all: synchronization. You can have the "real" files in one pane and their archived version in the other, and check what needs updating. Plus you can do things in zips that perhaps your regular zip manager couldn't do, like selecting by extension or other filter.

Hence, despite my initial dismissal of the feature, I came to recognize that it made sense from a usability point of view --- plus it was an interesting programming adventure from the author's perspective (only COM-proficient developers need apply :). Unfortunately it was not possible to offer the full feature set of commands 2xExplorer allows for regular filesystem folders, but there's enough to get you by, especially if you consider that file size and date information is available; this is by no means a trivial achievement, mind!

Here are things that you can do within zip folders:
* Select items using filters
* Simple synchronization
* Contents synchronization.
* File viewing <F3> in the internal editor
* View thumbnails (this is something that even win2000 explorer can't do!)
* Find in files <Ctrl+G> (within archive)
[NOTE]: Some of these features necessitate extraction of the file data in a temporary folder. To make things run faster there's a new registry variable under "General Settings" key called "nMaxExtractSize" with a default size of 256kB. Files bigger than this limit won't be processed; you may change this value either upwards or downwards.

And here's a smaller list of what you can't do:
* File editing (doesn't make sense)
* Set bookmarks
* Mirror browsing

There are a couple of details you need to keep in mind when working within ZIP "folders". All file operations are available (copy, delete, etc) but since down deep zips are "virtual" folders as far as 2xExplorer is concerned, you cannot copy files _into_ them with <F5> or <F6>, but you can do that same thing via drag/drop. Copying _out_ is easier, since the regular "copy to..." commands behave as expected.

Another catch (which partially explains the copy-in problem above) is that you cannot type "path" names in the address bar that refer to subfolders within a ZIP folder. For instance, if there is a folder called "RES" within a zip file (folder), you cannot type "RES" in the address bar and expect to browse into it (you can double-click it of course). Mikros~1 have got the path parsing all in knots (at least in the win2000 version of zipfldr.dll I am experimenting with) and there's nothing I can do. This path problem disables the useful "Mirror Browsing" command in zipfolders too, which is a shame especially considering that all synchronization commands (even on contents <Alt+F9>!) are available.

There are a few (benign) quirks too, which I'll leave them to be discovered by the observant user <g>. All in all, considering that I don't know the first thing about zip formats and things, it's a miracle that things work as well as they do! In the end of the day, if you don't like this feature you may always deactivate it following the instructions in FAQ #25.

In the "new generation" 2xExplorer (if any) there will be a full command set available for zip and other similar folders (e.g. FTP) just like as if they were normal filesystem directories, albeit with a small performance disadvantage.



2. MISCELLANEOUS PATCHES AND IMPROVEMENTS -----------

* FILE SHREDDING. A new command in Files menu allows permanent and irreversible deletion of selected files and folders. Not only you cannot undo such an operation from the recycle bin, but even the FBI could not retrieve the old data since the files are completely overwritten before being sent to the kingdom come. A must for people involved in industrial espionage, but the rest of you please be careful!

* TOUCHING FILES. Nothing derrogatory there <g>, touching in the sense of updating the modification times (what were you thinking?). There are two new commands in Mark | Advanced menu, for two possible flavors. The first plain Touch, simply sets the modification dates of all _selected_ files to here and now. The second one is a bit cheekier, in that it forces synchronization in terms of modification times between the active and inactive pane. It takes the modification times of items in the active pane and forces them upon same-name items in the inactive pane. This should come handy in synchronizations near those times in the year where time changes due to daylight savings cack-up NTFS times by an hour or so creating phantom "differences".

* REPEAT LAST COMMAND. This handy new feature in the Tools menu allows quick-repeating of the last shell or dos command executed, without having to press <Return> a hundred-odd times like the old <Ctrl+F10> alternative.

* FILE SIZE FORMAT. A new registry variable "bPlainBytesFormat" within "General Settings" key controls how the various file sizes are reported. The default value (1 -> TRUE) shows things as you've used to know them, i.e. everything in bytes. Setting this to 0 will result in all sizes being "compressed" to the nearest SI unit, i.e. kB, MB, GB etc. One for the man whose control/perfection urges could attact the wrong kind of attention this <g>

* INTERNAL VIEWER SHORTCUT. Since most external text viewers (if any) activated by View | Options command don't have a notion for "read-only" files, I have deemed logical to reassign <F3> shortcut to open files in the internal viewer. <Ctrl+F3> will open the selection to the external "viewer". The edit command shortcuts on the other hand remain unaffected, i.e. <F4> will give priority to the external editor.

* SELECT ALL FOLDERS. A keyboard-only command <Alt+D> quickly selects all folders in the active pane. <Alt+Shift+D> unselects all folders.

* PATCH FOR NTFS FILETIMES. These are now 1-second accurate. File and folder time info in FAT partitions remain at a coarser 2-second resolution, but this is taken into account so as to avoid synchronisation false alarms.

* PATCH FOR '?' WILDCARDS. The special character '*' is meant to match _any_ sequence of any characters, even zero of them. The '?' on the other hand is meant to match _exactly_ one character. This is now correctly adhered to by 2xExplorer's pattern matching logic. For instance, "*.?" will match "file.c", "other.h" but NOT "source.cxx". 

* SORT BY EXTENSION PATCH. Now files with more than one extension (e.g. this.that.gz) will now be properly sorted by the _last_ extension of the filename.

* XP VISUAL STYLES. The file "2xExplorer.exe.manifest" was added in the distribution for the new windows XP visual styles. If you want the new look, just keep this file in the same folder as 2xExplorer's executable. Otherwise just delete it and you'll get the traditional looks, which are more to my taste anyroad. This file has no effect in older windows platforms (e.g. win2000).


Now if you'll excuse me, I don't want to touch this version of 2xExplorer's source code ever again!
(but do I ever keep my promises? :)
Nikos


-------------------------
WWW:    http://www.netez.com/2xExplorer
Forum:  http://www.netez.com/bbs/