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
00125 class KStandardDirs
00126 {
00127 public:
00131 KStandardDirs( );
00132
00136 virtual ~KStandardDirs();
00137
00147 void addPrefix( const QString& dir );
00148
00168 bool addResourceType( const char *type,
00169 const QString& relativename );
00170
00186 bool addResourceDir( const char *type,
00187 const QString& absdir);
00188
00207 QString findResource( const char *type,
00208 const QString& filename ) const;
00209
00225 bool isRestrictedResource( const char *type,
00226 const QString& relPath=QString::null ) const;
00227
00240 Q_UINT32 calcResourceHash( const char *type,
00241 const QString& filename, bool deep) const;
00242
00259 QStringList findDirs( const char *type,
00260 const QString& reldir ) const;
00261
00282 QString findResourceDir( const char *type,
00283 const QString& filename) const;
00284
00285
00305 QStringList findAllResources( const char *type,
00306 const QString& filter = QString::null,
00307 bool recursive = false,
00308 bool uniq = false) const;
00309
00333 QStringList findAllResources( const char *type,
00334 const QString& filter,
00335 bool recursive,
00336 bool uniq,
00337 QStringList &relPaths) const;
00338
00356 static QString findExe( const QString& appname,
00357 const QString& pathstr=QString::null,
00358 bool ignoreExecBit=false );
00359
00378 static int findAllExe( QStringList& list, const QString& appname,
00379 const QString& pathstr=QString::null,
00380 bool ignoreExecBit=false );
00381
00391 void addKDEDefaults();
00392
00402 bool addCustomized(KConfig *config);
00403
00415 QStringList resourceDirs(const char *type) const;
00416
00423 QStringList allTypes() const;
00424
00442 QString saveLocation(const char *type,
00443 const QString& suffix = QString::null,
00444 bool create = true) const;
00445
00461 QString relativeLocation(const char *type, const QString &absPath);
00462
00473 static bool makeDir(const QString& dir, int mode = 0755);
00474
00502 static QString kde_default(const char *type);
00503
00507 QString kfsstnd_prefixes();
00508
00515 QString localkdedir() const;
00516
00523 static bool exists(const QString &fullPath);
00524
00533 static QString realPath(const QString &dirname);
00534 private:
00535
00536 QStringList prefixes;
00537
00538
00539 QDict<QStringList> absolutes;
00540 QDict<QStringList> relatives;
00541
00542 mutable QDict<QStringList> dircache;
00543 mutable QDict<QString> savelocations;
00544
00545
00546 KStandardDirs( const KStandardDirs& );
00547 KStandardDirs& operator= ( const KStandardDirs& );
00548
00549 bool addedCustoms;
00550
00551 class KStandardDirsPrivate;
00552 KStandardDirsPrivate *d;
00553
00554 void checkConfig() const;
00555 void applyDataRestrictions(const QString &) const;
00556 };
00557
00614 QString locate( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00615
00625 QString locateLocal( const char *type, const QString& filename, const KInstance* instance = KGlobal::instance() );
00626
00629 #endif // SSK_KSTDDIRS_H
This file is part of the documentation for kdelibs Version 3.1.5.