NewStatusNotify readme file This plugin is just my first try to do something for miranda, and is further de- velopment of NewStatusNotify plugin v1.1.2.2 from Luka Santarelli (aka hrk, Hrk@users.sourceforge.net). Requirements:------------------------------------------------------------------- - MirandaIM 0.6.2+ for Unicode (since 1.1.2.6b1), 0.4.3+ for ANSI - Popup Plugin (Popup+ (2.0.3.96 or higher, 2.1.0.5+ recommended), or YAPP) - for unicode version: unicode MirandaIM version (at least core and CList). Hidden settings (which have no GUI. Use DBE++ to set/edit these keys in DB under "NewStatusNotify" entry in "Settings" branch):---------------------------------- "ConnectionTimeoutXXX" as DWORD - timeout in miliseconds after "XXX" protocol connected before starting to notify ( e.g. "ConnectionTimeoutSkype" for proto named "Skype"). If not defined -then "ConnectionTimeout" (see under) will be used; "ConnectionTimeout" as DWORD - timeout in miliseconds after protocol connected before starting to notify. General for all protos, default is 10000, i.e. 10 seconds); "ShowMirVer" as byte - if = 1 then show Miranda Client version in Popup. ChangeLog:---------------------------------------------------------------------- 1.1.3.0 (18.09.2009) * minor code reformatting - remove SmallDot icon - now requires core 0.7.0.2+ + Log file name is unicode-aware and supports core variables ! fixed popup preview statuses ! minor translation fixes * new default popup colors defined 1.1.2.7 beta3 (28.06.2008) * changed logic in status message request and display (still broken); * changed "N/A"->"NA" also in resources; 1.1.2.6 beta2 (09.05.2007) ! fixed bug which can lead to MIM crash in Clist module (double mem freeing) ! finally fixed rightclick on popup; * made unload with destroying created services ("clean exit"); + prepare to core 0.8 (use also PluginInfoEx); ! corrected unicode path using for individual sounds; ! fixed user-defined "out to lunch" and "on the phone" popup text colors; * emulate behavior of core - do not blink tray icon (if used) when contact went offline; 1.1.2.6 beta1 (07.03.2007) ! fixed bug with icons in Options - Events - Status Notify for MIM<0.7.0.2; * made paths to individual sounds unicode-safe. This is supported since MIM 0.6.2, so support of versions below is dropped for Unicode; * disable any notifications for chatrooms; ! fix showing test popup for "from offline" event; * reworked Popup options page a bit: changed test popup text - from now it really shows choosen info; fixed possibility to show only status messages; 1.1.2.6 alpha2 (21.02.2007) * added request status messages only if subcontact have it for given status for given meta; * changed behavior of status descriptions showing - now it is always shown if "show status descriptions" setting is checked, and no more dependent from "show status messages" setting; ! hopefully fixed reason of crashes (wrong string allocation); 1.1.2.6 alpha1 (15.02.2007) * "Plugin Disable/Enable" Menu Item moved from popup submenu to main menu (reason - it controls whole plugin functionality, not only popups). Thx to Faith Helaer for icons; ! implemented support of metacontacts, as from v0.12.2.3 Metacontacts plugin behaves different than other protos. Issues like lot of popups on startup and going offline should be gone now. Please test; * changed detection behavior of statuses supported by the protocol - now if it returns 0 - then it will be translated as "support all statuses". Used for Metacontacts and Weather Protos who return 0 in certain cases; * switched to standard m_popup.h (as Nullbie finally made support for TCHAR in it, and now this header is in standard codebase); + added support of Updater for ANSI beta version; * changed order of statuses in "user options" - "status notify" list; + added hidden DWORD setting "ConnectionTimeoutXXX" per proto, where XXX is a proto name (e.g."ConnectionTimeoutSkype"). If not found - then general "ConnectionTimeout" setting (see description of 1.1.2.5b3) will be taken. ! corrected reading of DWORD values from "ConnectionTimeout" setting to get rid of thousands of popups when connecting to Skype; ! fixed individual sounds previewing and playing when using SecureDB driver (though that driver still has a bug with destroying of relative paths when calling *_PATHTORELATIVE function with relative path as 1st param). Thanks to LEM for pointing out to that bug and testing of fixed version. 1.1.2.5 (20.11.2006) ! fixed some DB memory leaks (thanks to Borkra); + added show Miranda Client version (hidden option: "ShowMirVer" = 1 as byte in DB)[FR:Thief]; + added showing of contact's group name after contact's name in popup title [FR:Wombat]; * if left click on popup is configured to open message window - then it does this also for contacts went offline (before it just did popup dismiss for offline status popup) [FR:Wombat]; 1.1.2.5RC2 (10.08.2006) * click on popup settings are moved to popup settings page; ! fixed: context menu on rightclick did not work (there are some issues though due to bugs in other plugins: -with CList_Modern message window will always appear when you select smth from rightclick popup context menu [beside that selected item] (EDIT: seems to be fixed since CList Modern 0.4.3.54); -with popup plugin you will not get any icons in context menu; -YAPP just hangs when you select certain items from context menu ); ! fixed: settings for ignoring sounds depending on your status for that pro- tocol, were not saved; * small change in status name ("N/A"->"NA", as it was before); * double click on a contact in Options - Events - Status Notify now selects appropriate page in user details even when UserInfoEx is installed (requires UInfoEx 0.1.2.18+); 1.1.2.5RC1 (19.07.2006) ! fixed stupid bug causing miranda crash when previewing individual "from offline" sound and no sound was defined ! fixed bug when "show from offline" popup setting was not shown properly after Miranda restart * changed behavior of popup events - now if they were not configured before, they are enabled by default (on first start of new version only) * code cleaning and optimization (removed unneeded resources, functions, unreachable code, optimized some checks, and so on) * try to fix miranda crash when using LastSeen plugin 1.1.2.5b3 (6.07.2006) + implemented updater support (as there is still no releases on FileListing, it just checks builds from my site) + show "User details" dialog with opened "Status notify" page instead of opening message window when doubleclicking on a contact in Options - Events - Status notify + plugin now tries to use new PlaySoundEx service if available, making pos- sible to control volume of Individual sounds also (requires SoundVolume plugin, and changes in core. Will talk to GHazan about implementing that patch in new (0.6) core codebase) + added ability to disable popups for certain contact status changes (check Popup settings). So for now it is possible to configure popups and sounds SEPARATELY for each status change. Global enabling / disabling of status notification events on main options page is still available. + added hidden DWORD parameter "ConnectionTimeout" - if defined in DB, then will wait X miliseconds after protocol connected before starting to notify (default is 10000, i.e 10 seconds) 1.1.2.5b2 (5.07.2006) * completely rewritten sound management routine. Consequences: 1. if FromOffline sound defined, but contact changed NOT from offline to any status, appropriate sound will be played if defined (old variant: if FromOffline sound was defined, then no sound was played when chan- ging from NOT offline to any other status even with defined sound). 2. Speaker sound plays exactly the same events as when using soundcard (old behavior - just default sounds). Does anyone still use that PC speaker (I believe my PC even has no speaker at all...)? + added FromOffline event to Individual sounds (FR:DeeMaxX) + added option to disable sound and popup notifications for a contact from "Status Notify" (renamed from "Individual sounds") page in "User Details" dialog (idea: Freak_TheMighty). And that option page doesn't disappear anymore when individual sounds are disabled - I just disable unneeded elements. 1.1.2.5b1 (4.07.2006) + changed blinking tray icon tooltip in tray to unicode, and text - to show new status (instead of old "xxx is online" for all statuses) ! fixed "Use Status icon" option to blink appropriate proto status icon instead of global online icon in tray ! fixed "Auto Turn off popups on status change" was dependant on (and has changed) "Disable icon blinking" option in CList (!!!) * changed behavior of autodisabling popups and sounds - now it depends on that proto status, from which contact status change notification has came (also removed one hook - should work a bit faster ;) ) ! fixed assigning and deleting of individual sound filenames - now should work properly even if Langpack_CP != CP_ACP + introduced ability to disable sound and popup notifications "per contact" (check "Status notify" settings page under "Events" in Miranda options) - disabled that ugly "Sounds (individual statuses)" option page (noone probably has ever used it). 1.1.2.4a (24.06.2006) * changed icons (thx FaithHealer) * all registered sounds are separated in category "Status Notify" (idea: Freak_TheMighty) 1.1.2.4 (23.06.2006) + added registered sound "User: from offline", which has priority to all other registered status sounds * try to fix popup (and Miranda) hang when displaying status message 1.1.2.3a (20.05.2006) * changed behavior of not retrieving status messages for ICQ in invisible mode - now it checks not own global status, but only own ICQ status. 1.1.2.3 (08.05.2006) ! fixed bug with wrong displaying of individual sound file paths ! changed "use individual sounds" internal checking routine, so now it should play default sounds if disabled * option "log statuses to file" was moved to general options page, so - no Log page anymore 1.1.2.2 (15.11.2005) Unicode mod; differences from original NSN v1.1.2.2: + Unicode aware. i.e. all dialogs and popups support unicode 1. unicode nicks on popups work only if you have unicode clist (so far in nightlies all contactlist plugins are unicode-aware) 2. as status messages in Miranda are nonunicode, plugin tries to convert it to unicode using: a. TabSRMM codepage setting for contact; b. if message comes from ICQ client, then setting of codepage per: i. ICQ codepage defined for a contact; if failed - then ii. ICQ codepage defined globally; c. codepage of languagepack installed; if all of these settings are not defined, then status message is con- verted using system codepage. ! Removed Miranda crash when clicking on a contact with unloaded protocol (usually named as "(Unknown contact)" ) and trying to look at individual sounds. * changed status list to read status messages from - now it depends on protocol capabilities (so now it's possible to read status messages from "online" status (e.g. for MSN, Jabber etc.) ). + added checkbox to switch off using of individual sounds (idea: Thief). -------------------------------------------------------------------------------- ToDo: + make "long notify" (for "from offline"-in contact menu, and for every status - configurable per user); + support of Idle Status change; + add statuschange event to DB; + write LastSeen-compatible data in DB; -------------------------------------------------------------------------------- Send your suggestons and found bugs to email: abakumoff [at] mail [dot] ru ICQ: 78611589 jabber: IG_Vasilich [at] jabber [dot] ru MSN: igorabakumov [at] hotmail [dot] com