quote:
Originally posted by CookieRevised
in that case you must check the value in each and every event!
Because between contact status changes for example, the user could have enabled/disabled tabbed chatting. In essence, you need to check the value each time your script manipulates (sets) the icon!!
Yep! Luckily, I did a main function that does this so I just need to modify that rather than each event
Of course, you'd be expecting that of me anyway, hehe.
I think there will be a slight issue if someone is to disable tabbed chats with conversations already open. No matter what, they'll all revert to the default icon and won't change until there's a relevant event update. I don't think I can avoid this, but it's no biggie... I don't expect tabbed chats to be enabled and disabled constantly all the time! It should be a one-time issue, and it's not disastrous anyway, hehe.
This, luckily, doesn't apply to enabling tabbed chats as well, as the icon gets replaced with the default.
Edit (crazy quote madness! lol):
quote:
Originally posted by CookieRevised
This said, depending on what your script _exactly_ does, and how WLM 2011 _exactly_ uses its container windows and what the function is of that other key (ShowConvWndTabs) - can't check, I don't run WLM 2011 atm- it may also be possible to simply forget about checking those registry keys, and simply check if the container window, for which you want to manipulate the icon, exists (which you should do anyways or your icon APIs might fail). It might be enough.
Oh! Yes, I was wondering that myself... Ahhhhh! I'll investigate. I guess Spy++ should be handy (thanks for that! I have it with Visual Studio but have never used it).
Edit 2:
Looks like when you have tabbed chats disabled, every single conversation has it's own tab container (class: TabbedHostWndClass) whereas if tabbed chats is enabled, there's only one of them, which holds all the actual conversation windows (IMWindowClass).
As far as I can tell, from that, it won't be of any help as you can't determine, this way, if tabbed chats is enabled or not unless you have more than one window, and it would be awkward to figure out anyway. I guess the registry option is the only way! (Unless I've missed something, which is probable, lol).
Edit 3:
All done! Works great so far! Thanks for all the help
A little modification I had to make. It didn't seem to like the "new Boolean()" thing, and I had to typecast the
join result as a Number. Ended up with:
code:
bTabsEnabled = (Boolean)((Number)(reg.toArray().join('')));
Without the typecasting, I think it was using a string literal of "0000".
Thanks! Any of you willing to try it out before I make an attempt at releasing at some point?