19 #include "tdepassivepopupstack.h"
21 TDEPassivePopupStackContainer::TDEPassivePopupStackContainer(TQWidget *parent,
const char *name) : TQWidget(parent, name) {
25 TQPoint cursorPos = TQCursor::pos();
27 mTopOfStack = r.height();
28 mRightOfStack = r.width();
31 TDEPassivePopupStackContainer::~TDEPassivePopupStackContainer() {
35 KPassivePopup* TDEPassivePopupStackContainer::displayMessage(TQString title, TQString message, TQString icon,
int x,
int y, TQString
id) {
40 return displayMessage(title, message, px, x, y,
id);
43 KPassivePopup* TDEPassivePopupStackContainer::displayMessage(TQString title, TQString message, TQPixmap icon,
int x,
int y, TQString
id) {
46 popup->
setView(title, message, icon);
48 TQPoint leftCorner(x, y);
49 if (leftCorner.isNull()) {
50 if (mPopupList.isEmpty()) {
52 TQPoint cursorPos = TQCursor::pos();
54 mTopOfStack = r.height();
55 mRightOfStack = r.width();
57 TQSize popupSize = popup->sizeHint();
58 mTopOfStack = mTopOfStack-popupSize.height();
59 if (mTopOfStack < 0) mTopOfStack = 0;
60 leftCorner.setX(mRightOfStack-popupSize.width());
61 leftCorner.setY(mTopOfStack);
64 connect(popup, SIGNAL(clicked(TQPoint)),
this, SLOT(popupClicked(TQPoint)));
65 connect(popup, SIGNAL(destroyed(TQObject*)),
this, SLOT(popupDestroyed(TQObject*)));
66 mPopupList.append(popup);
67 mPopupIDMap[popup] = id;
68 popup->
show(leftCorner);
73 void TDEPassivePopupStackContainer::processEvents() {
74 tqApp->processEvents();
77 void TDEPassivePopupStackContainer::popupClosed(
KPassivePopup* popup) {
79 mPopupList.remove(popup);
81 if (mPopupList.isEmpty()) {
83 TQPoint cursorPos = TQCursor::pos();
85 mTopOfStack = r.height();
86 mRightOfStack = r.width();
90 void TDEPassivePopupStackContainer::popupClicked(TQPoint point) {
93 emit(popupClicked(popup, point, mPopupIDMap[popup]));
96 emit(popupClicked(NULL, point, TQString::null));
100 void TDEPassivePopupStackContainer::popupDestroyed(TQObject*
object) {
103 mPopupIDMap.remove(popup);
107 #include "tdepassivepopupstack.moc"