16 #if defined(_XOPEN_SOURCE) && !defined(__SUNPRO_CC)
26 #include <kservicegroup.h>
27 #include "../karamba.h"
32 KServiceGroup::Ptr subMenuRoot = KServiceGroup::group(g->relPath());
33 if (subMenuRoot->childCount() == 0)
36 if ((g->name().at(0) ==
'.'))
42 PyDict_SetItem(dict, PyString_FromString(
"caption"),
43 PyString_FromString(g->caption().toAscii().data()));
44 if (g->comment() != NULL)
45 PyDict_SetItem(dict, PyString_FromString(
"comment"),
46 PyString_FromString(g->comment().toAscii().data()));
47 if (g->icon() != NULL)
48 PyDict_SetItem(dict, PyString_FromString(
"icon"),
49 PyString_FromString(g->icon().toAscii().data()));
50 PyDict_SetItem(dict, PyString_FromString(
"relpath"),
51 PyString_FromString(g->relPath().toAscii().data()));
53 PyTuple_SET_ITEM(tuple, 0, Py_BuildValue((
char*)
"l", 0));
54 PyTuple_SET_ITEM(tuple, 1, dict);
65 if (!g->exec().isNull())
66 PyDict_SetItem(dict, PyString_FromString(
"exec"),
67 PyString_FromString(g->exec().toAscii().data()));
69 if (!g->menuId().isNull())
70 PyDict_SetItem(dict, PyString_FromString(
"menuid"),
71 PyString_FromString(g->menuId().toAscii().data()));
73 if (!g->name().isNull())
74 PyDict_SetItem(dict, PyString_FromString(
"name"),
75 PyString_FromString(g->name().toAscii().data()));
77 if (!g->path().isNull())
78 PyDict_SetItem(dict, PyString_FromString(
"path"),
79 PyString_FromString(g->path().toAscii().data()));
81 if (!g->icon().isNull())
82 PyDict_SetItem(dict, PyString_FromString(
"icon"),
83 PyString_FromString(g->icon().toAscii().data()));
85 if (!g->library().isNull())
86 PyDict_SetItem(dict, PyString_FromString(
"library"),
87 PyString_FromString(g->library().toAscii().data()));
88 if (!g->comment().isNull())
89 PyDict_SetItem(dict, PyString_FromString(
"comment"),
90 PyString_FromString(g->comment().toAscii().data()));
91 QString type = g->isApplication() ?
"Application" :
"Service";
92 PyDict_SetItem(dict, PyString_FromString(
"type"),
93 PyString_FromString(type.toAscii().data()));
95 if (!g->genericName().isNull())
96 PyDict_SetItem(dict, PyString_FromString(
"genericname"),
97 PyString_FromString(g->genericName().toAscii().data()));
111 PyTuple_SET_ITEM(tuple, 0, Py_BuildValue((
char*)
"l", 1));
112 PyTuple_SET_ITEM(tuple, 1, dict);
122 KServiceGroup::Ptr root = KServiceGroup::group(rel_path);
124 if (!root || !root->isValid())
127 bool excludeNoDisplay_ =
true;
128 bool detailed_ =
false;
129 bool detailedNamesFirst_ =
false;
131 KServiceGroup::List sl = root->entries(
true, excludeNoDisplay_,
true,
132 detailed_ && !detailedNamesFirst_);
134 QStringList suppressGenericNames = root->suppressGenericNames();
136 KServiceGroup::List::ConstIterator it = sl.constBegin();
137 for (; it != sl.constEnd(); ++it) {
138 KSycocaEntry *e = (KSycocaEntry*)(*it).data();
141 if (e->isType(KST_KServiceGroup)) {
142 KServiceGroup::Ptr g(static_cast<KServiceGroup *>(e));
144 }
else if (e->isType(KST_KService)) {
145 KService::Ptr g(static_cast<KService *>(e));
150 PyList_Append(list, tuple);
159 if (!PyArg_ParseTuple(args, (
char*)
"s:getServiceGroup", &rel_path))
static PyObject * get_svc(KService::Ptr const &g)
PyObject * py_get_service_groups(PyObject *, PyObject *args)
static PyObject * get_svc_grp(KServiceGroup::Ptr const &g)
static PyObject * getServiceGroups(const char *rel_path)