kio Library API Documentation

KServiceGroup Class Reference

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

#include <kservicegroup.h>

Inheritance diagram for KServiceGroup:

KSycocaEntry KShared List of all members.

Public Types

typedef KSharedPtr< KServiceGroup > Ptr
typedef KSharedPtr< KSycocaEntrySPtr
typedef QValueList< SPtr > List

Public Methods

 KServiceGroup (const QString &name)
 KServiceGroup (const QString &_fullpath, const QString &_relpath)
 KServiceGroup (QDataStream &_str, int offset, bool deep)
virtual ~KServiceGroup ()
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
QStringList suppressGenericNames () const
void setLayoutInfo (const QStringList &layout)
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

Static Public Methods

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

Protected Methods

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. Represents a group of services.

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 ...
    }
 }

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

References KSycocaEntry::m_bDeleted.

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

References QString::findRev(), QString::isEmpty(), QString::left(), QString::length(), KSycocaEntry::m_bDeleted, QString::mid(), and QString::right().


Member Function Documentation

bool KServiceGroup::isValid   const [inline, virtual]
 

Checks whether the entry is valid, returns always true.

Returns:
true

Implements KSycocaEntry.

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

Implements KSycocaEntry.

Definition at line 109 of file kservicegroup.h.

References KSycocaEntry::entryPath().

Referenced by entries().

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.

References KSycocaEntry::entryPath().

Referenced by entries().

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.

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.

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.

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

References QValueList< SPtr >::begin(), QValueList< SPtr >::end(), KSycocaEntry::isType(), and KService::noDisplay().

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

References QString::startsWith().

Referenced by entries().

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 146 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 include 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 entried
Since:
3.2

Definition at line 246 of file kservicegroup.cpp.

References QValueList< SPtr >::begin(), QValueList< SPtr >::end(), group(), KSortableValueList< T, Key >::insert(), QString::isEmpty(), KSycocaEntry::isType(), KStdAccel::key(), QString::length(), KSycocaEntry::List, QString::local8Bit(), m_serviceList, KService::menuId(), QString::mid(), KSycocaEntry::name(), name(), KService::noDisplay(), noDisplay(), relPath(), QCString::resize(), and KSortableValueList< T, Key >::sort().

Referenced by entries().

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

References entries().

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 209 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 499 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 474 of file kservicegroup.cpp.

KServiceGroup::Ptr KServiceGroup::root   [static]
 

Returns the root service group.

Returns:
the root service group

Definition at line 480 of file kservicegroup.cpp.

Referenced by group().

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

References QString::isEmpty(), and root().

Referenced by entries().

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


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kio Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun May 16 22:03:34 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003