KServiceGroup

#include <KServiceGroup>

Inheritance diagram for KServiceGroup:

Public Types

enum  EntriesOption {
  NoOptions = 0x0, SortEntries = 0x1, ExcludeNoDisplay = 0x2, AllowSeparators = 0x4,
  SortByGenericName = 0x8
}
 
typedef QFlags< EntriesOptionEntriesOptions
 
typedef QList< SPtrList
 
typedef QExplicitlySharedDataPointer< KServiceGroupPtr
 
typedef QExplicitlySharedDataPointer< KSycocaEntrySPtr
 
- Public Types inherited from KSycocaEntry
typedef QList< PtrList
 
typedef QExplicitlySharedDataPointer< KSycocaEntryPtr
 

Public Member Functions

 KServiceGroup (const QString &name)
 
 KServiceGroup (const QString &_fullpath, const QString &_relpath)
 
bool allowInline () const
 
QString baseGroupName () const
 
QString caption () const
 
int childCount () const
 
QString comment () const
 
QString directoryEntryPath () const
 
List entries (bool sorted, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName=false)
 
List entries (bool sorted, bool excludeNoDisplay)
 
List entries (bool sorted=false)
 
QList< PtrgroupEntries (EntriesOptions options=ExcludeNoDisplay)
 
QString icon () const
 
bool inlineAlias () const
 
int inlineValue () const
 
QStringList layoutInfo () const
 
bool noDisplay () const
 
QString relPath () const
 
KService::List serviceEntries (EntriesOptions options=ExcludeNoDisplay)
 
void setAllowInline (bool _b)
 
void setInlineAlias (bool _b)
 
void setInlineValue (int _val)
 
void setLayoutInfo (const QStringList &layout)
 
void setShowEmptyMenu (bool b)
 
void setShowInlineHeader (bool _b)
 
bool showEmptyMenu () const
 
bool showInlineHeader () const
 
QStringList suppressGenericNames () const
 
- Public Member Functions inherited from KSycocaEntry
QString entryPath () const
 
bool isDeleted () const
 
bool isSeparator () const
 
bool isType (KSycocaType t) const
 
bool isValid () const
 
QString name () const
 
QVariant property (const QString &name) const
 
QStringList propertyNames () const
 
void setDeleted (bool deleted)
 
QString storageId () const
 
KSycocaType sycocaType () const
 
- Public Member Functions inherited from QSharedData
 QSharedData (const QSharedData &)
 

Static Public Member Functions

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

Protected Member Functions

void addEntry (const KSycocaEntry::Ptr &entry)
 
- Protected Member Functions inherited from KSycocaEntry
 KSycocaEntry (KSycocaEntryPrivate &d)
 

Additional Inherited Members

- Protected Attributes inherited from KSycocaEntry
KSycocaEntryPrivate * d_ptr
 

Detailed Description

KServiceGroup represents a group of service, for example screensavers.

This class is typically used like this:

// Start from root group
if (!group || !group->isValid()) return;
KServiceGroup::List list = group->entries();
// Iterate over all entries in the group
it != list.end(); it++)
{
KSycocaEntry *p = (*it);
if (p->isType(KST_KService))
{
KService *s = static_cast<KService *>(p);
printf("Name = %s\n", s->name().toLatin1());
}
else if (p->isType(KST_KServiceGroup))
{
KServiceGroup *g = static_cast<KServiceGroup *>(p);
// Sub group ...
}
}

Represents a group of services

Definition at line 63 of file kservicegroup.h.

Member Typedef Documentation

Stores a combination of EntriesOption values.

Definition at line 219 of file kservicegroup.h.

A list of shared data pointers for KSycocaEntry.

Definition at line 78 of file kservicegroup.h.

A shared data pointer for KServiceGroup.

Definition at line 70 of file kservicegroup.h.

A shared data pointer for KSycocaEntry.

Definition at line 74 of file kservicegroup.h.

Member Enumeration Documentation

options for groupEntries and serviceEntries

See also
EntriesOptions
Enumerator
NoOptions 

no options set

SortEntries 

sort items

ExcludeNoDisplay 

exclude items marked "NoDisplay"

AllowSeparators 

allow separator items to be included

SortByGenericName 

sort by GenericName+Name instead of Name+GenericName

Definition at line 209 of file kservicegroup.h.

Constructor & Destructor Documentation

KServiceGroup::KServiceGroup ( const QString name)

Construct a dummy servicegroup indexed with name.

Parameters
namethe name of the service group

Definition at line 30 of file kservicegroup.cpp.

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

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

Parameters
_fullpathfull path to the config file
_relpathrelative path to the config file

Definition at line 35 of file kservicegroup.cpp.

Member Function Documentation

void KServiceGroup::addEntry ( const KSycocaEntry::Ptr entry)
protected

Add a service to this group

Definition at line 253 of file kservicegroup.cpp.

bool KServiceGroup::allowInline ( ) const
Returns
true if we allow to inline menu.

Definition at line 191 of file kservicegroup.cpp.

QString KServiceGroup::baseGroupName ( ) const

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 693 of file kservicegroup.cpp.

QString KServiceGroup::caption ( ) const

Returns the caption of this group.

Returns
the caption of this group

Definition at line 97 of file kservicegroup.cpp.

int KServiceGroup::childCount ( ) const

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

Returns
the number of child services

Definition at line 115 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
parentthe name of the service's parent
Returns
the services group

Definition at line 687 of file kservicegroup.cpp.

QString KServiceGroup::comment ( ) const

Returns the comment about this service group.

Returns
the descriptive comment for the group, if there is one, or QString() if not set

Definition at line 109 of file kservicegroup.cpp.

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.

Definition at line 699 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
sortedtrue to sort items
excludeNoDisplaytrue to exclude items marked "NoDisplay"
allowSeparatorstrue to allow separator items to be included
sortByGenericNametrue to sort GenericName+Name instead of Name+GenericName
Returns
the list of entries

Definition at line 341 of file kservicegroup.cpp.

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

List of all Services and ServiceGroups within this ServiceGroup.

Parameters
sortedtrue to sort items
Returns
the list of entried

Definition at line 327 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::group ( const QString relPath)
static

Returns the group with the given relative path.

Parameters
relPaththe path of the service group
Returns
the group with the given relative path name.

Definition at line 677 of file kservicegroup.cpp.

QList< KServiceGroup::Ptr > KServiceGroup::groupEntries ( EntriesOptions  options = ExcludeNoDisplay)

subgroups for this service group

Definition at line 289 of file kservicegroup.cpp.

QString KServiceGroup::icon ( ) const

Returns the name of the icon associated with the group.

Returns
the name of the icon associated with the group, or QString() if not set

Definition at line 103 of file kservicegroup.cpp.

bool KServiceGroup::inlineAlias ( ) const
Returns
true to show an inline alias item into menu

Definition at line 155 of file kservicegroup.cpp.

int KServiceGroup::inlineValue ( ) const
Returns
inline limite value

Definition at line 179 of file kservicegroup.cpp.

QStringList KServiceGroup::layoutInfo ( ) const

Returns information related to the layout of services in this group.

Definition at line 663 of file kservicegroup.cpp.

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

Definition at line 203 of file kservicegroup.cpp.

QString KServiceGroup::relPath ( ) const

Returns the relative path of the service group.

Returns
the service group's relative path

Definition at line 92 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::root ( )
static

Returns the root service group.

Returns
the root service group

Definition at line 670 of file kservicegroup.cpp.

KService::List KServiceGroup::serviceEntries ( EntriesOptions  options = ExcludeNoDisplay)

entries of this service group

Definition at line 308 of file kservicegroup.cpp.

void KServiceGroup::setLayoutInfo ( const QStringList layout)

Sets information related to the layout of services in this group.

Definition at line 657 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

Definition at line 149 of file kservicegroup.cpp.

bool KServiceGroup::showInlineHeader ( ) const
Returns
true to show an inline header into menu

Definition at line 143 of file kservicegroup.cpp.

QStringList KServiceGroup::suppressGenericNames ( ) const

Returns a list of untranslated generic names that should be be suppressed 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.

Definition at line 209 of file kservicegroup.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Wed Aug 5 2020 22:45:46 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.