25 #include "kpanelappmenu.h"
26 #include <tqstringlist.h>
27 #include <dcopclient.h>
28 #include <tdeapplication.h>
31 static int panelmenu_get_seq_id()
33 static int panelmenu_seq_no = -2;
34 return panelmenu_seq_no--;
42 init(TQString(), title);
46 TQObject *parent,
const char *name)
61 void KPanelAppMenu::init(
const TQPixmap &icon,
const TQString &title)
66 TQByteArray sendData, replyData;
69 TQDataStream stream(sendData, IO_WriteOnly);
70 stream << icon << title;
71 if ( client->
call(
"kicker",
"kickerMenuManager",
"createMenu(TQPixmap,TQString)", sendData, replyType, replyData ) ) {
72 if (replyType !=
"TQCString")
73 kdDebug() <<
"error! replyType for createMenu should be QCstring in KPanelAppMenu::init" <<
endl;
75 TQDataStream reply( replyData, IO_ReadOnly );
81 TQDataStream stream(sendData, IO_WriteOnly);
82 stream << TQCString(
"activated(int)") << client->
appId() <<
objId();
83 client->
send(
"kicker", realObjId,
"connectDCOPSignal(TQCString,TQCString,TQCString)", sendData);
91 TQDataStream stream(sendData, IO_WriteOnly);
93 client->
send(
"kicker",
"kickerMenuManager",
"removeMenu", sendData );
99 id = panelmenu_get_seq_id();
101 TQByteArray sendData;
102 TQDataStream stream(sendData, IO_WriteOnly);
103 stream << icon << text << id;
104 client->
send(
"kicker", realObjId,
"insertItem(TQPixmap,TQString,int)", sendData );
112 id = panelmenu_get_seq_id();
114 TQByteArray sendData, replyData;
116 TQDataStream stream(sendData, IO_WriteOnly);
117 stream << icon << text << id;
118 client->
call(
"kicker", realObjId,
"insertMenu(TQPixmap,TQString,int)", sendData, replyType, replyData );
119 if ( replyType !=
"TQCString")
121 TQDataStream ret(replyData, IO_ReadOnly);
125 TQByteArray sendData2;
126 TQDataStream stream2(sendData2, IO_WriteOnly);
127 stream2 << TQCString(
"activated(int)") << client->
appId() << subid;
128 client->
send(
"kicker", subid,
"connectDCOPSignal(TQCString,TQCString,TQCString)", sendData2);
137 id = panelmenu_get_seq_id();
139 TQByteArray sendData;
140 TQDataStream stream(sendData, IO_WriteOnly);
141 stream << text << id;
142 client->
send(
"kicker", realObjId,
"insertItem(TQString,int)", sendData );
150 TQByteArray sendData;
151 client->
send(
"kicker", realObjId,
"clear()", sendData);
156 TQCString &replyType, TQByteArray &)
158 if ( fun ==
"activated(int)" ) {
159 TQDataStream dataStream( data, IO_ReadOnly );
170 #include "kpanelappmenu.moc"