kstandarddirs.cpp
108 QMap<QByteArray, QStringList> m_absolutes; // For each resource type, the list of absolute paths, from most local (most priority) to most global
110 // The search path is "all relative paths" < "all absolute paths", from most priority to least priority.
121 * 1) regenerate using "kdesdk/scripts/generate_string_table.pl types < tmpfile" with the data below
634 if ((KDE::access(file, R_OK) == 0) && (KDE::stat(file, &buff) == 0) && (S_ISREG(buff.st_mode))) {
697 kWarning() << "filename for type " << type << " in KStandardDirs::findResourceDir is not supposed to be empty!!";
721 kDebug(180) << "KStdDirs::findResDir(): can't find \"" << filename << "\" in type \"" << type << "\".";
785 bool bIsDir = ((findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY);
818 if (fn == QString::fromLatin1(".") || fn == QString::fromLatin1("..") || fn.at(fn.length() - 1) == QLatin1Char('~')) {
848 lookupDirectory(pathfn + QLatin1Char('/'), relPart + fn + QLatin1Char('/'), regexp, list, relList, recursive, unique);
953 if (fn == QLatin1String(".") || fn == QLatin1String("..") || fn.at(fn.length() - 1) == QLatin1Char('~')) {
980 lookupPrefix(fn + QLatin1Char('/'), rest, rfn + QLatin1Char('/'), regexp, list, relList, recursive, unique);
1132 return QString::fromUtf16((const unsigned short *)buf.data()).replace(QLatin1Char('\\'), QLatin1Char('/'));
1152 QStringList KStandardDirs::KStandardDirsPrivate::resourceDirs(const char *type, const QString &subdirForRestrictions)
1168 q->addResourceDir("socket", QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation));
1170 q->addResourceDir("cache", QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation));
1196 typeInstallPath = QFile::decodeName(CMAKE_INSTALL_PREFIX "/") + QLatin1String("share/applications/");
1311 // If %PATHEXT% does not contain .exe, it is either empty, malformed, or distorted in ways that we cannot support, anyway.
1423 if (!executable_extensions.contains(appname.section(QLatin1Char('.'), -1, -1, QString::SectionIncludeLeadingSep), Qt::CaseInsensitive)) {
1482 // TODO: very rarely used. Only known example is kdevelop looking for all qmakes/cmakes in the path.
1488 if (!executable_extensions.contains(appname.section(QLatin1Char('.'), -1, -1, QString::SectionIncludeLeadingSep), Qt::CaseInsensitive)) {
1611 d->m_savelocations.insert(type, path.endsWith(QLatin1Char('/')) ? path : path + QLatin1Char('/'));
1813 localKdeDir = QDir::fromNativeSeparators(QString::fromUtf16((const ushort *) wPath)) + QLatin1Char('/') + QString::fromLatin1(KDE_DEFAULT_HOME) + QLatin1Char('/');
1816 localKdeDir = QDir::homePath() + QLatin1Char('/') + QString::fromLatin1(KDE_DEFAULT_HOME) + QLatin1Char('/');
1821 localKdeDir = QDir::homePath() + QLatin1Char('/') + QString::fromLatin1(KDE_DEFAULT_HOME) + QLatin1Char('/');
1923 addResourceType(types_string + types_indices[index], nullptr, types_string + types_indices[index + 1], true);
1927 // config resource: the XDG paths (xdg/config) have more priority than the KDE4 paths (share/config)
1934 addResourceType("autostart", "xdgconf-autostart", "/"); // merge them, start with xdg autostart
1935 addResourceType("autostart", nullptr, "share/autostart"); // KDE ones are higher priority - KDE 5: deprecated, use xdgconf-autostart
KDELIBS4SUPPORT_DEPRECATED_EXPORT FILE * fopen(const QString &pathname, const char *mode)
replacement for fopen()/::fopen64() to handle filenames in a platform independent way ...
Definition: kde_file.h:187
QString saveLocation(const char *type, const QString &suffix=QString(), bool create=true) const
Finds a location to save files into for the given type in the user's home directory.
Definition: kstandarddirs.cpp:1563
void clear()
int indexOf(QChar ch, int from, Qt::CaseSensitivity cs) const
bool makeAbsolute()
QString & append(QChar ch)
void truncate(int position)
QString writableLocation(StandardLocation type)
static QString realFilePath(const QString &filename)
Expands all symbolic links and resolves references to '/.
Definition: kstandarddirs.cpp:1119
QString fromNativeSeparators(const QString &pathName)
KDELIBS4SUPPORT_DEPRECATED bool addResourceType(const char *type, const QString &relativename, bool priority=true)
Adds suffixes for types.
Definition: kstandarddirs.cpp:522
This file provides portable defines for file support.
void addPrefix(const QString &dir)
Adds another search dir to front of the fsstnd list.
Definition: kstandarddirs.cpp:450
bool isAbsolute() const
QStringList split(const QString &sep, SplitBehavior behavior, Qt::CaseSensitivity cs) const
QString & prepend(QChar ch)
void setFile(const QString &file)
QStringList findDirs(const char *type, const QString &reldir) const
Tries to find all directories whose names consist of the specified type and a relative path...
Definition: kstandarddirs.cpp:662
int size() const
bool contains(const QString &str, Qt::CaseSensitivity cs) const
bool isSymLink() const
bool isEmpty() const
KDELIBS4SUPPORT_DEPRECATED_EXPORT int stat(const QString &path, KDE_struct_stat *buf)
replacement for stat()/::stat64() to handle filenames in a platform independent way ...
Definition: kde_file.h:207
static bool checkAccess(const QString &pathname, int mode)
Check, if a file may be accessed in a given mode.
Definition: kstandarddirs.cpp:2174
const_iterator constFind(const Key &key) const
bool exists() const
QString currentPath()
QString homePath()
static KDELIBS4SUPPORT_DEPRECATED bool exists(const QString &fullPath)
Checks for existence and accessability of a file or directory.
Definition: kstandarddirs.cpp:728
int lastIndexOf(QChar ch, int from, Qt::CaseSensitivity cs) const
bool isNull() const
static KDELIBS4SUPPORT_DEPRECATED bool makeDir(const QString &dir, int mode=0755)
Recursively creates still-missing directories in the given path.
Definition: kstandarddirs.cpp:1655
T value(int i) const
void clear()
QString filePath() const
QMap< QString, QString > entryMap(const QString &aGroup=QString()) const
bool isFile() const
QString canonicalFilePath() const
int count(const T &value) const
QString fromLocal8Bit(const char *str, int size)
bool exists() const
void addXdgDataPrefix(const QString &dir)
Adds another search dir to front of the XDG_DATA_XXX list of prefixes.
Definition: kstandarddirs.cpp:494
void append(const T &value)
QString fromUtf16(const ushort *unicode, int size)
QByteArray & prepend(char ch)
QString loginName() const
static QStringList systemPaths(const QString &pstr=QString())
Returns a QStringList list of pathnames in the system path.
Definition: kstandarddirs.cpp:1322
bool isEmpty() const
QString absoluteFilePath() const
bool isEmpty() const
const char * constData() const
bool startsWith(const QString &s, Qt::CaseSensitivity cs) const
static int findAllExe(QStringList &list, const QString &appname, const QString &pathstr=QString(), SearchOptions options=NoSearchOptions)
Finds all occurrences of an executable in the system path.
Definition: kstandarddirs.cpp:1483
KDELIBS4SUPPORT_DEPRECATED QString localxdgdatadir() const
Definition: kstandarddirs.cpp:2132
bool endsWith(const QString &s, Qt::CaseSensitivity cs) const
KDELIBS4SUPPORT_DEPRECATED quint32 calcResourceHash(const char *type, const QString &filename, SearchOptions options=NoSearchOptions) const
Returns a number that identifies this version of the resource.
Definition: kstandarddirs.cpp:640
T & first()
iterator end()
KDELIBS4SUPPORT_DEPRECATED QString kfsstnd_prefixes()
Definition: kstandarddirs.cpp:517
bool cdUp()
iterator begin()
void pop_back()
static QString localizedFilePath(const QString &filePath)
KDELIBS4SUPPORT_DEPRECATED QString localxdgconfdir() const
Definition: kstandarddirs.cpp:2138
iterator end()
static QString locateLocal(const char *type, const QString &filename)
This function is much like locate.
Definition: kstandarddirs.cpp:2152
bool exists() const
bool contains(QChar ch, Qt::CaseSensitivity cs) const
static QString installPath(const char *type)
Definition: kstandarddirs.cpp:359
QString findResourceDir(const char *type, const QString &filename) const
Tries to find the directory the file is in.
Definition: kstandarddirs.cpp:692
QStringList resourceDirs(const char *type) const
This function is used internally by almost all other function as it serves and fills the directories ...
Definition: kstandarddirs.cpp:1147
bool isRelativePath(const QString &path)
bool hasKey(const QString &key) const
QString cleanPath(const QString &path)
QVariant value(const QString &key, const QVariant &defaultValue) const
bool isAbsolutePath(const QString &path)
QByteArray toLatin1() const
const ushort * utf16() const
QString mid(int position, int n) const
QString dirName() const
QString absolutePath() const
void insert(int i, const T &value)
KDELIBS4SUPPORT_DEPRECATED_EXPORT int access(const QString &path, int mode)
replacement for access() to handle filenames in a platform independent way
Definition: kde_file.h:179
const QChar at(int position) const
QStringList allKeys() const
bool isRestrictedResource(const char *type, const QString &relPath=QString()) const
Checks whether a resource is restricted as part of the KIOSK framework.
Definition: kstandarddirs.cpp:386
static QString findExe(const QString &appname, const QString &pathstr=QString(), SearchOptions options=NoSearchOptions)
Finds the executable in the system path.
Definition: kstandarddirs.cpp:1415
typedef ConstIterator
QString pattern() const
QString findResource(const char *type, const QString &filename) const
Tries to find a resource in the following order:
Definition: kstandarddirs.cpp:597
KCOREADDONS_EXPORT QString tildeExpand(const QString &path)
int length() const
T * data()
KDELIBS4SUPPORT_DEPRECATED QString relativeLocation(const char *type, const QString &absPath) const
Converts an absolute path to a path relative to a certain resource.
Definition: kstandarddirs.cpp:1636
KDELIBS4SUPPORT_DEPRECATED QString localkdedir() const
Returns the toplevel directory in which KStandardDirs will store things.
Definition: kstandarddirs.cpp:2126
QString section(QChar sep, int start, int end, QFlags< QString::SectionFlag > flags) const
QString left(int n) const
QString fromLatin1(const char *str, int size)
void prepend(const T &value)
QStringList allTypes() const
This function will return a list of all the types that KStandardDirs supports.
Definition: kstandarddirs.cpp:416
static QString locate(const char *type, const QString &filename)
This function is just for convenience.
Definition: kstandarddirs.cpp:2146
bool addCustomized(KConfig *config)
Reads customized entries out of the given config object and add them via addResourceDirs().
Definition: kstandarddirs.cpp:2004
QStringList findAllResources(const char *type, const QString &filter=QString(), SearchOptions options=NoSearchOptions) const
Tries to find all resources with the specified type.
Definition: kstandarddirs.cpp:1043
const_iterator constEnd() const
void addXdgConfigPrefix(const QString &dir)
Adds another search dir to front of the XDG_CONFIG_XXX list of prefixes.
Definition: kstandarddirs.cpp:472
const_iterator constBegin() const
bool exactMatch(const QString &str) const
QString arg(qlonglong a, int fieldWidth, int base, QChar fillChar) const
QString toString() const
int size() const
void resize(int size)
T readEntry(const QString &key, const T &aDefault) const
T & back()
iterator begin()
static QString realPath(const QString &dirname)
Expands all symbolic links and resolves references to '/.
Definition: kstandarddirs.cpp:1057
bool addResourceDir(const char *type, const QString &absdir, bool priority=true)
Adds absolute path at the beginning of the search path for particular types (for example in case of i...
Definition: kstandarddirs.cpp:568
void setPath(const QString &path)
QByteArray encodeName(const QString &fileName)
void beginGroup(const QString &prefix)
QMap< QString, QString > entryMap() const
QString decodeName(const QByteArray &localFileName)
bool isExecutable() const
static KDELIBS4SUPPORT_DEPRECATED QString kde_default(const char *type)
This returns a default relative path for the standard KDE resource types.
Definition: kstandarddirs.cpp:1557
bool mkpath(const QString &dirPath) const
QString applicationName()
KDELIBS4SUPPORT_DEPRECATED_EXPORT KStandardDirs * dirs()
Returns the application standard dirs object.
Definition: kglobal.cpp:91
QByteArray toUtf8() const
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Thu Dec 12 2019 02:21:03 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2019 The KDE developers.
Generated on Thu Dec 12 2019 02:21:03 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.