kstandarddirs.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SSK_KSTDDIRS_H
00024 #define SSK_KSTDDIRS_H
00025
00026 #include <qstring.h>
00027 #include <qdict.h>
00028 #include <qstringlist.h>
00029 #include <kglobal.h>
00030
00031 class KConfig;
00032 class KStandardDirsPrivate;
00033
00126 class KStandardDirs
00127 {
00128 public:
00132 KStandardDirs( );
00133
00137 virtual ~KStandardDirs();
00138
00148 void addPrefix( const QString& dir );
00149
00157 void addXdgConfigPrefix( const QString& dir );
00158
00166 void addXdgDataPrefix( const QString& dir );
00167
00187 bool addResourceType( const char *type,
00188 const QString& relativename );
00189
00205 bool addResourceDir( const char *type,
00206 const QString& absdir);
00207
00226 QString findResource( const char *type,
00227 const QString& filename ) const;
00228
00244 bool isRestrictedResource( const char *type,
00245 const QString& relPath=QString::null ) const;
00246
00259 Q_UINT32 calcResourceHash( const char *type,
00260 const QString& filename, bool deep) const;
00261
00278 QStringList findDirs( const char *type,
00279 const QString& reldir ) const;
00280
00301 QString findResourceDir( const char *type,
00302 const QString& filename) const;
00303
00304
00324 QStringList findAllResources( const char *type,
00325 const QString& filter = QString::null,
00326 bool recursive = false,
00327 bool unique = false) const;
00328
00351 QStringList findAllResources( const char *type,
00352 const QString& filter,
00353 bool recursive,
00354 bool unique,
00355 QStringList &relPaths) const;
00356
00366 static QStringList systemPaths( const QString& pstr=QString::null );
00367
00385 static QString findExe( const QString& appname,
00386 const QString& pathstr=QString::null,
00387 bool ignoreExecBit=false );
00388
00407 static int findAllExe( QStringList& list, const QString& appname,
00408 const QString& pathstr=QString::null,
00409 bool ignoreExecBit=false );
00410
00420 void addKDEDefaults();
00421
00431 bool addCustomized(KConfig *config);
00432
00444 QStringList resourceDirs(const char *type) const;
00445
00452 QStringList allTypes() const;
00453
00471 QString saveLocation(const char *type,
00472 const QString& suffix = QString::null,
00473 bool create = true) const;
00474
00490 QString relativeLocation(const char *type, const QString &absPath);
00491
00502 static bool makeDir(const QString& dir, int mode = 0755);
00503
00531 static QString kde_default(const char *type);
00532
00536 QString kfsstnd_prefixes();
00537
00544 QString localkdedir() const;
00545
00550 QString localxdgdatadir() const;
00551
00556 QString localxdgconfdir() const;
00557
00564 static bool exists(const QString &fullPath);
00565 static bool exists_exe(const QString &fullPath);
00566
00575 static QString realPath(const QString &dirname);
00576 private:
00577
00578 QStringList prefixes;
00579
00580
00581 QDict<QStringList> absolutes;
00582 QDict<QStringList> relatives;
00583
00584 mutable QDict<QStringList> dircache;
00585 mutable QDict<QString> savelocations;
00586
00587
00588 KStandardDirs( const KStandardDirs& );
00589 KStandardDirs& operator= ( const KStandardDirs& );
00590
00591 bool addedCustoms;
00592
00593 class KStandardDirsPrivate;
00594 KStandardDirsPrivate *d;
00595
00596 void checkConfig() const;
00597 void applyDataRestrictions(const QString &) const;
00598 void createSpecialResource(const char*);
00599
00600
00601
00602
00603 void addPrefix( const QString& dir, bool priority );
00604 void addXdgConfigPrefix( const QString& dir, bool priority );
00605 void addXdgDataPrefix( const QString& dir, bool priority );
00606
00607
00608
00609 bool addResourceType( const char *type,
00610 const QString& relativename, bool priority );
00611 bool addResourceDir( const char *type,
00612 const QString& absdir, bool priority);
00613 };
00614
00671 QString locate( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00672
00682 QString locateLocal( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00683
00693 QString locateLocal( const char *type, const QString& filename, bool createDir, const KInstance* instance = KGlobal::instance() );
00694
00697 #endif // SSK_KSTDDIRS_H
This file is part of the documentation for kdecore Library Version 3.2.3.