Spud, thanks for the feedback which could confirm there is no simple way to do that.
A balloon may be closed by the system itself without user action, leaving the application in a state like "maybe the balloon has been closed before the user saw it, maybe it is still visible".
With Windows XP, when the user doesn't interact, balloons remain visible as long as the application keeps the focus (beyond the timeout hint provided in QSystemTrayIcon::showMessage()), when the application losts the focus, the balloon disappears. It seems no event/signal is triggered in this case (as well as when the timeout hint has expired).
This will make it difficult to have a reliable semaphore system. I know when to raise the "notificationIsVisible flag", but clearing it upon QSystemTrayIcon::messageClicked () is not sufficient (at least a timer needs to be used, but as explained above, still not reliable). I'm considering using alternatives.
Robert.
Bookmarks