KServiceGroup Class Reference

KServiceGroup represents a group of service, for example screensavers. More...

#include <kservicegroup.h>

Inherits KSycocaEntry.

List of all members.


Public Types

typedef KSharedPtr< KServiceGroupPtr
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 188 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 639 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 121 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 658 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 664 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 295 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 315 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 651 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 158 of file kservicegroup.cpp.

int KServiceGroup::inlineValue (  )  const

Returns:
inline limite value
Since:
3.5

Definition at line 178 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 198 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 595 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 645 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 153 of file kservicegroup.cpp.

bool KServiceGroup::showInlineHeader (  )  const

Returns:
true to show an inline header into menu
Since:
3.5

Definition at line 148 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 203 of file kservicegroup.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys