KServiceGroup Class Reference

`#include <kservicegroup.h>`

Inherits KSycocaEntry.

## Public Types

typedef KSharedPtr< KServiceGroup > | Ptr
typedef KSharedPtr< KSycocaEntry > | SPtr
typedef QValueList< SPtr > | List

## Public Member Functions

| KServiceGroup (const QString &name)
| KServiceGroup (const QString &_fullpath, const QString &_relpath)
| KServiceGroup (QDataStream &_str, int offset, bool deep)
bool | isValid () const
virtual QString | name () const
virtual QString | relPath () const
QString | caption () const
QString | icon () const
QString | comment () const
int | childCount ()
bool | noDisplay () const
bool | showEmptyMenu () const
void | setShowEmptyMenu (bool b)
bool | showInlineHeader () const
void | setShowInlineHeader (bool _b)
bool | inlineAlias () const
void | setInlineAlias (bool _b)
bool | allowInline () const
void | setAllowInline (bool _b)
int | inlineValue () const
void | setInlineValue (int _val)
QStringList | suppressGenericNames () const
void | setLayoutInfo (const QStringList &layout)
QStringList | layoutInfo () const
virtual void | load (QDataStream &)
virtual void | save (QDataStream &)
List | entries (bool sorted, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName=false)
virtual List | entries (bool sorted, bool excludeNoDisplay)
virtual List | entries (bool sorted=false)
QString | baseGroupName () const
QString | directoryEntryPath () const
void | parseAttribute (const QString &item, bool &showEmptyMenu, bool &showInline, bool &showInlineHeader, bool &showInlineAlias, int &inlineValue)

## Static Public Member Functions

static Ptr | baseGroup (const QString &baseGroupName)
static Ptr | root ()
static Ptr | group (const QString &relPath)
static Ptr | childGroup (const QString &parent)

## Protected Member Functions

void | addEntry (KSycocaEntry *entry)
virtual void | virtual_hook (int id, void *data)

## Protected Attributes

QString | m_strCaption
QString | m_strIcon
QString | m_strComment
List | m_serviceList
bool | m_bDeep
QString | m_strBaseGroupName
int | m_childCount

## Friends

class | KBuildServiceGroupFactory

## Detailed Description

KServiceGroup represents a group of service, for example screensavers.

This class is typically used like this:

// Lookup screensaver group
KServiceGroup::Ptr group = KServiceGroup::baseGroup("screensavers");
if (!group || !group->isValid()) return;
KServiceGroup::List list = group->entries();
// Iterate over all entries in the group
for( KServiceGroup::List::ConstIterator it = list.begin();
it != list.end(); it++)
{
KSycocaEntry *p = (*it);
if (p->isType(KST_KService))
{
KService *s = static_cast<KService *>(p);
printf("Name = %s\n", s->name().latin1());
}
else if (p->isType(KST_KServiceGroup))
{
KServiceGroup *g = static_cast<KServiceGroup *>(p);
// Sub group ...
}
}

Represents a group of services

Definition at line 67 of file kservicegroup.h.

## Constructor & Destructor Documentation

KServiceGroup::KServiceGroup | ( | const QString & | name | ) |

Construct a dummy servicegroup indexed with `name`.

Parameters

  name | the name of the service group

Since
  3.1

Definition at line 46 of file kservicegroup.cpp.

KServiceGroup::KServiceGroup | ( | const QString & | _fullpath,
|  | const QString & | _relpath
| ) |  |

Construct a service and take all informations from a config file.

Parameters

  _fullpath | full path to the config file
  _relpath | relative path to the config file

Definition at line 54 of file kservicegroup.cpp.

## Member Function Documentation

bool KServiceGroup::allowInline | ( |  | ) | const

Returns
  true if we allow to inline menu.

Since
  3.5

Definition at line 186 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::baseGroup | ( | const QString & | baseGroupName | ) |

static

Returns the group for the given baseGroupName.

Can return 0L if the directory (or the .directory file) was deleted.

Returns
  the base group with the given name, or 0 if not available.

Definition at line 637 of file kservicegroup.cpp.

QString KServiceGroup::baseGroupName | ( |  | ) | const

inline

Returns a non-empty string if the group is a special base group.

By default, "Settings/" is the kcontrol base group ("settings") and "System/Screensavers/" is the screensavers base group ("screensavers"). This allows moving the groups without breaking those apps.

The base group is defined by the X-KDE-BaseGroup key in the .directory file.

Returns
  the base group name, or null if no base group

Definition at line 251 of file kservicegroup.h.

QString KServiceGroup::caption | ( |  | ) | const

inline

Returns the caption of this group.

Returns
  the caption of this group

Definition at line 121 of file kservicegroup.h.

int KServiceGroup::childCount | ( |  | ) |

Returns the total number of displayable services in this group and any of its subgroups.

Returns
  the number of child services

Definition at line 119 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::childGroup | ( | const QString & | parent | ) |

static

Returns the group of services that have X-KDE-ParentApp equal to `parent` (siblings).

Parameters

  parent | the name of the service's parent

Returns
  the services group

Since
  3.1

Definition at line 656 of file kservicegroup.cpp.

QString KServiceGroup::comment | ( |  | ) | const

inline

Returns the comment about this service group.

Returns
  the descriptive comment for the group, if there is one, or QString::null if not set

Definition at line 135 of file kservicegroup.h.

QString KServiceGroup::directoryEntryPath | ( |  | ) | const

Returns a path to the .directory file describing this service group.

The path is either absolute or relative to the "apps" resource.

Since
  3.2

Definition at line 662 of file kservicegroup.cpp.

KServiceGroup::List KServiceGroup::entries | ( | bool | sorted,
|  | bool | excludeNoDisplay,
|  | bool | allowSeparators,
|  | bool | sortByGenericName = `false`
| ) |  |

List of all Services and ServiceGroups within this ServiceGroup.

Parameters

  sorted | true to sort items
  excludeNoDisplay | true to exclude items marked "NoDisplay"
  allowSeparators | true to allow separator items to be included
  sortByGenericName | true to sort GenericName+Name instead of Name+GenericName

Returns
  the list of entries

Since
  3.2

Definition at line 313 of file kservicegroup.cpp.

KServiceGroup::List KServiceGroup::entries | ( | bool | sorted = `false` | ) |

virtual

List of all Services and ServiceGroups within this ServiceGroup.

Parameters

  sorted | true to sort items

Returns
  the list of entried

Definition at line 293 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::group | ( | const QString & | relPath | ) |

static

Returns the group with the given relative path.

Parameters

  relPath | the path of the service group

Returns
  the group with the given relative path name.

Definition at line 649 of file kservicegroup.cpp.

QString KServiceGroup::icon | ( |  | ) | const

inline

Returns the name of the icon associated with the group.

Returns
  the name of the icon associated with the group, or QString::null if not set

Definition at line 128 of file kservicegroup.h.

bool KServiceGroup::inlineAlias | ( |  | ) | const

Returns
  true to show an inline alias item into menu

Since
  3.5

Definition at line 156 of file kservicegroup.cpp.

int KServiceGroup::inlineValue | ( |  | ) | const

Returns
  inline limite value

Since
  3.5

Definition at line 176 of file kservicegroup.cpp.

bool KServiceGroup::isValid | ( |  | ) | const

inline

Checks whether the entry is valid, returns always true.

Returns
  true

Definition at line 103 of file kservicegroup.h.

virtual QString KServiceGroup::name | ( |  | ) | const

inline virtual

Name used for indexing.

Returns
  the service group's name

Definition at line 109 of file kservicegroup.h.

bool KServiceGroup::noDisplay | ( |  | ) | const

Returns true if the NoDisplay flag was set, i.e.

if this group should be hidden from menus, while still being in ksycoca.

Returns
  true to hide this service group, false to display it

Since
  3.1

Definition at line 196 of file kservicegroup.cpp.

void KServiceGroup::parseAttribute | ( | const QString & | item,
|  | bool & | showEmptyMenu,
|  | bool & | showInline,
|  | bool & | showInlineHeader,
|  | bool & | showInlineAlias,
|  | int & | inlineValue
| ) |  |

This function parse attributes into menu.

Since
  3.5

Definition at line 593 of file kservicegroup.cpp.

virtual QString KServiceGroup::relPath | ( |  | ) | const

inline virtual

Returns the relative path of the service group.

Returns
  the service group's relative path

Definition at line 115 of file kservicegroup.h.

KServiceGroup::Ptr KServiceGroup::root | ( |  | ) |

static

Returns the root service group.

Returns
  the root service group

Definition at line 643 of file kservicegroup.cpp.

bool KServiceGroup::showEmptyMenu | ( |  | ) | const

Return true if we want to display empty menu entry.

Returns
  true to show this service group as menu entry is empty, false to hide it

Since
  3.4

Definition at line 151 of file kservicegroup.cpp.

bool KServiceGroup::showInlineHeader | ( |  | ) | const

Returns
  true to show an inline header into menu

Since
  3.5

Definition at line 146 of file kservicegroup.cpp.

QStringList KServiceGroup::suppressGenericNames | ( |  | ) | const

Returns a list of untranslated generic names that should be be supressed when showing this group.

E.g. The group "Games/Arcade" might want to suppress the generic name "Arcade Game" since it's redundant in this particular context.

Since
  3.2

Definition at line 201 of file kservicegroup.cpp.

The documentation for this class was generated from the following files:

- kservicegroup.h
- kservicegroup.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys