PDA

View Full Version : Popup notification window issues on Mac



alexandersv
30th October 2008, 21:24
Hi,

I am working on a messenger popup window that notifies me when someone logs in or sends me a message.
I get different issues depending on the "solution" I try:

1)
Code:
_toaster->setParent(_toaster->parentWidget(), Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
Result:
The popup notifies me ok when I am using a different program (other than my messenger) but for example when I use the chat window (of my messenger), the popup takes control of things and I cannot continue writing, to continue with the chat, I have to activate the window back manually.

2)
Code:
_toaster->setParent(_toaster->parentWidget(), Qt::ToolTip | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
Result:
This fixes the problem of the first result but when I am using a program other than my messenger, and the popup activates, all the other windows of the messenger get on top of my currently working window.

3)
Code:
_toaster->setParent(_toaster->parentWidget(), Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
WId wid = _toaster->winId();
SetWindowGroup((WindowRef)wid, NULL);
Result:
This is suppose to fix both problems from above by detaching the QWidget _toaster from the rest of the windows, BUT SetWindowGroup returned -5600 that means that the window is not valid and I get the same result from #1. Note that SetWindowGroup is a method from Carbon and not from QT.

Is there a way to do this with 100% Qt code? If not, any thoughts on what could be wrong with SetWindowGroup?

Any help is greatly appreciated.

========
Notes:
Regarding the code
_toaster is an object of type QWidget
Regarding my system:
Mac OS X 10.5
Qt4.4

alexandersv
11th October 2009, 18:11
This was posted a long time ago by me. I did find a solution to this problem, but unfortunately I was not able to use Qt.

The solution was to use Growl :cool:

This is why it is sooooo popular on Mac.

maxvanceffer
20th April 2012, 12:15
Can u post example how to use growl with Qt. And did u make use of Growl 1.3 standalone, with Mist ? Searching over the network, doesn't give me any useful response.