From 381b2369d7b88b12593b206eb1ff6ab19c496aa1 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 8 Oct 2012 15:55:03 +0000 Subject: shellext returned back git-svn-id: http://svn.miranda-ng.org/main/trunk@1819 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/ShlExt/docs/HowToBuild.txt | 22 ++ plugins/ShlExt/docs/shlext release notes.txt | 344 +++++++++++++++++++++++++++ 2 files changed, 366 insertions(+) create mode 100644 plugins/ShlExt/docs/HowToBuild.txt create mode 100644 plugins/ShlExt/docs/shlext release notes.txt (limited to 'plugins/ShlExt/docs') diff --git a/plugins/ShlExt/docs/HowToBuild.txt b/plugins/ShlExt/docs/HowToBuild.txt new file mode 100644 index 0000000000..53b6738616 --- /dev/null +++ b/plugins/ShlExt/docs/HowToBuild.txt @@ -0,0 +1,22 @@ +shlext 2.0.0.9 + +Info +======================= + +This source code is based on shlext 1.0.6.6 with minor changes so that it works +with FreePascal 2.2.2. + +The included headers (inc dir) are from Miranda 0.3.3.1 SDK and so if you want newer APIs +then get the API headers from the latest SVN tree. + +Note: I have included v0.8.xx API changes for GUIDs within a new file (m_v8.inc) + + +How to build +======================= + +Make sure you have installed the FreePascal compiler ( http://freepascal.org ) +the latest version is 2.2.2 at the time of writing. + +Run "make.bat" in this directory, this contains all the command line switches +for the newer version should produce shlext.dll diff --git a/plugins/ShlExt/docs/shlext release notes.txt b/plugins/ShlExt/docs/shlext release notes.txt new file mode 100644 index 0000000000..0e58edf9ff --- /dev/null +++ b/plugins/ShlExt/docs/shlext release notes.txt @@ -0,0 +1,344 @@ +shlext 2.0.1.2 + +Contents: + + Introduction ``What is shlext?`` + Why so long? + What you need + New features + Features + Quirks + Important changes + But Miranda has drag'n'drop! + Installation + Upgrading/Removing + Translation + License + Contact/Bug reporting + Credits + + + + ---Introduction ``What is shlext?`` + + shlext is a Miranda and Explorer shell plugin, it allows you to use your + contact list under any file/directory from Windows. + + This means that you can right click on a file/folder, see "Miranda" and then + see your entire contact list! this is a feature that ICQ has built in. + + shlext is better of course. + + ---Why so long? + + A few people contacted me aeons ago about implementing a better file scanner + so that they could recreate directories whilst sending, etc, I said I would do + this as soon as I had time, that was several months ago. + + I had made several changes/bugfixes when I had time, because I'm a Miranda + dev too, I don't usually have lots of time for this plugin, however lately I needed + shlext to run again, since I was sending lots of docs/logs around with Miranda. + + So I fixed several things and improved lots of other stuff so that other users + could use shlext again (the XP bug was really annoying as soon as I got XP myself ;) + + + ---What you need + + (2008) You will need 0.7.xx or 0.8.x -- older versions will not work. + + shlext should work on all Window Explorer versions that support it, + certain features will not work on older Explorers, i.e. icons, but you will + still be able to use the main function of shlext, selection 'n' transfer. + + ---New Features (2.0.1.2) + + * shlext is now compiled with Free Pascal 2.2.4 + + * shlext now works with Windows Vista: + + 1. shlext cannot automatically register itself with Windows Explorer due to permissions issues in Vista, + therefore you will be UAC prompted if shlext detects you are running Vista and that shlext isn't registered + with Explorer. + + This is almost automatic, and you just have to press "OK". + + 2. The entire menu drawing was overhauled and now looks much better, new APIs are used so that Vista draws the menus + (with theme) but the status icons are still present. + + * added UAC button for "Remove" from the options dialog. + + * Removed GetMenuItemInfo() debug message box. + + * Note: Miranda is a 32bit application, 64bit editions of Windows require a 64bit extension DLL, this is not possible at present. + + ---New features (2.0.0.9+) + + * shlext is now compiled with Free Pascal 2.2.2 which is a newer compiler with better + optimisations so shlext should be faster. (2002 v.s. 2008) + + * shlext now works with Miranda 0.8.x UUID typing system and 0.8.xx plugin loading APIs, + 0.7.xx still works too however. + + * shlext now keeps track of recently used contacts and builds a "MRU" menu for quick + access within the menu system. This cannot be disabled, if you hate this feature, + please stick pins into a voodoo doll named "Christian", that is all. + + * The menu strings "Recently" and "Clear entries" are translate()able but MRU is not. + + ---New features (1.0.6.6+) + + * shlext will now use all your icons per protocol, **not** just the first iconset + it finds, it will also use everything properly (because it doesn't do the icon + extraction, it just asks Miranda [don't ask why it didn't do this before :P]) + + * shlext will now use a Translate()'d version of "Miranda" so that each menu + shown for a profile can be given a custom user string + + * reimplemented file/folder selection, finally! a work-as-expected version, it will + scan and add all files and folders you give it, producing a file list in the background + (scanning your drive) and then send the list to Miranda to send to your selected contact. + + * Added option for disabling status icons in menus, which means that you can use shlext + with shell variants/file managers that invoke the shlext interface, such as FAR, but + don't need/use the icons. + + * Added option about hiding offline users from the context menu, if this option is off + it will fall back onto syncing with your contact list's "hide offline users" + + * Added proper thread safety because Miranda 0.3 now has it. + + * Completely reimplemented group parsing, which means that all the old group bugs + can be expected to be gone, note that shlext will now even create menus for + subgroups of the same name, e.g. "Miranda\Miranda". + + * shlext will now not show a menu for a running Miranda fails the following checks: + + * not running shlext (duh) + * no non-offline contacts (or you have the setting 'hide offline users') + * and so on + + * shlext will now also completely ignore contacts on protocols who have no file transfer support + + + ---Features + + shlext can: + + * allow you to refer to your entire contact list from a file/folder context + menu, this includes multiple profiles! if you have Miranda running + different profiles, you'll see all your profiles as menu items as long + as you're running shlext as a Miranda plugin in that profile. + + * Group ability, see a faithful menu rendition of your group hierarchy. + This means you can go something like File->My Profile->Work->Friends->Dude... + + This feature can also be turned off, or enabled in sync with your contact + list option to "Disable groups", this is a per profile setting, i.e. setting + disable groups on one profile won't affect other profiles running shlext. + + * Multi protocol aware, shlext can send to anyone on your contact list + not just ICQ! + + * Each contact will be shown next to their status icon, as selected in your + profile(s) which means that you'll easily feel at home with the icons, + because they will be used as how they are set in each profile. + + * lots of files, shlext will now, if given a directory/folder go into that + folder and scan for files and sub directories/folders til it's added + everything. + + This means if you send c:\foobar, it will search c:\foobar\*.* for more + files to add, it will also add c:\foobar as a directory space to send. + Which means that if the other side hasn't got a 'foobar' directory, it will + be created! (Note: recreating directory trees depends on the protocol being used to send) + + + --Quirks + + * shlext displays all your users by default, if your contact list is set to + NOT show offline users, then shlext will not show them. + + * shlext doesn't use all your group settings, it will not ad here to + "hide offline users in here", however if a group has got offline users + it won't show them (per setting option!) + + + + ---Important changes + + Older versions of shlext did not go into folders more than one level, i.e. + if you added c:\foobar it would scan for c:\foobar\*.* and add all the files + but not go into each directory\folder deeper than that! + + shlext also now does background selection scanning, which means when you select + a group of files/folders/directories, it will let you get on with chating + until it's made a file list which you can send to the person you've selected. + + shlext will NOT send any file/folder/directory that is marked "hidden" + + Also, sometimes you will see "n files, 1 directory" when you say select something + e.g. c:\foobar, this is because shlext now also includes the top level directory so that the + remote side will know to create it, as well as sub directories. + + + + ---But Miranda has drag'n'drop! + + Yeah, that's okay when you can reach Miranda, but I have multiple profiles and + the "hide after NN seconds" option enabled, also I have groups! + + Miranda doesn't auto expand a group when someone is online unless you do that + yourself, which means drag 'n' drop has failed. Also, when you've selected a + large amount of files, Miranda will *freeze* completely whilst + it 1) scans all those files, 2) builds a copy of the given send list + + Whilst shlext only freezes Miranda for the latter, and that is seldom a "complete freeze". + + And of course, shlext uses Miranda 0.3's advanced threading services, which means + if you've asked shlext to build a massive send list, you can still exit Miranda safely + which you can't with drag 'n' drop! + + + + ---Installation + + If you've never installed shlext before, all you have to do is install it like + any other Miranda plugin, i.e. copy it to your plugins directory. + + That's it! you should goto Miranda->Options->Plugins->Shell Context Menus + to see if you'd like to set any of the options, however shlext works straight + out of the box and you don't really need to set anything up after that. + + If you want to use shlext with multiple profiles, you don't have to do any + special setting up either, just make sure that shlext is running with each Miranda + you want shlext to show a menu contact list for. + + Make sure ALL copies of shlext.dll are the same, i.e. 1.0.6.6, if they're not + then shlext will fail (this doesn't mean 'crash'). + + + ---Upgrading/Removing + + Upgrading shlext has always been a pain for users (and me!) this is because + shlext.dll runs in Windows and in Miranda (at the same time). + + So when you've shutdown Miranda, shlext.dll maybe kept in memory by Windows + to make things worse, clicking any file/folder will result in shlext.dll being + reloaded, so if you do shlext.dll->Delete, Windows will ask shlext.dll if + it wants to show any menus, nevermind the fact delete was selected! + + This happens also if you just press 'delete' whilst shlext.dll is selected. + + However! All is not lost, this is what you do: + + * goto M->Options->Plugins and disable shlext.dll as a Miranda plugin + * goto M->Options->Plugins->Shell context menus and click 'Remove'. + * Shutdown Miranda IM + + Advanced users only: ---------------------------------------------------- + + * Do all the above and then open a console window (Command prompt, etc) + * Make sure all applications have been shutdown + * Goto the directory where Miranda is, e.g. c:\, cd Miranda + * Goto Start->Shutdown, let the dialog come up and hold CTRL+ALT+SHIFT + and press cancel. + + This will shutdown Explorer but not Windows, you can now do: del shlext.dll + + * now run Explorer.exe usually in C:\Windows, shlext.dll will be removed. + + ---------------------------------------------------------------------------- + + The remove button will ask Windows not to load it anymore, by removing + all shlext registry entries, the button will also remove any settings from your + profile settings database that it may of made. + + You should now be able to delete shlext.dll! however if you still are unable + to, you may need to log out (if you're using XP/2000/NT) if you're using + 9x then you may have to restart Windows (pain I know, sorry!) + + You should now be free of old shlext copies and you can refer to "Installation" + above. + + If you were using shlext.dll with multiple profiles, the remove shlext + from each profile as stated above and then copy the newer shlext.dll to + your plugins folder. + + ---Translation + + I haven't been nice about translation strings in the past, but you + can pretty much translate everything shlext uses a string, even + "Miranda" which is shown in the menu. + + Note that some strings can't be translated, this is because some parts + of the plugin run within Explorer and that doesn't have access to Miranda's + langpacks, the "Miranda" string that appears in menus is a special exception + + ; + ; Translate()'able strings for shlext/2.0.0.9 + ; + + ;"Miranda" limited to 63characters! (exceed and it's chopped) + ;[Miranda] + ;[Problem, registration missing/deleted.] + ;[Successfully created shell registration.] + ;[Not Approved] + ;[Approved] + ;[Are you sure? this will remove all the settings stored in your database and all registry entries created for shlext to work with Explorer] + ;[Disable/Remove shlext] + ;[Shell context menus] + + ; new in 2.0.0.9, both these strings cannot be longer than 63 chracters + ;[Clear entries] + ;[Recently] + + ;IDD_SHLOPTS + ;[Menus] + ;[Display contacts in their assigned groups (if any)] + ;[Only if/when the contact list is using them] + ;[Display hidden, ignored or temporary contacts] + ;[Shell Status] + ;[Do not display the profile name in use] + ;[Contact Status] + ;[Show contacts that you have set privacy rules for] + ;[Remove] + ;[Do not show status icons in menus] + ;[Do not show contacts that are offline, even if my contact list does] + + + + + ---License + + Like Miranda, shlext is released under the GPL, you may find the full + FreePascal source-code on the CVS in plugins module 'shlext' + + You will need at least FreePascal/2.2.2, GNU make (if you want to use the makefile) + + Follow the CVS links from http://sf.net/projects/miranda-icq/ + + Note: All the tools used to build shlext are also under the GPL! + + + ---Contact/Bug reporting + + In the past shlext hasn't been as stable as it could be, but this was mainly + due to the problems of 0.2.0.0 and early 0.3.0.0 Miranda builds, I've taken + care to make sure things are stable as can be. + + If you have any problems/crashes, please contact me at: egodust at users.sf.net. + + Please include the following information: Windows version, service packs installed, + build version of Explorer, Miranda version, shlext version, a list of plugins + that you think maybe involved in crashes, steps to reproduce errors and so on. + + Note that shlext has been blamed for several bugs that were not shlext's fault, + for example the file xfer cancel bug was in ICQ and Miranda but not shlext ;) + + + ---Credits + + Tig-crash\d - Thanks for beta testing every version before this one ;) + Erik?, DD Of Borg - Thanks for beta testing 0.0.2.2/1.0.6.6 -- ideas and suggestions + as well what to exactly steal from ShellFileSend, heh.. \ No newline at end of file -- cgit v1.2.3