home *** CD-ROM | disk | FTP | other *** search
/ Freelog 7 / Freelog007.iso / BAS / Disque / 2xExplorer / Newest.txt < prev    next >
Text File  |  1999-12-09  |  46KB  |  221 lines

  1. // TODO: If you can't read this file properly, make sure that the
  2. //       "Word Wrap" view option is checked (press the F2 key)
  3.  
  4.           --------------------------------------
  5.           ~~~~~ 2 x E x p l o r e r   R R ~~~~~~
  6.           EXPLORER IS DEAD, LONG LIVE 2xEXPLORER
  7.           --------------------------------------
  8.                      15 November 1999
  9.  
  10. Ever since I was a minor suckling I used to like funerals. The culprit was a wacky old lady friend (Evanthitsa, RIP) of me grandmom (also RIP) that used to go to any old folks' funerals (whether acquainted or otherwise) and "pay her respects". The real agenda of course was to freeload on the various delicacies offered in remebrance of the deceased, in exchange of a few crocodilian tears. The real boon for me and the reason I have developed a taste for funerals is that she always used to split her unlawful proceeds with my said granma, and the ultimate beneficiary of the "koliva" was me. Yummy!
  11.  
  12. Massive 2xExplorer crew, I proud myself to be the arch-architect of the ultimate downfall of the standard and common as grass "explorer". RIP and good ridance. Even though it is highly unlikely that I'll ever get to eat me fave "koliva" out of this one, I can hardly contain myself and wipe the grin off me face. I have securely nailed the said sad application into the antiquity time-coffin. Well done. Just take a look at what you'll be getting with this latest RR (as in ZX-7RR) offering:
  13.  
  14. * full shell integration, including drag-drop and file operations in virtual 
  15.   folders (including shortcuts creation and handling)
  16.  
  17. * competitive folder reading speed; no more putting the kettle on for a cuppa
  18.   whenever reading large directories like "C:\Windows\System"
  19.  
  20. * as a result of the above efficiency, 2x now can afford to automatically scan
  21.   for changes in the contents of its panes and refresh them if need be. No 
  22.   more wondering where the hell did that zip file you've just created go.
  23.  
  24. In terms of added features, the list is not as impressive, but you still get a couple of convenient bookmarks for easily accessing your fave folders, and loads of other small and larger efficiency improvements here and there, which I leave them to be discovered by the users at large as welcome and pleasant surprises. I hope we won't get any moaners complaining about dropping standards though... coz I'm bound to get medieval once again. Did you know that I went through 2 massive books (that's about 2,000 pages of hard-core shell and COM fundamentals) to deliver you this produce? It may look similar on the outside but there hasn't been a stone left unturned in the inside.
  25.  
  26. In fact, the whole folder reading engine and class hierarchy and organisation has been overhauled; that should read "I junked the old 'un and started from scratch", dudes. It's a forunate coincidence that I have just started to master the touch-typing skills necessary to tackle the stupefying size the source code has risen to (no less than 728,485 characters at the time of going to press, not all of it just white space, mind). And at the same time the size of the executable itself went (marginally) down; well, how on earth is that possible then, given all the added functionality? I say it's putting COM knowledge into the best of uses and taking advantage of ready-to-use functionality rather than reinventing the wheel each time. Trust me, now going through my COM-enabled era, I sometimes wondered how did I ever manage to get the old 2x versions working without knowing how to spell IAdviceSink.
  27.  
  28. The finished article is a full shell-COM client, which for you and me means that it does whatever the explorer does and should be future proof, too. You must have come across rival file management software (the traitors among you at least <g>) that claim to offer drag-drop capabilities whereas they are in fact falling short of realising the full potential of shell communications. 2xExplorer on the other hand will not let you down the next time you try to drop a bunch of files onto some zip file, printer icon or anything else that bothers to advertise itself as a shell drop target. No half measures here. You even get the default actions depending on the drag context, e.g. "copy" when crossing devices, "link" when dragging executable files, and so on and so forth. Everybody should feel instantly at home.
  29.  
  30. On top of that you get all the trix like target highlighting, drag-scrolling of pane contents, dragging from and to "virtual" folders (wherever possible), the long-overdue link overlays for shortcuts, and all that. What you don't get is right-dragging (just use the Ctrl/Shift/Alt modifiers while left-dragging for the same functionality, paying attention to changing cursors for action cues, why dontcha?) and full iconic dragging. It's breaking my heart but I have to admit that dragging using the real file icons involved is a hard nut to crack, which I haven't managed to decipher (yet). And don't you start telling me about ImageLists because what we're after here is inter-process dragging, not playing in your own back-yard, innit?. So just the sad dragging rectangle cursor for the present I'm afraid folks---but hey, let's save some trix for the professional version, shall we?   ;¼{=) $$$ mucho dollaros Manolo $$$
  31.  
  32. Forgetting this rather skin-deep and ultimately insignificant setback, let us move our attention to the kind of things that have made us 2xPopular. I am referring to the newly-found awareness of the pane contents sported by 2xExplorer. Did you know that the common explorer would not (and does not) detect changes other than modified file names? Now clearly in 2xCity we may be lacking a little bit in the appearences department, but we couldn't possibly let such a major operational hazard without its due attention. Pursuant to the professed goal of going places where no explorer has gone before, 2x will detect all sorts of changes regarding the files it contains, and that of course includes the size and modification date information. You will agree that within a framework hell-bent on folder synchronisation, automatic refresh MUST extend into that territory. All this extra vigilance does not come for free though; try as it might to be efficient, 2x suffers marginally in reading speed compared to its microsoft cousin (the eagle-eyed among you may have noticed that in the specs above I mentioned "competitive reading speed" instead of boasting "man, this thing is as fast as me ZX7R---nearly!"; just call me honest Mack). However, this slight performance penalty is unavoidable given the extra information that 2x gathers, ignored by the fast-yet-sloppy-reading explorer thing. I says it's time well spent and hardly noticeable anyways. What price accuracy?
  33.  
  34.  
  35. SLOW BREWING FOR EXTRA MATURITY
  36.  
  37. 2xExplorer has reached a development stage where no major step-improvements are possible, since mostly everything is in place and running properly. So what's left is merely a smoothing out of the rough edges and imroving what is already an acceptable standard, for even more enjoyable (is that possible?) collaborations of man and machine---via the 2xAgent. The level of maturity is enough for me to consider this latest version the defininive 2xExplorer to date, and declare it the "official" release.
  38.  
  39. Right, what all this well-put and rightly-said short romantic essay really means is "don't expect fireworks in the new features department..." :) Marginal efficiency improvements though you'll get loads with the RR version. Why don't I hilight a few of them?
  40.  
  41. FOLDER BOOKMARKS. You don't get loads but the little you got is quite useful and can be put into good use for long-term enjoyment. You get one bookmark per pane; it's easy to set down and even easier to use and move you directly to your "bookmarked" folder wherever you happen to be browsing at the time. The Alt key behaviour here is a tad different to its usual functionality affecting the "other" pane. Here, by pressing <Alt+F10> you are using the other pane's bookmark to set the active pane's folder. Just don't set both bookmarks to the same target, hey! More elaborate bookmarks/favorite folders are reserved for the near future.
  42.  
  43. SYNCHRONIZE ON CONTENTS. The new command <Alt+F9> aims to assist in the synchronization for hard cases where file date information is useless, as for instance synchronizing between DOS/UNIX network drives (I also hear that it is helpful for FTP transfers). Since in such transfers the modification date is changed right at the moment of copying, then the two cross-OS panes will seemingly be "out of sync" even right after the copy operation is finished, judging solely on date information. The new command cures exactly this symptom in that it decides upon the identity of files by examining their content instead of the brief date/size information of <F9> Synchronize command. Just note that once the dates are out of the window, 2xExplorer cannot tell which version is more "recent"; if two files are found to differ then it's up to the user to determine which version is the "good'un". That's why this command will only examine the contents of the files in the active pane only, unlike the <F9> command that marks differences in both panes simultaneously. By the way, examining the file contents is bound to be slower than merely checking on dates, so only use this command if you have to.
  44.  
  45. FOCUS CURSOR AWARENESS. 2xExplorer uses the focused item in each pane (the one with the dotted rectangle drawn round it) in a similar fashion like a text editor's caret, in that it ensures its visibility at all times, scrolling the pane contents if need be. This is handy especially for large folders and/or for users that prefer the "details" view which suffers in terms of capacity. Under this light, the pane contents will be automatically scrolled whenever some operation (e.g. Synchronization) modifies the selection pattern. In this way at least some portion of the results will be visible, guaranteed. Another handy measure introduced is the ability to quickly jump to the next or previous selected item by pressing <Alt+Down> or <Alt+Up> respectively. This feature really sparcles in situations of sparse selection patterns where two selected items may be situated far from one another. The last department touched was the sychronized scrolling of the two panes <Ctrl+Y>. This command now works in all views, hilighting matching (same name) items. Still, "perfect" alignment of the panes is sought only when they both are in details view; in other cases the inactive pane is scrolled just to ensure that the matching focus is visible.
  46.  
  47. SORT DIRECTION. A new menu item in the "Sort" submenu enables the easy selection of the sorting direction, i.e. ascending or descending. Now you don't have to rely on the details view's list headers to toggle the sort direction. This works even in the FindFile results window too.
  48.  
  49. MORE THREADS. Talking about the FindFiles command, the results window now sports full MultiThreading technology *laffs* , in that a background thread scans your disk while you can immediately work with whatever results are already available. The search can also be interrupted by pressing the ESC key at any time. Likewise you can interrupt a lengthy grep (find text in files <Ctrl+G>) command by pressing ESC before its completion; the latter doesn't feature a separate thread though. Why bother?
  50.  
  51. FOLDER DATA. Talking about interruptibility, this peoples' choice item also gets to be interruptible by pressing the Escape key. So next time you accidentally press <Ctrl+D> while in the root your boot drive, whereas you merely wanted to <Ctrl+F> search for some file, you no longer will have to wait for half an hour or so until 2x relinquishes the main processor, cursing the QWERTY arrangement inventors while you are at it. On top of that, when you really want to check the statistics of some folder, you'll realise (especially the NT users) that 2xExplorer is no longer fussy about sub-folders that are inaccessible due to insufficient user permission levels. Hence this command will now let you examine the C:\WinNT directory without stumbling in the "Profiles" folders of other users.
  52.  
  53. FIND FILES IN MULTIPLE FOLDERS. There are more goodies for this command. First there is a check-button that automatically directs 2xExplorer to scan all local hard drives for the requested files. After I inserted that, I thought to myself: "why not allow any arbitrary comma-separated folder list to be used for the scanning, in accordance with so many other 2xOperations?". So there you have it; you can specify any series of folders in the "Look in" box, as long as you separate them by commas as usual. Trick, I says!
  54.  
  55. CYCLIC SEARCH. The find tool in the editor/viewer will now automatically cycle to the beginning (or end, depending on the search direction) of the file, to find the next occurence of the specified text. This of course is an option you can turn on/off at will; very useful nontheless, innit?
  56.  
  57. LOCATE IDENTICAL FILES. This new command in the "Mark" menu complements the regular synchronisation command, selecting only the files that are completely identical in both panes. It's target audience is folk that want to discover duplicate "Dolly-the-freak-sheep" files hiding in various spots in their filesystem. Works at its best in panes that are largely dissimilar.
  58.  
  59. MARK SAME TYPES. The Mark menu gets yet another new command called "Like this one" which enables the quick selection of files of some certain type. For instance, if you click (select) some file called "foo.cpp" and hit <Alt + Gray+> all the files with ".cpp" extension will be selected for you (including the accompanying complimentary "bar.cpp" of course <g>). It's a fast means of marking, equivalent to opening the Group selection dialog and specifying "*.cpp" as the selection pattern, only without the associated hassle. In other words "it's the same only different", as ancient oracles would have pompously stated in order to keep lay peoples at a perma-confused state. The hidden <Alt + Gray-> shortcut is also enabled to provide the same functionality for unselecting same-type files.
  60.  
  61. PERSISTENCE. As of this version 2xExplorer saves its persistent properties in the system registry, and discontinues using the 2xExplorer.ini file in the windows directory. Don't you worry now, it won't start polluting your whole registry with CLSIDs and such oddities; all the information is held in just one key called "HKEY_CURRENT_USER\Software\ZabaraKatranemia Plc\2xExplorer" (or "HKEY_USERS\<that's-you-that-is>\Software\ZabaraKatranemia Plc\2xExplorer" for WinNT). This change will involve a minor inconvenience since your old settings will be lost, but it makes sense for multi-user environments sharing a single computer, whence each one can have their own settings without causing the outrage of their colleagues. Many of you will probably manage to copy the INI settings over to the registry if you wish; at any rate I promise that I won't pull that kind of a stunt in the future, trust me!
  62.  
  63. RESIZABLE TOOLBAR. The main toolbar (y'know, the long one) now gets to be resizable when you float it. That should work a treat for users that want to keep the main window's horizontal extent to a minimum in small desktop resolutions (to that effect also remember that you can control the width of the folder combo box by tweaking the "nFolderComboWidth" key in the registry). You can also dock it to the left/right sides of the frame, but somehow I feel that the punters won't be queuing for this option. One for those of you out there that subscribe to the "must-differ-at-any-cost" fraternity, this.
  64.  
  65. DRIVEBAR LETTERS. After persistent requests launched by (arguably) rich people that can afford more drives than the rest of us proletariat folk, a new option added in the View/Options property page allows the letters of the drives to appear right underneath each drive button. Hence it will be much more easier to identify each drive without having to wait for the tooltip to appear. However, we at 2xExplorer development headquarters are not known for our affection---never mind support---towards the rich and the famous; the new letter feature does not work flawlessly. The problem is the MFC architecture itself that does not allow much flexibility when it comes to displaying text on toolbars. The text can only appear beneath the image and the font cannot be selected or resized (for Win9x at least). That leads to big and ugly buttons, which is the very reason why I didn't show the letters in previous versions of 2xExplorer. So our rich friends might end up with a fine or worse, if some officer of the computer fashion police happens to be passing by and witnesses such a visual in-your-face monstrocity on their screens. I don't know about you but I'm keeping this option OFF meself <g>
  66.  
  67.  
  68. Ok peoples,
  69. Shouts out to the massive 2xUsers,
  70. You is beauties,
  71. Maximum respect.
  72.  
  73. Your polite benefactor, every time,
  74. WIIKEEED SELEKTA
  75.  
  76. I'm out of here---like I stole something  ;¼) 
  77.  
  78.  
  79.  
  80.  
  81. ---------------------------------------------------------------------------
  82.  
  83.            (press release of the previous v0.999ie follows)
  84.          (i sure need to start building a help file, dinnit?)
  85.  
  86.  
  87.  
  88. NEWS AT A GLANCE:
  89. ^^^^^^^^^^^^^^^^
  90. - updated top-totty editor/viewer
  91. - shell context menu and clipboard cut/copy/paste operations
  92. - drive bar installed (free of charge)
  93. - Windows NT/2k enabled
  94. - mirror browsing for tree synchronisation
  95. - and much more...
  96.  
  97.  
  98. ----------------------- 2xExplorer v0.999ie ----------------------
  99. \\\\\\\\\\\\\\\\\\\\\\\\\ 27 August 1999 /////////////////////////
  100.                            ---ooOOoo---
  101.  
  102. Howdy folks and thanks to all of you that helped in the beta testing of this latest 2xExplorer update. The other day I just had it with the limited capability (64 kB file size limit) editor that accompanied the previous version 0.999, and vented my anger---as you do---into the development of a new and improved internal editor/viewer, that has got everything I need (nearly!). I hope that many of you users out there will find in it what you really seek in the editor department, and join me in rejoicing ;) .
  103.  
  104. The editor forms the biggest change in the latest version, but there's more. As fate has it, the solution to one's problems often comes from unexpected sources and at totally unsuspected times. Confirming this piece of unprovable lay wisdom, the other day while I was aimlessly wandering in this and that website, I bumped onto the very article that in a swift stroke helped solve a long-standing problem of 2xExplorer, that of the standard shell context menu. I was kicking myself when I realised how simple it was! As usually it always pays to be in the right club and being offered insider information, becoming one of those "in the know". So that's sorted too.
  105.  
  106. By the way, I think that 2xExplorer now nuns on Windows NT, too! I have tried it on a Dell workstation running NT4/SP4 and it runs like a song, if one excludes the ridiculously slow access to the floppy disk---but then again this is a common fault of NT. So there you have it, all you professional gents can now increase your productivity gratis 2xExplorer. Since there is minimal testing of the program under NT, any feedback from yous users will be invaluable and appreciated. A big thanks goes out to Dennis Savidis for clarifying to me all these UNICODE things that make NT programming a bit of a handful. Cheers mate!
  107.  
  108. There is a host of other small little improvements hither and thither all around the program, but why don't I start from the beginning, presenting the largest improvements first for a lasting impression... Oh, by the way, the version numbering has changed also. Instead of adding an extra 9 (or two) leading to monstrosities like v0.999999999, I decided to shift into a vehicle naming motif, adding the 'ie' as a distinctive marker of the latest version. The real meaning is 'e' for the Editor and 'i' for the rest of the Improvements, but the wording 'ie' is deviously formed so as to subconsciously cause the right mental associations in unsuspecting punters' minds, in an subliminal advertising/promotion scam that would have brought Saatchi & Saatchi into shame. Next time it will be a 'GTi' or similar performance-related marker... ;) Now onto the main biznees.
  109.  
  110.  
  111.  
  112. A. EDITOR/VIEWER
  113. The new internal editor is (and please allow me a moderate dollop of self-gratification here) a jewel, both from an end-user and programmer's point of view. Concentrating first on the issues that most people will appreciate, this new editor has near-unlimited buffer capacity, crashing the 64 kB barrier of its predecessor, while at the same time retaining all the popular features of the latter (e.g. hexadecimal viewer, autofill, etc.) Actually it introduces new useful features as well, like the left and right indentation commands, and some other trivia. All in all, the new item lays a claim to the abolishment of WordPad, like its 0.999 ancestor ridiculed the laughable Notepad. Microsoft exposed to the full. In fact the editor is now not very far off the all time favourite of many old hands like mine, the so called Q-editor of DOS---remember that?. I just need to add a bit of macro recording capability and we're there. As far as printing (or the lack of it) is concerned, I'm afraid that being not-so-big a fan of hard copies myself, that feature is shelved, at least until a time where market forces become an issue forming 2xExplorer. Sorry about that folks...
  114.  
  115. Lay users can skip this paragraph, where I'm planning to do some description of the internal workings of the new editor. Fellow coders will perhaps be interested to learn that whereas the old "editor" was a mere modeless dialog based on the age-old and trusty CEdit control, completely side-stepping MFC, the new item is a fully fledged MFC application based on the newer CRichEditControl, which has no memory limitations to begin with. The thing that mostly makes me proud of this baby, is that it was developed separately as a stand-alone application, and was subsequently seamlessly joined into 2xExplorer as a thread. In this way MFC was convinced to be most helpful in the early development stages, creating all the Document/View structure of the editor, the separate resources etc. On the other hand, MFC wouldn't have been half as co-operative if I just tried to build a user-interface thread from scratch. But I sure pulled one here on them, didn't I boyz? Fooled it into believing I was creating a process, and leaving it only at the ninth hour before revealing the real agenda: multithreading.
  116.  
  117. That's the first official separate thread in 2xExplorer, if one omits the system supplied file dialogs etc. Of course linking what was meant to be a process (CWinApp) to a program and launching it as a thread (CWinThread) does not just happen effortlessly, like, say, becoming a rich git by inheriting a ridiculously large fortune that some ill-fated near relative made for you. No, we have to work for living in the real world, don't we? The main concept was to ditch the system-supplied document loading structure in favour of a function-like argument passing protocol (the editor is regarded as a mere subroutine that takes a filename as an argument and whether it should be a read-only session or not). But neither did I throw away all the readily available MFC functionality, which let's face it, it's at its best for applications that have documents to read and save, nor did I have to resort in dodgy ways and undocumented/unsupported tinkerings that could endanger the future of the whole process. Since the editor thread loads just one document at its startup and nowt else, there was no need for open file dialogs and the like; so instead of using CWinApp::OnFileOpen() to load a document, I went a little further down the line and used CSingleDocTemplate::OpenDocumentFile() instead, since the name was already available. That's making MFC work hard for your needs and I bet that even my friend Bill (Gates) would commend me on the fine use of his produce. Other than that I leave MFC to run rampant, dealing with saving and error control/report, keeping track of modified documents and all the rest of it.
  118.  
  119. Another nice little touch is the CView. Unlike what would have seemed the most natural thing to do, deriving a class from CRichEditView with built-in search/replace/printing etc. support, I opted to ditch it and instead derived directly from CCtrlView, linking it to an instance of the CRichEditCtrl. That meant a bit more programming on my part but I could side-step many irritants as the following:
  120.  
  121. 1. I didn't have to create an OLE based MFC application. CRichEditView is an OLE-container class and makes me feel very uncomfortable indeed. I mean, working with OLE/COM is frustrating enough, but doing it the MFC way is simply mind-baffling. What on earth are they on about? Had I allowed such intrusions in my code, I would always suspect them as the culprits of all sorts of devious bugs, despicable little menaces. So out of the window they went with their host CRichEditView.
  122.  
  123. 2. I could upgrade the rather mediocre search/replace functions of the said CRichEditView, that at best offer very little for the power user and at worst they look like they were designed by a Bulgarian shot putter-ess (apologies to the Bulgarian people but honesty is always the best policy). The 2xExplorer items look smart and they have functionality to match the apparent pleasantness. I am referring to search/replace history and the capability for local (in-block) replace sessions. And, why, I thought that CRichEditCtrl did not cater for backward searches, so what's the story in 2xExplorer? Let us say that it is a magic invisible hand at work at play, shall we? Apologies to the WordPad developers there...
  124.  
  125.  
  126. Returning to user-end features---a bit later than originally planned, I'm sorry for lying to lay users in such blatant a manner, regarding the paragraph length of the software enthusiast section---multithreading and MFC offer goods for the whole family. Trick toolbar, normal status bar, windows that can be properly minimised and/or sent behind 2xExplorer's main window (that's the end of the old bug BB12, as for the BB11 and BB15 ones, see the accompanying 'Problems.txt' file), et cetera. In the more invisible side, MFC meant the end of my troubles associated with accelerator keys and clashes with the main program. But you may find this hard to relate yourselves personally...
  127.  
  128. Finally, the viewer part (only) can read rich text format (RTF) files, so now I guess I can tart-up the 2xExplorer help files with fonts, colours etc. Unfortunately, the figures/pictures/graphics of RTF files do not show, I suspect because there's not enough OLE infrastructure support in the application... And at present there is no possibility to edit RTF files, since 2xExplorer insists on a single font throughout the files it edits. But then again it is meant to be an ASCII text editor, and I wouldn't want to put the WordPad guys in the redundancy list completely.  ;o)
  129.  
  130. Pursuant to the text editing cause, the whole palette of commands has keyboard equivalents, apart from menu items/toolbar buttons. I have discovered that the edit control itself offers many useful 'hidden' commands, other than the natural Home/End/PgUp/PgDn and their Control-key variants. The following accelerators are gratis of Microsoft and apply for word editing:
  131. * Ctrl + Backspace == Delete whole word backwards
  132. * Ctrl + Delete    == Delete whole word forwards
  133. * Ctrl + [Arrows]  == Skip word left/right
  134. You can also thank them for the disappearance act the mouse cursor pulls whenever you start editing the text, getting out of your way. I on the other hand, went on to add a bit more, under the influence of a regular Visual C++ editor user:
  135. * Pressing {Ctrl + F3} on a selected word/phrase will search for the next occurrence of the same text, without bothering you with dialogs and stuff.
  136. * Pressing {Ctrl + C}, the regular copy command, when nothing is selected, will result in the contents of the  current line sent to the clipboard. That helps for quick whole-line copying without getting into the trouble of selecting the text first. Now, ain't that handy?
  137.  
  138.  
  139. Closing the subject of view/edit support in 2xExplorer, I have added the option to allow for external editors for those few users that have very strong emotional links to other editing products---let's face it, there's no other reason why one would want to use something else than the built-in items ;) . These sentimental fellows can now select an option in the View/Options menu of the main program to specify an alternative editing suggestion to be used by 2xExplorer with the standard F3/F4 commands. The price to pay is the longer waiting time for launching the external process, compared to the initiation of the internal thread that normally occurs in 2xExplorer. You know it just doesn't make sense, don't you? At any rate, there is the possibility of getting back to the internal editor/viewer by using the Ctrl key as a modifier, as usual. That is, when you hit e.g. Ctrl+F4, you'll get the internal editor even if you normally use an external rival.
  140.  
  141.  
  142.  
  143. B. SHELL CONTEXT MENU
  144.  
  145. I guess this is the feature that most users will find most useful, and count me in for that statistic. Mind, I'm not referring to being able to copy/paste files like in the standard explorer---I believe that 2xExplorer offers a more powerful mechanism for that kind of pursuit. On the other hand it is a welcome addition to be able to access all your fave shell extensions, e.g. "Add to zip", from within the comfort of 2xExplorer. Depending on what you click upon with the right mouse button, you open the door to:
  146. - formatting and copying floppy drives
  147. - mapping and disconnecting network drives
  148. - emptying that recycle bin
  149. - sending the selected bunch down the "Send to" road
  150. - quick-viewing those bitmaps
  151. - and so on and so forth...
  152.  
  153. I'll be the first to agree that this was a significant omission in 2x, but fear no more! A side-effect (and an unwanted one as far as I am concerned) is that the standard clipboard file cut/copy/paste operations have been opened up for use for those peoples that really miss them. It's not for me to criticise but I can't understand how a two-step procedure could be preferred over a fast one-step alternative. But it takes all sorts to make a world and hence I went into some trouble to incorporate them in the program framework.
  154.  
  155. A whole new menu has been added to facilitate the standard "Edit" commands, as usual with their appropriate accelerator keys. In order to differentiate them from the regular copy/move operations, the menu items are entitled 'clipboard' this and 'clipboard' that. Also, the context menu that appears when nothing is selected now sports a 'Paste' item that does exactly what is says on the tin. 
  156.  
  157. Although not recommended, 2xExplorer is obliging by efficiently monitoring such copy/paste actions like as if they were its native commands, and automatically refreshes the affected pane(s) in the usual efficient manner. The story with non-standard verbs on the other hand is liable to go pear-shaped. For instance, 2xExplorer will remain oblivious to any changes that your usual shell extensions will introduce to the folders it displays, and any zip files created by WinZip unfortunately fall into the same boat. If you expect some shell context menu action (other than the standard copy/paste etc) to affect the folder contents, you'll have to manually refresh the affected pane by hitting Ctrl+R. Sorry about that folks... I guess automatic folder refresh-ment is the last major detail left to be encoded into 2xExplorer. Not long now...
  158.  
  159. Unfortunately, the "Undo" feature is still out of order, since nobody seem to know how the shell goes about storing all that undoing info that accompanies the SHFileOperation() API. Any programmers out there with any ideas on the issue, why don't you come forward for the good of all 2xExplorer users? Thank you.
  160.  
  161.  
  162.  
  163. C. MISCELLANEOUS IMPROVEMENTS
  164.  
  165. * NEW DRIVE-BAR. I likes this one, I really do. Don't you think that the appearence of 2xExplorer has been improved no end by that drive bar docked at the left side? It's the dog's bits, I says! <g>  But, never mind the external appearence and fleeting impressions, this little bar will surely provide hours of satisfaction to demanding users. In a sense it provides the "Select Drive" command functionality in a convenient and easy to reach alternative, always present and aiming to please. Now switching to any ole' drive on your machine (either local or mapped) is a breeze. Note that the old dialog based Alt+F1/F2 commands are still supported, for the benefit of older folk that swear by them. They fought in the war(s) and they deserve anything that takes their fancy  ;O)
  166.  
  167. The drivebar is dynamically created to reflect the exact configuration of one's system in terms of the available drives. On top of the drive buttons, there are a few more:
  168. (a) Root/Current toggle button; this behaves like the radio buttons in the SelectDrive dialog. If this button is depressed then clicking on a drive icon will take you to the root of the selected drive, else you'll get the current (i.e. the difference between c:\ and c: path descriptors). This button should not be confused with its look-alike counterpart in the regular 2xExplorer toolbar, mind!---there's the little link-arrow to tell them apart. If you want to go to the root folders, keep this button depressed at all times; it's as simple as that.
  169.  
  170. Completing the total superceding of the "Select Drive" command, the drivebar can be used to change the directory of both the active and the inactive pane. There's no toggle button for this task, you just have to use the ALT key whenever you want to CD for the inactive pane. The same idea works for the Ctrl+Shift+<drive letter> shortcut too, although admitedly some combinations like C+S+A+e are bound give your fingers some stretching...
  171.  
  172. The remaining two arrowed buttons on the driveBar cater for yet another popular demand for Netscape/IEx style folder navigation, namely the Previous and Next folder commands. Note that the Previous folder is not necessarily the "parent" one; the chain list reflects the order in which the folders were visited, not their hierarchy in the physical storage device. The operations come complete with the familiar Alt+<arrow> keyboard accelerators and even menu command equivalents, that should make folder navigation a sheer pleasant experience for everyone (and their dogs). And... did you ask for 2xExplorer to remember the last item browsed in a folder and get back to it next time round? If so, you're in for a pleasant surprise.
  173.  
  174. By the way, should I mention that the position of the drive bar (as well as the regular toolbar) is free to be changed by any person half-qualified in using the mouse? That goes especially for Win98 users that expect explicit rebar (so called "coolbar") single/double handles before they venture taking a toolbar for a stroll round the desktop. Listen my techno friends, 2xExplorer toolbars may be a bit old-fashioned (and bubbly as opposed to flat) but they are more than a match to any so called coolbar. Just double-click on any non-button area, drag, and hey presto: the bar floats. Dock it where you please, resize it, even let it flow if that's your prerogative.
  175.  
  176.  
  177. * SELECT DRIVE COMMAND. The familiar Alt+F1/F2 tool (pensioner's favorite <g>) for changing to any drive registered on a system has received some treatment. A button in the dialog now enables the viewing of small drive icons, catering for over-enthusiastic users that have mapped one network drive too many. Smaller icons don't look as smart, but more drives would fit in the restricted space available.
  178.  
  179. More to the point, after some rearrangement of the drive names---bringing the drive letter to the front of the name---has made possible to select any drive by simply pressing on the respective letter. For example, by keying {Alt+F1}+ {A} + {ENTER} one gets swiftly to the A:\ floppy drive. Users in such a hurry should also remember the Ctrl+Shift+<letter> shortcut (available from v0.999) that is THE fastest way to any local drive, dispensing with dialogs and such time-wasting procedures.
  180.  
  181. By the way, had anyone noticed the problem 2xExplorer had with the current directories of local drives?---I have! The program would only remember the current settings of the drive one was exploring at the time and nothing else. Sorry about that folks, but the culprit was the SetCurrentDirectory() API, that was clearly underachieving and not performing in the anticipated manner. It's the system that is forgetful, not 2xExplorer. Complaints as usual on a postcard to Mr B.Gate's shack. After realising the problem I hurried to add extra vigilance to 2xExplorer so as to get around the problem and correct Bill's shortcomings. Now all 'c:' 'a:' etc. specifiers will correctly direct to the last directory visited in the respective drives.
  182.  
  183.  
  184. * UPRATED DETAILS VIEW. Apparently, a large percentage of 2xUsers spend most of their time having both of the panes set in the "Details" view. Well, to me this is a waste of space that could be used for viewing more files instead, but... hey, I sense it's the over-40 club again at large, clinching onto old and familiar layouts. All the cliches, for respect to the old warriors that kept these lands free for all of us youngsters to enjoy and prosper, apply.
  185.  
  186. Showing my respect with actions rather than empty and cheap adversarial rhetoric, I have spent some time refubrishing that trusty old view. For once, the left/right arrow keys are useless when in this view, so I have assigned them to do the same job as the TAB key for switching between the left/right panes. And more importantly, I have added a sort of full-row item highlighting, an endeavour that is easier said than done. Now instead of only highlighting the filename of the focused item, a pseudo-focus rectangle is drawn round the remaining file details (size and date) too. The solution is not 100% perfect but should help those users that are no longer 18 years old and their eyesight is not like it used to be all these years ago. No more using rulers to read accross <g>.
  187.  
  188.  
  189. * ALT-MODIFIER FOR BROWSING. Many users are moaning about the lack of the 'up-arrow' icon in the panes that is traditionally used to go up one level in the folder hierarchy. Being a nice sport, instead of getting medieval with such fussy customers, I added a nice touch which should solve everybody's (and their canines') up-browsing problems---and in general the browsing in any direction, too. The ALT key is now recognised as a modifier that changes the target of any operation that eventually changes the folder browsed in some pane.
  190.  
  191. An example should help clarify the topic here. Holding down ALT while clicking on the 'Up folder' button on the toolbar will change the directory in the INactive pane, saving you the trouble of activating it first and then pressing the button (or hitting BackSpace). The same would have been achieved by pressing Alt+Bksp. The idea works for most operations that change the directory browsed; unqualified they affect the active pane, whilst with Alt they affect the other pane. The Alt modifier works with keyboard shortcuts, toolbar buttons, even with relative menu items. Now what more could one want?
  192.  
  193. Unfortunately there are some operations that do not support this rule, where the Alt key is already assigned as an accelerator. Hence, since Alt+<left arrow> is the normal command for browsing the previous folder in the Navigation list, there is no way to use the Alt key in any other context. Perhaps the most annoying omission will be the Alt+Enter when a folder item is selected in a pane---this is the accelerator key reserved for invoking the item Properties dialog. Don't despair though because you can still use Alt+<double-click> on a folder item to open it in the other pane. Of course I could choose to change such conflicting shortcuts and thus provide a uniform and seamless behaviour throughout... but what about the users that are already accustomed to these commands?
  194.  
  195.  
  196. * MIRROR BROWSING. Such somber thoughts tormenting my mind, suddenly I had an inspiration. I asked myself "when do you usually need to affect the directory shown in the inactive pane without much effort?" and I answered "when checking the synchronisation of a directory sub-structure". As they say, the solutions to problems come by asking the right questions, and they don't come much righter than this.
  197.  
  198. Enter the mirror browsing era. If this option is ON (see the Mark menu or use the Ctrl+M accelerator) then changing the directory in any pane will result in 2xExplorer automatically adjusting the folder in the other pane to match the RELATIVE change introduced. An example will save the day here. Say you are an accomplished programmer and you have your project files in "C:\DevStudio\2xExplorer" browsed in the left pane. You also keep a copy of the project in a floppy disk, so you have "A:\" displayed in the right pane. Now it is straightforward to check the synchronisation of the folders shown, but what about the "C:\DevStudio\2xExplorer\res" sub-folder that is also part of the project? To check whether it is also in sync you'd normally have to undergo the tedium of changing the directory in the left pane, switch to the right pane, change there into "A:\res" too, and switch back to the left pane (because that's where you want to copy from); only then could the synchronisation be checked and the necessary files copied onto the floppy. Utterly unacceptable, innit? Not in this class of users anyroad. However, if you had turned the mirror browsing on and changed into "C:\DevStudio\2xExplorer\res" in the left pane, 2xExplorer would oblidge by automatically going down to "A:\res" in the other pane. Ain't that swell? No sweat in your part.
  199.  
  200. Mirror browsing is ideal for checking the synchronisation of whole directory subtrees, overcoming the limitation of 2xExplorer that will stubbornly only synchronise folders that are shown in its panes. You'll be amazed at how much the mirror logic can do for you. Not only are single relative steps (as going down to 'res' folder and/or back up again with '..') supported, but any sort of changes that can be traced within a common subtree are handled too. Try and see for yourselves! The procedure is smart enough to sense when you no longer intend to continue mirroring and switches itself off, in a unique display of artificial intelligence. But they do say that dogs take after their masters, don't they? Here I go flamboyant again <g> but wouldn't you feel the same if you had such brilliant ideas? I mean this is a unique feature unavailable in any other dual pane file manager. Trendy managers call these things Unique Selling Positions and hasten to patent them. Since I haven't seen it anywhere else, unless you are an incurable sceptic, you'll have to concede that it must be divine inspiration. Or was it that thing I drunk last night?  ;O)
  201.  
  202.  
  203. * SYNCHRONISED SCROLLING. Once on the mirroring train, the useful ideas just kept on coming. The latest is mirror or synchronized scrolling. This option, which can be turned on at will, mirrors the cursor (focus) movements in the active pane onto the inactive pane. The term "mirror" is not exactly accurate though, since 2xExplorer will try to place the focus on an item with the same name, so the inactive pane cursor will only get moving if there are items with same names in the two panes. That would be typically useful for head to head manual synchronisation checks, particularly attractive to the anorak-type that does not trust the automatic F9 synchronization. Need I remind you that it is the human and not computer that is more likely to err?
  204.  
  205. Given the target audience, this option is only available when both panes are set in the Details view mode. As an extra bonus 2xExplorer will try to automatically scroll the pane contents so as to bring the identical-named items on equal (vertical) level, assisting in the intended comparison. Try as it might though this alignment will not be always possible, when for instance there is a different number of items in the panes. In such unfortunate circumstances the other associated new command "Scroll to top" may offer some relief. Unsurprisingly, this will scroll the pane contents so as to bring the focused item on top, i.e. make it the first item. All these new commands are contained in the Advanced submenu of the Mark menu, so as not to unsettle the newcomers.
  206.  
  207.  
  208. * BETTER COMBO-BOX HISTORY. A new class internally dealing with maintaining older history items for all combo-boxes (e.g. in Find dialog, etc), means that more history items can be efficiently accommodated. In the past I got lazy and used static CString's, but now the procedure is choreographed by a dynamic list that can hold items without any restriction. The number of history items can be controlled as usual via the View/Options property page.
  209.  
  210.  
  211. 'Evening all!    ;) ;O) ;O{=)
  212.  
  213. WWW URL == http://personal-pages.ps.ic.ac.uk/~umeca74/
  214.  
  215.  
  216. > A file that big?
  217. > It might be useful
  218. > But now it's gone
  219.  
  220.   (a wise little thing uttered by a wise old man, probably Chinese)
  221.