diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | bcb704366cb5e333a626c18c308c7e0448a8e69f (patch) | |
tree | f0d6ab7d78ecdd9207cf46536376b44b91a1ca71 /ksirc/puke/pmenudta.cpp | |
download | tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.tar.gz tdenetwork-bcb704366cb5e333a626c18c308c7e0448a8e69f.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'ksirc/puke/pmenudta.cpp')
-rw-r--r-- | ksirc/puke/pmenudta.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/ksirc/puke/pmenudta.cpp b/ksirc/puke/pmenudta.cpp new file mode 100644 index 00000000..30b375fc --- /dev/null +++ b/ksirc/puke/pmenudta.cpp @@ -0,0 +1,79 @@ +#include "pmenudta.h" +#include "pobject.h" +#include <qpopupmenu.h> + + +PMenuData::PMenuData(PObject *_child) +: PObject() +{ + child = _child; + connect(this, SIGNAL(outputMessage(int, PukeMessage*)), + child, SIGNAL(outputMessage(int, PukeMessage*))); +} + +PMenuData::~PMenuData() +{ + // We don't nuke anything since we're kind of abstract and we let the parent take care of it +} + +void PMenuData::messageHandler(int , PukeMessage *) +{ + // We don't do anything since we should never ben involked directly +} + +bool PMenuData::menuMessageHandler(int fd, PukeMessage *pm) +{ + PukeMessage pmRet; + int id = 0; + switch(pm->iCommand){ + case PUKE_MENUDATA_INSERT_TEXT: + { + QPopupMenu *widget = (QPopupMenu *) child->widget(); + id = widget->insertItem(pm->cArg); + if(pm->iArg > 0){ + widget->setAccel(pm->iArg, id); + } + + pmRet.iCommand = PUKE_MENUDATA_INSERT_TEXT_ACK; + pmRet.iWinId = pm->iWinId; + pmRet.iArg = id; + pmRet.cArg = 0; + emit outputMessage(fd, &pmRet); + break; + } + case PUKE_MENUDATA_INSERT_PIXMAP: + { + QPopupMenu *widget = (QPopupMenu *) child->widget(); + id = widget->insertItem(QPixmap(pm->cArg)); + if(pm->iArg > 0){ + widget->setAccel(pm->iArg, id); + } + + pmRet.iCommand = PUKE_MENUDATA_INSERT_PIXMAP_ACK; + pmRet.iWinId = pm->iWinId; + pmRet.iArg = id; + pmRet.cArg = 0; + emit outputMessage(fd, &pmRet); + break; + } + case PUKE_MENUDATA_REMOVE_ITEM: + { + QPopupMenu *widget = (QPopupMenu *) child->widget(); + widget->removeItem(pm->iArg); + + pmRet.iCommand = PUKE_MENUDATA_REMOVE_ITEM_ACK; + pmRet.iWinId = pm->iWinId; + pmRet.iArg = pm->iArg; + pmRet.cArg = 0; + emit outputMessage(fd, &pmRet); + break; + } + + default: + return FALSE; + } + return TRUE; +} + +#include "pmenudta.moc" + |