On Tue, 1 Jun 2004 20:15:40 +0200, Laurent ROCHER
<[EMAIL PROTECTED]> wrote:
> 
> Hi,
> 
>     Actually, Balloon tooltip it's not supported for NotifyIcon because
> MinGW header aren't ready ;o)
> 
>     In MingW only first version of NOTIFYICONDATA struct is defined.
> 
> Laurent.

Hi Laurent!

I was actually able to get it working adding a few lines of code to
lastest version of GUI_Options.cpp from CVS. I'd show you a diff, but
unfortunately I'm having problems with sourceforge's CVS server at
this moment.

Below are the lines I've added to ParseNotifyIconOptions. Only thing
not working us the uTimeout setting... not sure if it has to be
handled different since it's part of a union... this is my first
attempt playing with XS and c++ code, so please go easy on me. I know
there probably should be additional code ensuring that each argument
is valid based on the windows version it's running on, which is way
over my head right now. Use this code at your own risk! ;)

            } else if(strcmp(option, "-balloon_body") == 0) {
                next_i = i + 1;
                strcpy(nid->szInfo, SvPV_nolen(ST(next_i)));
                SwitchBit(nid->uFlags, NIF_INFO, 1);
            } else if(strcmp(option, "-balloon_header") == 0) {
                next_i = i + 1;
                strcpy(nid->szInfoTitle, SvPV_nolen(ST(next_i)));
            } else if(strcmp(option, "-balloon_timeout") == 0) {
                next_i = i + 1;
                nid->uTimeout = (UINT) SvIV(ST(next_i));
            } else if(strcmp(option, "-balloon_icon") == 0) {
                next_i = i + 1;

                if(strcmp(SvPV_nolen(ST(next_i)), "error") == 0) {
                    nid->dwInfoFlags = NIIF_ERROR;
                } else if(strcmp(SvPV_nolen(ST(next_i)), "info") == 0) {
                    nid->dwInfoFlags = NIIF_INFO;
                } else if(strcmp(SvPV_nolen(ST(next_i)), "warning") == 0) {
                    nid->dwInfoFlags = NIIF_WARNING;
                } else if(strcmp(SvPV_nolen(ST(next_i)), "none") == 0) {
                    nid->dwInfoFlags = NIIF_NONE;
                } else {
                    if(PL_dowarn) warn("Win32::GUI: Invalid value for
-balloon_icon!");
                }

Reply via email to