kservicegroup.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __kservicegroup_h__
00020 #define __kservicegroup_h__
00021
00022 #include <qptrlist.h>
00023 #include <qstring.h>
00024 #include <qshared.h>
00025 #include <qdatastream.h>
00026 #include <qvariant.h>
00027
00028 #include <kdesktopfile.h>
00029
00030 #include "ksycocaentry.h"
00031 #include "ksycocatype.h"
00032 #include "kservice.h"
00033
00034 class KBuildServiceGroupFactory;
00035
00067 class KIO_EXPORT KServiceGroup : public KSycocaEntry
00068 {
00069 friend class KBuildServiceGroupFactory;
00070 K_SYCOCATYPE( KST_KServiceGroup, KSycocaEntry )
00071
00072 public:
00073 typedef KSharedPtr<KServiceGroup> Ptr;
00074 typedef KSharedPtr<KSycocaEntry> SPtr;
00075 typedef QValueList<SPtr> List;
00076 public:
00082 KServiceGroup( const QString & name );
00083
00089 KServiceGroup( const QString & _fullpath, const QString & _relpath );
00090
00095 KServiceGroup( QDataStream& _str, int offset, bool deep );
00096
00097 virtual ~KServiceGroup();
00098
00103 bool isValid() const { return true; }
00104
00109 virtual QString name() const { return entryPath(); }
00110
00115 virtual QString relPath() const { return entryPath(); }
00116
00121 QString caption() const { return m_strCaption; }
00122
00128 QString icon() const { return m_strIcon; }
00129
00135 QString comment() const { return m_strComment; }
00136
00142 int childCount();
00143
00150 bool noDisplay() const;
00151
00157 bool showEmptyMenu() const;
00158
00159 void setShowEmptyMenu( bool b);
00160
00165 bool showInlineHeader() const;
00166 void setShowInlineHeader(bool _b);
00167
00168
00169 bool inlineAlias() const;
00170 void setInlineAlias(bool _b);
00171
00172 bool allowInline() const;
00173 void setAllowInline(bool _b);
00174
00175 int inlineValue() const;
00176 void setInlineValue(int _val);
00177
00178
00186 QStringList suppressGenericNames() const;
00187
00192 void setLayoutInfo(const QStringList &layout);
00193
00198 QStringList layoutInfo() const;
00199
00204 virtual void load( QDataStream& );
00209 virtual void save( QDataStream& );
00210
00221 List entries(bool sorted, bool excludeNoDisplay, bool allowSeparators, bool sortByGenericName=false);
00222 virtual List entries(bool sorted, bool excludeNoDisplay);
00223
00230 virtual List entries(bool sorted = false);
00231
00242 QString baseGroupName() const { return m_strBaseGroupName; }
00243
00249 QString directoryEntryPath() const;
00250
00256 static Ptr baseGroup( const QString &baseGroupName );
00257
00262 static Ptr root();
00263
00269 static Ptr group(const QString &relPath);
00270
00278 static Ptr childGroup(const QString &parent);
00279
00280 void parseAttribute( const QString &item , bool &showEmptyMenu, bool &showInline, bool &showInlineHeader, bool & showInlineAlias ,int &inlineValue );
00281
00282 protected:
00287 void addEntry( KSycocaEntry *entry);
00288
00289 QString m_strCaption;
00290 QString m_strIcon;
00291 QString m_strComment;
00292
00293 List m_serviceList;
00294 bool m_bDeep;
00295 QString m_strBaseGroupName;
00296 int m_childCount;
00297 protected:
00298 virtual void virtual_hook( int id, void* data );
00299 private:
00300 class Private;
00301 Private* d;
00302 };
00303
00304 class KIO_EXPORT KServiceSeparator : public KSycocaEntry
00305 {
00306 K_SYCOCATYPE( KST_KServiceSeparator, KSycocaEntry )
00307
00308 public:
00309 typedef KSharedPtr<KServiceSeparator> Ptr;
00310 public:
00315 KServiceSeparator();
00316
00317 bool isValid() const { return true; }
00318
00319
00320 virtual QString name() const { return "separator"; }
00321
00322 virtual void load( QDataStream& ) { };
00323
00324 virtual void save( QDataStream& ) { };
00325 };
00326
00327 #endif
This file is part of the documentation for kio Library Version 3.4.2.