summaryrefslogtreecommitdiffstats
path: root/tdecore
diff options
context:
space:
mode:
Diffstat (limited to 'tdecore')
-rw-r--r--tdecore/CMakeLists.txt6
-rw-r--r--tdecore/MAINTAINERS2
-rw-r--r--tdecore/Makefile.am4
-rw-r--r--tdecore/configure.in.in2
-rw-r--r--tdecore/kapplication_win.cpp2
-rw-r--r--tdecore/kcatalogue.cpp2
-rw-r--r--tdecore/kdebug.cpp2
-rw-r--r--tdecore/kdesktopfile.cpp2
-rw-r--r--tdecore/kiconloader.cpp2
-rw-r--r--tdecore/kicontheme.cpp2
-rw-r--r--tdecore/kinstance.cpp2
-rw-r--r--tdecore/klibloader.cpp2
-rw-r--r--tdecore/kmountpoint.cpp2
-rw-r--r--tdecore/knotifyclient.cpp2
-rw-r--r--tdecore/kpalette.cpp2
-rw-r--r--tdecore/kprotocolinfo_tdecore.cpp2
-rw-r--r--tdecore/kprotocolinfofactory.cpp2
-rw-r--r--tdecore/kpty.cpp2
-rw-r--r--tdecore/ksavefile.cpp2
-rw-r--r--tdecore/ksimpleconfig.cpp2
-rw-r--r--tdecore/kstandarddirs.h730
-rw-r--r--tdecore/kstddirs.h6
-rw-r--r--tdecore/ktempdir.cpp2
-rw-r--r--tdecore/network/kresolverstandardworkers.cpp2
-rw-r--r--tdecore/tde-config.cpp.cmake2
-rw-r--r--tdecore/tde-config.cpp.in2
-rw-r--r--tdecore/tdeaboutdata.cpp2
-rw-r--r--tdecore/tdeapplication.cpp2
-rw-r--r--tdecore/tdeconfig.cpp2
-rw-r--r--tdecore/tdeconfig_compiler/example/autoexample.cpp2
-rw-r--r--tdecore/tdeconfig_compiler/example/example.cpp2
-rw-r--r--tdecore/tdeconfig_compiler/tdeconfig_compiler.cpp2
-rw-r--r--tdecore/tdeconfigbackend.cpp2
-rw-r--r--tdecore/tdeconfigbase.cpp2
-rw-r--r--tdecore/tdeconfigskeleton.cpp2
-rw-r--r--tdecore/tdeglobal.cpp2
-rw-r--r--tdecore/tdeglobalsettings.cpp2
-rw-r--r--tdecore/tdehw/tdehardwaredevices.cpp2
-rw-r--r--tdecore/tdehw/tderootsystemdevice.cpp2
-rw-r--r--tdecore/tdehw/tdestoragedevice.cpp2
-rw-r--r--tdecore/tdelocale.cpp2
-rw-r--r--tdecore/tdeprocess.cpp2
-rw-r--r--tdecore/tdestandarddirs.cpp (renamed from tdecore/kstandarddirs.cpp)6
-rw-r--r--tdecore/tdestandarddirs.h729
-rw-r--r--tdecore/tdesycoca.cpp2
-rw-r--r--tdecore/tdetempfile.cpp2
-rw-r--r--tdecore/tdeuniqueapplication.cpp2
-rw-r--r--tdecore/tests/CMakeLists.txt2
-rw-r--r--tdecore/tests/Makefile.am4
-rw-r--r--tdecore/tests/ktempfiletest.cpp2
-rw-r--r--tdecore/tests/tdestandarddirstest.cpp (renamed from tdecore/tests/kstandarddirstest.cpp)2
51 files changed, 784 insertions, 789 deletions
diff --git a/tdecore/CMakeLists.txt b/tdecore/CMakeLists.txt
index c989db4bd..73e54db02 100644
--- a/tdecore/CMakeLists.txt
+++ b/tdecore/CMakeLists.txt
@@ -57,8 +57,8 @@ install( FILES
tdelocale.h kicontheme.h kiconloader.h kdebug.h twinmodule.h
twin.h krootprop.h tdeshortcut.h kkeynative.h tdeaccel.h
tdeglobalaccel.h tdestdaccel.h tdeshortcutlist.h kcatalogue.h
- kregexp.h kcompletion.h kstringhandler.h kstddirs.h
- kstandarddirs.h tdeglobal.h tdeglobalsettings.h ksharedptr.h
+ kregexp.h kcompletion.h kstringhandler.h
+ kstandarddirs.h tdestandarddirs.h tdeglobal.h tdeglobalsettings.h ksharedptr.h
kallocator.h kvmallocator.h tdecrash.h krfcdate.h kinstance.h
kpalette.h kipc.h klibloader.h tdetempfile.h ksavefile.h
krandomsequence.h knotifyclient.h kiconeffect.h kaudioplayer.h
@@ -107,7 +107,7 @@ set( target tdecore )
set( ${target}_SRCS
libintl.cpp tdeapplication.cpp kdebug.cpp netwm.cpp
tdeconfigbase.cpp tdeconfig.cpp ksimpleconfig.cpp tdeconfigbackend.cpp
- kmanagerselection.cpp kdesktopfile.cpp kstandarddirs.cpp
+ kmanagerselection.cpp kdesktopfile.cpp tdestandarddirs.cpp
ksock.cpp kpty.cpp tdeprocess.cpp tdeprocctrl.cpp tdelocale.cpp
krfcdate.cpp kiconeffect.cpp kicontheme.cpp kiconloader.cpp
twin.cpp twinmodule.cpp krootprop.cpp kcharsets.cpp
diff --git a/tdecore/MAINTAINERS b/tdecore/MAINTAINERS
index efc01568a..fef36b95d 100644
--- a/tdecore/MAINTAINERS
+++ b/tdecore/MAINTAINERS
@@ -59,7 +59,7 @@ ksavefile.cpp Waldo Bastian <[email protected]>
tdeshortcut.cpp Ellis Whitehead <[email protected]>
ksimpleconfig.cpp Waldo Bastian <[email protected]>
ksocks.cpp
-kstandarddirs.cpp Waldo Bastian <[email protected]>
+tdestandarddirs.cpp Waldo Bastian <[email protected]>
tdestartupinfo.cpp Lubos Lunak <[email protected]>
kstaticdeleter.cpp Stephan Kulow <[email protected]>
tdestdaccel.cpp Ellis Whitehead <[email protected]>
diff --git a/tdecore/Makefile.am b/tdecore/Makefile.am
index 12d457d02..1f62c5d41 100644
--- a/tdecore/Makefile.am
+++ b/tdecore/Makefile.am
@@ -45,7 +45,7 @@ include_HEADERS = tdeconfig.h tdeconfigskeleton.h \
twinmodule.h twin.h krootprop.h tdeshortcut.h kkeynative.h tdeaccel.h \
tdeglobalaccel.h tdestdaccel.h tdeshortcutlist.h kcatalogue.h \
kregexp.h kcompletion.h kstringhandler.h \
- kstddirs.h kstandarddirs.h tdeglobal.h tdeglobalsettings.h ksharedptr.h \
+ kstandarddirs.h tdestandarddirs.h tdeglobal.h tdeglobalsettings.h ksharedptr.h \
kallocator.h kvmallocator.h tdecrash.h krfcdate.h \
kinstance.h kpalette.h kipc.h klibloader.h tdetempfile.h ksavefile.h \
krandomsequence.h knotifyclient.h kiconeffect.h \
@@ -92,7 +92,7 @@ noinst_HEADERS = tdeaccelaction.h tdeaccelbase.h tdeaccelprivate.h kckey.h \
libtdecore_la_SOURCES = libintl.cpp tdeapplication.cpp \
kdebug.cpp netwm.cpp tdeconfigbase.cpp tdeconfig.cpp ksimpleconfig.cpp \
tdeconfigbackend.cpp kmanagerselection.cpp kdesktopfile.cpp \
- kstandarddirs.cpp ksock.cpp kpty.cpp tdeprocess.cpp tdeprocctrl.cpp \
+ tdestandarddirs.cpp ksock.cpp kpty.cpp tdeprocess.cpp tdeprocctrl.cpp \
tdelocale.cpp krfcdate.cpp kiconeffect.cpp kicontheme.cpp \
kiconloader.cpp twin.cpp twinmodule.cpp krootprop.cpp kcharsets.cpp \
kckey.cpp tdeshortcut.cpp kkeynative_x11.cpp kkeyserver_x11.cpp \
diff --git a/tdecore/configure.in.in b/tdecore/configure.in.in
index 2597fddcc..8dde23486 100644
--- a/tdecore/configure.in.in
+++ b/tdecore/configure.in.in
@@ -1,4 +1,4 @@
-dnl Compile in the exec prefix to help kstandarddirs in finding dynamic libs
+dnl Compile in the exec prefix to help tdestandarddirs in finding dynamic libs
AC_DEFINE_UNQUOTED(__KDE_EXECPREFIX, "$exec_prefix", [execprefix or NONE if not set, for libloading])
dnl Compile in kde_bindir to safely find tdesu_stub.
diff --git a/tdecore/kapplication_win.cpp b/tdecore/kapplication_win.cpp
index 2e9a8a0ba..0da2ced26 100644
--- a/tdecore/kapplication_win.cpp
+++ b/tdecore/kapplication_win.cpp
@@ -18,7 +18,7 @@
*/
#include <tdeapplication.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdelocale.h>
#include <kurl.h>
diff --git a/tdecore/kcatalogue.cpp b/tdecore/kcatalogue.cpp
index 24d0193b2..d91338d1f 100644
--- a/tdecore/kcatalogue.cpp
+++ b/tdecore/kcatalogue.cpp
@@ -24,7 +24,7 @@
#include <kdebug.h>
#include "kcatalogue.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
char *k_nl_find_msg(struct kde_loaded_l10nfile *domain_file,
const char *msgid);
diff --git a/tdecore/kdebug.cpp b/tdecore/kdebug.cpp
index 368aaef5d..46dac11d8 100644
--- a/tdecore/kdebug.cpp
+++ b/tdecore/kdebug.cpp
@@ -29,7 +29,7 @@
#include "tdeapplication.h"
#include "tdeglobal.h"
#include "kinstance.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include <tqmessagebox.h>
#include <tdelocale.h>
diff --git a/tdecore/kdesktopfile.cpp b/tdecore/kdesktopfile.cpp
index 3e262be3a..27b25858b 100644
--- a/tdecore/kdesktopfile.cpp
+++ b/tdecore/kdesktopfile.cpp
@@ -32,7 +32,7 @@
#include "kurl.h"
#include "tdeconfigbackend.h"
#include "tdeapplication.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kmountpoint.h"
#include "kcatalogue.h"
#include "tdelocale.h"
diff --git a/tdecore/kiconloader.cpp b/tdecore/kiconloader.cpp
index db98fbffd..8c56990d8 100644
--- a/tdecore/kiconloader.cpp
+++ b/tdecore/kiconloader.cpp
@@ -29,7 +29,7 @@
#include <tdeapplication.h>
#include <kipc.h>
#include <kdebug.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeconfig.h>
#include <ksimpleconfig.h>
diff --git a/tdecore/kicontheme.cpp b/tdecore/kicontheme.cpp
index dd2cd2944..f0793f2c1 100644
--- a/tdecore/kicontheme.cpp
+++ b/tdecore/kicontheme.cpp
@@ -29,7 +29,7 @@
#include <tqdir.h>
#include <kdebug.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeconfig.h>
#include <ksimpleconfig.h>
diff --git a/tdecore/kinstance.cpp b/tdecore/kinstance.cpp
index 8ae747948..c5fe83ccc 100644
--- a/tdecore/kinstance.cpp
+++ b/tdecore/kinstance.cpp
@@ -31,7 +31,7 @@
#include "tdenetworkconnections.h"
#endif
#include "tdeaboutdata.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kdebug.h"
#include "tdeglobal.h"
#include "kmimesourcefactory.h"
diff --git a/tdecore/klibloader.cpp b/tdecore/klibloader.cpp
index 2d33aa80b..ca77c5f8c 100644
--- a/tdecore/klibloader.cpp
+++ b/tdecore/klibloader.cpp
@@ -27,7 +27,7 @@
#include "tdeapplication.h"
#include "klibloader.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kdebug.h"
#include "tdelocale.h"
diff --git a/tdecore/kmountpoint.cpp b/tdecore/kmountpoint.cpp
index 0828911ef..e5a67e0f3 100644
--- a/tdecore/kmountpoint.cpp
+++ b/tdecore/kmountpoint.cpp
@@ -25,7 +25,7 @@
#include <tqfile.h>
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kmountpoint.h"
diff --git a/tdecore/knotifyclient.cpp b/tdecore/knotifyclient.cpp
index eaac81754..7d4c675d7 100644
--- a/tdecore/knotifyclient.cpp
+++ b/tdecore/knotifyclient.cpp
@@ -24,7 +24,7 @@
#include <tqptrstack.h>
#include <tdeapplication.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeapplication.h>
#include <tdeconfig.h>
#include <dcopclient.h>
diff --git a/tdecore/kpalette.cpp b/tdecore/kpalette.cpp
index 7335e8e14..66f235e5e 100644
--- a/tdecore/kpalette.cpp
+++ b/tdecore/kpalette.cpp
@@ -23,7 +23,7 @@
#include <tqfile.h>
#include <tqtextstream.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <ksavefile.h>
#include <kstringhandler.h>
diff --git a/tdecore/kprotocolinfo_tdecore.cpp b/tdecore/kprotocolinfo_tdecore.cpp
index af48a5386..3d08cccd5 100644
--- a/tdecore/kprotocolinfo_tdecore.cpp
+++ b/tdecore/kprotocolinfo_tdecore.cpp
@@ -25,7 +25,7 @@
#include "kprotocolinfo.h"
#include "kprotocolinfofactory.h"
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeapplication.h>
#include <kdebug.h>
diff --git a/tdecore/kprotocolinfofactory.cpp b/tdecore/kprotocolinfofactory.cpp
index 115a44f25..19efdc465 100644
--- a/tdecore/kprotocolinfofactory.cpp
+++ b/tdecore/kprotocolinfofactory.cpp
@@ -17,7 +17,7 @@
Boston, MA 02110-1301, USA.
*/
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeapplication.h>
#include <kdebug.h>
diff --git a/tdecore/kpty.cpp b/tdecore/kpty.cpp
index 86f5bfefa..d801b7c9a 100644
--- a/tdecore/kpty.cpp
+++ b/tdecore/kpty.cpp
@@ -121,7 +121,7 @@ extern "C" {
#endif
#include <kdebug.h>
-#include <kstandarddirs.h> // locate
+#include <tdestandarddirs.h> // locate
#ifndef CINTR
#define CINTR 0x03
diff --git a/tdecore/ksavefile.cpp b/tdecore/ksavefile.cpp
index d9b8867af..9bf409c1c 100644
--- a/tdecore/ksavefile.cpp
+++ b/tdecore/ksavefile.cpp
@@ -38,7 +38,7 @@
#include <kde_file.h>
#include "tdeapplication.h"
#include "ksavefile.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
KSaveFile::KSaveFile(const TQString &filename, int mode)
: mTempFile(true)
diff --git a/tdecore/ksimpleconfig.cpp b/tdecore/ksimpleconfig.cpp
index dc359f17e..26a201f85 100644
--- a/tdecore/ksimpleconfig.cpp
+++ b/tdecore/ksimpleconfig.cpp
@@ -32,7 +32,7 @@
#include <tqdir.h>
#include "tdeglobal.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "tdeconfigbackend.h"
#include "ksimpleconfig.h"
diff --git a/tdecore/kstandarddirs.h b/tdecore/kstandarddirs.h
index 79085dce1..cf35a2c5a 100644
--- a/tdecore/kstandarddirs.h
+++ b/tdecore/kstandarddirs.h
@@ -1,729 +1 @@
-/*
- This file is part of the KDE libraries
- Copyright (C) 1999 Sirtaj Singh Kang <[email protected]>
- Copyright (C) 1999 Stephan Kulow <[email protected]>
- Copyright (C) 1999 Waldo Bastian <[email protected]>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef _KSTANDARDDIRS_H
-#define _KSTANDARDDIRS_H
-
-#include <tqstring.h>
-#include <tqdict.h>
-#include <tqstringlist.h>
-#include <tdeglobal.h>
-
-class TDEConfig;
-class TDEStandardDirsPrivate;
-
-/**
- * @short Site-independent access to standard KDE directories.
- * @author Stephan Kulow <[email protected]> and Sirtaj Singh Kang <[email protected]>
- *
- * This is one of the most central classes in tdelibs as
- * it provides a basic service: It knows where the files
- * reside on the user's hard disk. And it's meant to be the
- * only one that knows -- to make the real location as
- * transparent as possible to both the user and the applications.
- *
- * To this end it insulates the application from all information
- * and applications always refer to a file with a resource type
- * (e.g. icon) and a filename (e.g. khexdit.xpm). In an ideal world
- * the application would make no assumption where this file is and
- * leave it up to TDEStandardDirs::findResource("apps", "Home.desktop")
- * to apply this knowledge to return /opt/kde/share/applnk/Home.desktop
- * or ::locate("data", "kgame/background.jpg") to return
- * /opt/kde/share/apps/kgame/background.jpg
- *
- * The main idea behind TDEStandardDirs is that there are several
- * toplevel prefixes below which the files lie. One of these prefixes is
- * the one where the user installed tdelibs, one is where the
- * application was installed, and one is $HOME/.trinity, but there
- * may be even more. Under these prefixes there are several well
- * defined suffixes where specific resource types are to be found.
- * For example, for the resource type "html" the suffixes could be
- * share/doc/HTML and share/doc/tde/HTML.
- * So the search algorithm basically appends to each prefix each registered
- * suffix and tries to locate the file there.
- * To make the thing even more complex, it's also possible to register
- * absolute paths that TDEStandardDirs looks up after not finding anything
- * in the former steps. They can be useful if the user wants to provide
- * specific directories that aren't in his $HOME/.trinity directory for,
- * for example, icons.
- *
- * <b>Standard resources that tdelibs allocates are:</b>\n
- *
- * @li apps - Applications menu (.desktop files).
- * @li cache - Cached information (e.g. favicons, web-pages)
- * @li cgi - CGIs to run from kdehelp.
- * @li config - Configuration files.
- * @li data - Where applications store data.
- * @li exe - Executables in $prefix/bin. findExe() for a function that takes $PATH into account.
- * @li html - HTML documentation.
- * @li icon - Icons, see TDEIconLoader.
- * @li lib - Libraries.
- * @li locale - Translation files for TDELocale.
- * @li mime - Mime types.
- * @li module - Module (dynamically loaded library).
- * @li tqtplugins - TQt plugins (dynamically loaded objects for TQt)
- * @li services - Services.
- * @li servicetypes - Service types.
- * @li scripts - Application scripting additions.
- * @li sound - Application sounds.
- * @li templates - Templates
- * @li wallpaper - Wallpapers.
- * @li tmp - Temporary files (specific for both current host and current user)
- * @li socket - UNIX Sockets (specific for both current host and current user)
- * @li emoticons - Emoticons themes (Since KDE 3.4)
- *
- * A type that is added by the class TDEApplication if you use it, is
- * appdata. This one makes the use of the type data a bit easier as it
- * appends the name of the application.
- * So while you had to ::locate("data", "appname/filename") so you can
- * also write ::locate("appdata", "filename") if your TDEApplication instance
- * is called "appname" (as set via TDEApplication's constructor or TDEAboutData, if
- * you use the global TDEStandardDirs object TDEGlobal::dirs()).
- * Please note though that you cannot use the "appdata"
- * type if you intend to use it in an applet for Kicker because 'appname' would
- * be "Kicker" instead of the applet's name. Therefore, for applets, you've got
- * to work around this by using ::locate("data", "appletname/filename").
- *
- * <b>TDEStandardDirs supports the following environment variables:</b>
- *
- * @li TDEDIRS: This may set an additional number of directory prefixes to
- * search for resources. The directories should be separated
- * by ':'. The directories are searched in the order they are
- * specified.
- * @li TDEDIR: Used for backwards compatibility. As TDEDIRS but only a single
- * directory may be specified. If TDEDIRS is set TDEDIR is
- * ignored.
- * @li TDEHOME: The directory where changes are saved to. This directory is
- * used to search for resources first. If TDEHOME is not
- * specified it defaults to "$HOME/.trinity"
- * @li TDEROOTHOME: Like TDEHOME, but used for the root user.
- * If TDEROOTHOME is not set it defaults to the .kde directory in the
- * home directory of root, usually "/root/.trinity".
- * Note that the setting of $HOME is ignored in this case.
- *
- * @see TDEGlobalSettings
- */
-class TDECORE_EXPORT TDEStandardDirs
-{
-public:
- /**
- * TDEStandardDirs' constructor. It just initializes the caches.
- **/
- TDEStandardDirs( );
-
- /**
- * TDEStandardDirs' destructor.
- */
- virtual ~TDEStandardDirs();
-
- /**
- * Adds another search dir to front of the @p fsstnd list.
- *
- * @li When compiling tdelibs, the prefix is added to this.
- * @li TDEDIRS or TDEDIR is taking into account
- * @li Additional dirs may be loaded from kdeglobals.
- *
- * @param dir The directory to append relative paths to.
- */
- void addPrefix( const TQString& dir );
-
- /**
- * Adds another search dir to front of the XDG_CONFIG_XXX list
- * of prefixes.
- * This prefix is only used for resources that start with "xdgconf-"
- *
- * @param dir The directory to append relative paths to.
- */
- void addXdgConfigPrefix( const TQString& dir );
-
- /**
- * Adds another search dir to front of the XDG_DATA_XXX list
- * of prefixes.
- * This prefix is only used for resources that start with "xdgdata-"
- *
- * @param dir The directory to append relative paths to.
- */
- void addXdgDataPrefix( const TQString& dir );
-
- /**
- * Adds suffixes for types.
- *
- * You may add as many as you need, but it is advised that there
- * is exactly one to make writing definite.
- * All basic types ( kde_default) are added by addKDEDefaults(),
- * but for those you can add more relative paths as well.
- *
- * The later a suffix is added, the higher its priority. Note, that the
- * suffix should end with / but doesn't have to start with one (as prefixes
- * should end with one). So adding a suffix for app_pics would look
- * like TDEGlobal::dirs()->addResourceType("app_pics", "share/app/pics");
- *
- * @param type Specifies a short descriptive string to access
- * files of this type.
- * @param relativename Specifies a directory relative to the root
- * of the KFSSTND.
- * @return true if successful, false otherwise.
- */
- bool addResourceType( const char *type,
- const TQString& relativename );
-
- /**
- * Adds absolute path at the end of the search path for
- * particular types (for example in case of icons where
- * the user specifies extra paths).
- *
- * You shouldn't need this
- * function in 99% of all cases besides adding user-given
- * paths.
- *
- * @param type Specifies a short descriptive string to access files
- * of this type.
- * @param absdir Points to directory where to look for this specific
- * type. Non-existant directories may be saved but pruned.
- * @return true if successful, false otherwise.
- */
- bool addResourceDir( const char *type,
- const TQString& absdir);
-
- /**
- * Tries to find a resource in the following order:
- * @li All PREFIX/\<relativename> paths (most recent first).
- * @li All absolute paths (most recent first).
- *
- * The filename should be a filename relative to the base dir
- * for resources. So is a way to get the path to libtdecore.la
- * to findResource("lib", "libtdecore.la"). TDEStandardDirs will
- * then look into the subdir lib of all elements of all prefixes
- * ($TDEDIRS) for a file libtdecore.la and return the path to
- * the first one it finds (e.g. /opt/kde/lib/libtdecore.la)
- *
- * @param type The type of the wanted resource
- * @param filename A relative filename of the resource.
- *
- * @return A full path to the filename specified in the second
- * argument, or TQString::null if not found.
- */
- TQString findResource( const char *type,
- const TQString& filename ) const;
-
- /**
- * Checks whether a resource is restricted as part of the KIOSK
- * framework. When a resource is restricted it means that user-
- * specific files in the resource are ignored.
- *
- * E.g. by restricting the "wallpaper" resource, only system-wide
- * installed wallpapers will be found by this class. Wallpapers
- * installed under the $TDEHOME directory will be ignored.
- *
- * @param type The type of the resource to check
- * @param relPath A relative path in the resource.
- *
- * @return True if the resource is restricted.
- * @since 3.1
- */
- bool isRestrictedResource( const char *type,
- const TQString& relPath=TQString::null ) const;
-
- /**
- * Returns a number that identifies this version of the resource.
- * When a change is made to the resource this number will change.
- *
- * @param type The type of the wanted resource
- * @param filename A relative filename of the resource.
- * @param deep If true, all resources are taken into account
- * otherwise only the one returned by findResource().
- *
- * @return A number identifying the current version of the
- * resource.
- */
- TQ_UINT32 calcResourceHash( const char *type,
- const TQString& filename, bool deep) const;
-
- /**
- * Tries to find all directories whose names consist of the
- * specified type and a relative path. So would
- * findDirs("apps", "Settings") return
- * @li /opt/kde/share/applnk/Settings/
- * @li /home/joe/.trinity/share/applnk/Settings/
- *
- * Note that it appends / to the end of the directories,
- * so you can use this right away as directory names.
- *
- * @param type The type of the base directory.
- * @param reldir Relative directory.
- *
- * @return A list of matching directories, or an empty
- * list if the resource specified is not found.
- */
- TQStringList findDirs( const char *type,
- const TQString& reldir ) const;
-
- /**
- * Tries to find the directory the file is in.
- * It works the same as findResource(), but it doesn't
- * return the filename but the name of the directory.
- *
- * This way the application can access a couple of files
- * that have been installed into the same directory without
- * having to look for each file.
- *
- * findResourceDir("lib", "libtdecore.la") would return the
- * path of the subdir libtdecore.la is found first in
- * (e.g. /opt/kde/lib/)
- *
- * @param type The type of the wanted resource
- * @param filename A relative filename of the resource.
- * @return The directory where the file specified in the second
- * argument is located, or TQString::null if the type
- * of resource specified is unknown or the resource
- * cannot be found.
- */
- TQString findResourceDir( const char *type,
- const TQString& filename) const;
-
-
- /**
- * Tries to find all resources with the specified type.
- *
- * The function will look into all specified directories
- * and return all filenames in these directories.
- *
- * @param type The type of resource to locate directories for.
- * @param filter Only accept filenames that fit to filter. The filter
- * may consist of an optional directory and a QRegExp
- * wildcard expression. E.g. "images\*.jpg". Use TQString::null
- * if you do not want a filter.
- * @param recursive Specifies if the function should decend
- * into subdirectories.
- * @param unique If specified, only return items which have
- * unique suffixes - suppressing duplicated filenames.
- *
- * @return List of all the files whose filename matches the
- * specified filter.
- */
- TQStringList findAllResources( const char *type,
- const TQString& filter = TQString::null,
- bool recursive = false,
- bool unique = false) const;
-
- /**
- * Tries to find all resources with the specified type.
- *
- * The function will look into all specified directories
- * and return all filenames (full and relative paths) in
- * these directories.
- *
- * @param type The type of resource to locate directories for.
- * @param filter Only accept filenames that fit to filter. The filter
- * may consist of an optional directory and a QRegExp
- * wildcard expression. E.g. "images\*.jpg". Use TQString::null
- * if you do not want a filter.
- * @param recursive Specifies if the function should decend
- * into subdirectories.
- * @param unique If specified, only return items which have
- * unique suffixes.
- * @param relPaths The list to store the relative paths into
- * These can be used later to ::locate() the file
- *
- * @return List of all the files whose filename matches the
- * specified filter.
- */
- TQStringList findAllResources( const char *type,
- const TQString& filter,
- bool recursive,
- bool unique,
- TQStringList &relPaths) const;
-
- /**
- * Returns a TQStringList list of pathnames in the system path.
- *
- * @param pstr The path which will be searched. If this is
- * null (default), the $PATH environment variable will
- * be searched.
- *
- * @return a TQStringList list of pathnames in the system path.
- */
- static TQStringList systemPaths( const TQString& pstr=TQString::null );
-
- /**
- * Finds the executable in the system path.
- *
- * A valid executable must
- * be a file and have its executable bit set.
- *
- * @param appname The name of the executable file for which to search.
- * @param pathstr The path which will be searched. If this is
- * null (default), the $PATH environment variable will
- * be searched.
- * @param ignoreExecBit If true, an existing file will be returned
- * even if its executable bit is not set.
- *
- * @return The path of the executable. If it was not found,
- * it will return TQString::null.
- * @see findAllExe()
- */
- static TQString findExe( const TQString& appname,
- const TQString& pathstr=TQString::null,
- bool ignoreExecBit=false );
-
- /**
- * Finds all occurrences of an executable in the system path.
- *
- * @param list Will be filled with the pathnames of all the
- * executables found. Will be empty if the executable
- * was not found.
- * @param appname The name of the executable for which to
- * search.
- * @param pathstr The path list which will be searched. If this
- * is 0 (default), the $PATH environment variable will
- * be searched.
- * @param ignoreExecBit If true, an existing file will be returned
- * even if its executable bit is not set.
- *
- * @return The number of executables found, 0 if none were found.
- *
- * @see findExe()
- */
- static int findAllExe( TQStringList& list, const TQString& appname,
- const TQString& pathstr=TQString::null,
- bool ignoreExecBit=false );
-
- /**
- * This function adds the defaults that are used by the current
- * KDE version.
- *
- * It's a series of addResourceTypes()
- * and addPrefix() calls.
- * You normally wouldn't call this function because it's called
- * for you from TDEGlobal.
- */
- void addKDEDefaults();
-
- /**
- * Reads customized entries out of the given config object and add
- * them via addResourceDirs().
- *
- * @param config The object the entries are read from. This should
- * contain global config files
- * @return true if new config paths have been added
- * from @p config.
- **/
- bool addCustomized(TDEConfig *config);
-
- /**
- * This function is used internally by almost all other function as
- * it serves and fills the directories cache.
- *
- * @param type The type of resource
- * @return The list of possible directories for the specified @p type.
- * The function updates the cache if possible. If the resource
- * type specified is unknown, it will return an empty list.
- * Note, that the directories are assured to exist beside the save
- * location, which may not exist, but is returned anyway.
- */
- TQStringList resourceDirs(const char *type) const;
-
- /**
- * This function will return a list of all the types that TDEStandardDirs
- * supports.
- *
- * @return All types that KDE supports
- */
- TQStringList allTypes() const;
-
- /**
- * Finds a location to save files into for the given type
- * in the user's home directory.
- *
- * @param type The type of location to return.
- * @param suffix A subdirectory name.
- * Makes it easier for you to create subdirectories.
- * You can't pass filenames here, you _have_ to pass
- * directory names only and add possible filename in
- * that directory yourself. A directory name always has a
- * trailing slash ('/').
- * @param create If set, saveLocation() will create the directories
- * needed (including those given by @p suffix).
- *
- * @return A path where resources of the specified type should be
- * saved, or TQString::null if the resource type is unknown.
- */
- TQString saveLocation(const char *type,
- const TQString& suffix = TQString::null,
- bool create = true) const;
-
- /**
- * Converts an absolute path to a path relative to a certain
- * resource.
- *
- * If "abs = ::locate(resource, rel)"
- * then "rel = relativeLocation(resource, abs)" and vice versa.
- *
- * @param type The type of resource.
- *
- * @param absPath An absolute path to make relative.
- *
- * @return A relative path relative to resource @p type that
- * will find @p absPath. If no such relative path exists, absPath
- * will be returned unchanged.
- */
- TQString relativeLocation(const char *type, const TQString &absPath);
-
- /**
- * Recursively creates still-missing directories in the given path.
- *
- * The resulting permissions will depend on the current umask setting.
- * permission = mode & ~umask.
- *
- * @param dir Absolute path of the directory to be made.
- * @param mode Directory permissions.
- * @return true if successful, false otherwise
- */
- static bool makeDir(const TQString& dir, int mode = 0755);
-
- /**
- * This returns a default relative path for the standard KDE
- * resource types. Below is a list of them so you get an idea
- * of what this is all about.
- *
- * @li data - share/apps
- * @li html - share/doc/tde/HTML
- * @li icon - share/icon
- * @li config - share/config
- * @li pixmap - share/pixmaps
- * @li apps - share/applnk
- * @li sound - share/sounds
- * @li locale - share/locale
- * @li services - share/services
- * @li servicetypes - share/servicetypes
- * @li mime - share/mimelnk
- * @li wallpaper - share/wallpapers
- * @li templates - share/templates
- * @li exe - bin
- * @li lib - lib
- *
- * @returns Static default for the specified resource. You
- * should probably be using locate() or locateLocal()
- * instead.
- * @see locate()
- * @see locateLocal()
- */
- static TQString kde_default(const char *type);
-
- /**
- * @internal (for use by sycoca only)
- */
- TQString kfsstnd_prefixes();
-
- /**
- * @internal (for use by sycoca only)
- */
- TQString kfsstnd_xdg_conf_prefixes();
-
- /**
- * @internal (for use by sycoca only)
- */
- TQString kfsstnd_xdg_data_prefixes();
-
- /**
- * Returns the toplevel directory in which TDEStandardDirs
- * will store things. Most likely $HOME/.trinity
- * Don't use this function if you can use locateLocal
- * @return the toplevel directory
- */
- TQString localtdedir() const;
-
- /**
- * @internal
- * Returns the default toplevel directory where KDE is installed.
- */
- static TQString kfsstnd_defaultprefix();
-
- /**
- * @internal
- * Returns the default bin directory in which KDE executables are stored.
- */
- static TQString kfsstnd_defaultbindir();
-
- /**
- * @return $XDG_DATA_HOME
- * See also http://www.freedesktop.org/standards/basedir/draft/basedir-spec/basedir-spec.html
- */
- TQString localxdgdatadir() const;
-
- /**
- * @return $XDG_CONFIG_HOME
- * See also http://www.freedesktop.org/standards/basedir/draft/basedir-spec/basedir-spec.html
- */
- TQString localxdgconfdir() const;
-
- /**
- * Checks for existence and accessability of a file or directory.
- * Faster than creating a TQFileInfo first.
- * @param fullPath the path to check. IMPORTANT: must end with a slash if expected to be a directory
- * (and no slash for a file, obviously).
- * @return true if the directory exists
- */
- static bool exists(const TQString &fullPath);
-
- /**
- * Expands all symbolic links and resolves references to
- * '/./', '/../' and extra '/' characters in @p dirname
- * and returns the canonicalized absolute pathname.
- * The resulting path will have no symbolic link, '/./'
- * or '/../' components.
- * @since 3.1
- */
- static TQString realPath(const TQString &dirname);
-
- /**
- * Expands all symbolic links and resolves references to
- * '/./', '/../' and extra '/' characters in @p filename
- * and returns the canonicalized absolute pathname.
- * The resulting path will have no symbolic link, '/./'
- * or '/../' components.
- * @since 3.4
- */
- static TQString realFilePath(const TQString &filename);
-
- private:
-
- TQStringList prefixes;
-
- // Directory dictionaries
- TQDict<TQStringList> absolutes;
- TQDict<TQStringList> relatives;
-
- mutable TQDict<TQStringList> dircache;
- mutable TQDict<TQString> savelocations;
-
- // Disallow assignment and copy-construction
- TDEStandardDirs( const TDEStandardDirs& );
- TDEStandardDirs& operator= ( const TDEStandardDirs& );
-
- bool addedCustoms;
-
- class TDEStandardDirsPrivate;
- TDEStandardDirsPrivate *d;
-
- void checkConfig() const;
- void applyDataRestrictions(const TQString &) const;
- void createSpecialResource(const char*);
-
- // Like their public counter parts but with an extra priority argument
- // If priority is true, the directory is added directly after
- // $TDEHOME/$XDG_DATA_HOME/$XDG_CONFIG_HOME
- void addPrefix( const TQString& dir, bool priority );
- void addXdgConfigPrefix( const TQString& dir, bool priority );
- void addXdgDataPrefix( const TQString& dir, bool priority );
-
- // If priority is true, the directory is added before any other,
- // otherwise after
- bool addResourceType( const char *type,
- const TQString& relativename, bool priority );
- bool addResourceDir( const char *type,
- const TQString& absdir, bool priority);
-};
-
-/**
- * \addtogroup locates Locate Functions
- * @{
- * On The Usage Of 'locate' and 'locateLocal'
- *
- * Typical KDE applications use resource files in one out of
- * three ways:
- *
- * 1) A resource file is read but is never written. A system
- * default is supplied but the user can override this
- * default in his local .kde directory:
- *
- * \code
- * // Code example
- * myFile = locate("appdata", "groups.lst");
- * myData = myReadGroups(myFile); // myFile may be null
- * \endcode
- *
- * 2) A resource file is read and written. If the user has no
- * local version of the file the system default is used.
- * The resource file is always written to the users local
- * .kde directory.
- *
- * \code
- * // Code example
- * myFile = locate("appdata", "groups.lst")
- * myData = myReadGroups(myFile);
- * ...
- * doSomething(myData);
- * ...
- * myFile = locateLocal("appdata", "groups.lst");
- * myWriteGroups(myFile, myData);
- * \endcode
- *
- * 3) A resource file is read and written. No system default
- * is used if the user has no local version of the file.
- * The resource file is always written to the users local
- * .kde directory.
- *
- * \code
- * // Code example
- * myFile = locateLocal("appdata", "groups.lst");
- * myData = myReadGroups(myFile);
- * ...
- * doSomething(myData);
- * ...
- * myFile = locateLocal("appdata", "groups.lst");
- * myWriteGroups(myFile, myData);
- * \endcode
- **/
-
-/*!
- * \relates TDEStandardDirs
- * This function is just for convenience. It simply calls
- *instance->dirs()->\link TDEStandardDirs::findResource() findResource\endlink(type, filename).
- **/
-TDECORE_EXPORT TQString locate( const char *type, const TQString& filename, const TDEInstance* instance = TDEGlobal::instance() );
-
-/*!
- * \relates TDEStandardDirs
- * This function is much like locate. However it returns a
- * filename suitable for writing to. No check is made if the
- * specified filename actually exists. Missing directories
- * are created. If filename is only a directory, without a
- * specific file, filename must have a trailing slash.
- *
- **/
-TDECORE_EXPORT TQString locateLocal( const char *type, const TQString& filename, const TDEInstance* instance = TDEGlobal::instance() );
-
-/*!
- * \relates TDEStandardDirs
- * This function is much like locate. No check is made if the
- * specified filename actually exists. Missing directories
- * are created if @p createDir is true. If filename is only
- * a directory, without a specific file,
- * filename must have a trailing slash.
- *
- **/
-TDECORE_EXPORT TQString locateLocal( const char *type, const TQString& filename, bool createDir, const TDEInstance* instance = TDEGlobal::instance() );
-
-/*! @} */
-
-#endif // _KSTANDARDDIRS_H
+#include "tdestandarddirs.h"
diff --git a/tdecore/kstddirs.h b/tdecore/kstddirs.h
deleted file mode 100644
index a009a750d..000000000
--- a/tdecore/kstddirs.h
+++ /dev/null
@@ -1,6 +0,0 @@
-// kstddirs.h is the old name, use #include <kstandarddirs.h> from now on
-#ifdef KDE_NO_COMPAT
-#error kstddirs.h is the old name, use #include <kstandarddirs.h> from now on
-#else
-#include <kstandarddirs.h>
-#endif
diff --git a/tdecore/ktempdir.cpp b/tdecore/ktempdir.cpp
index a11e582f2..db954010e 100644
--- a/tdecore/ktempdir.cpp
+++ b/tdecore/ktempdir.cpp
@@ -51,7 +51,7 @@
#include "tdeapplication.h"
#include "kinstance.h"
#include "ktempdir.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "tdeprocess.h"
#include <kdebug.h>
#include "kde_file.h"
diff --git a/tdecore/network/kresolverstandardworkers.cpp b/tdecore/network/kresolverstandardworkers.cpp
index c10c64e97..ed083f541 100644
--- a/tdecore/network/kresolverstandardworkers.cpp
+++ b/tdecore/network/kresolverstandardworkers.cpp
@@ -45,7 +45,7 @@
#include "kdebug.h"
#include "tdeglobal.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "tdeapplication.h"
#include "kresolver.h"
diff --git a/tdecore/tde-config.cpp.cmake b/tdecore/tde-config.cpp.cmake
index 14553d2e7..7c1eebbd2 100644
--- a/tdecore/tde-config.cpp.cmake
+++ b/tdecore/tde-config.cpp.cmake
@@ -1,7 +1,7 @@
#include <tdecmdlineargs.h>
#include <tdelocale.h>
#include <kinstance.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeglobalsettings.h>
#include <stdio.h>
diff --git a/tdecore/tde-config.cpp.in b/tdecore/tde-config.cpp.in
index 86394d75d..2373a7a13 100644
--- a/tdecore/tde-config.cpp.in
+++ b/tdecore/tde-config.cpp.in
@@ -1,7 +1,7 @@
#include <tdecmdlineargs.h>
#include <tdelocale.h>
#include <kinstance.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeglobalsettings.h>
#include <stdio.h>
diff --git a/tdecore/tdeaboutdata.cpp b/tdecore/tdeaboutdata.cpp
index 48f41645d..318a38d50 100644
--- a/tdecore/tdeaboutdata.cpp
+++ b/tdecore/tdeaboutdata.cpp
@@ -21,7 +21,7 @@
#include <tdeaboutdata.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tqfile.h>
#include <tqtextstream.h>
diff --git a/tdecore/tdeapplication.cpp b/tdecore/tdeapplication.cpp
index 985817732..fb11f90d4 100644
--- a/tdecore/tdeapplication.cpp
+++ b/tdecore/tdeapplication.cpp
@@ -69,7 +69,7 @@
#endif
#include <tdeglobal.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <kdebug.h>
#include <tdelocale.h>
#include <tdestyle.h>
diff --git a/tdecore/tdeconfig.cpp b/tdecore/tdeconfig.cpp
index 68307dc85..4f67d5681 100644
--- a/tdecore/tdeconfig.cpp
+++ b/tdecore/tdeconfig.cpp
@@ -37,7 +37,7 @@
#include "tdeconfig.h"
#include "tdeglobal.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kstaticdeleter.h"
#include <tqtimer.h>
diff --git a/tdecore/tdeconfig_compiler/example/autoexample.cpp b/tdecore/tdeconfig_compiler/example/autoexample.cpp
index 6085fa6eb..ee1233e54 100644
--- a/tdecore/tdeconfig_compiler/example/autoexample.cpp
+++ b/tdecore/tdeconfig_compiler/example/autoexample.cpp
@@ -31,7 +31,7 @@
#include <tdecmdlineargs.h>
#include <tdeglobal.h>
#include <tdeconfig.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeconfigdialog.h>
#include <tqlabel.h>
diff --git a/tdecore/tdeconfig_compiler/example/example.cpp b/tdecore/tdeconfig_compiler/example/example.cpp
index 157570d98..662e60d0f 100644
--- a/tdecore/tdeconfig_compiler/example/example.cpp
+++ b/tdecore/tdeconfig_compiler/example/example.cpp
@@ -28,7 +28,7 @@
#include <tdecmdlineargs.h>
#include <tdeglobal.h>
#include <tdeconfig.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
int main( int argc, char **argv )
{
diff --git a/tdecore/tdeconfig_compiler/tdeconfig_compiler.cpp b/tdecore/tdeconfig_compiler/tdeconfig_compiler.cpp
index b950a3288..ec4b16b96 100644
--- a/tdecore/tdeconfig_compiler/tdeconfig_compiler.cpp
+++ b/tdecore/tdeconfig_compiler/tdeconfig_compiler.cpp
@@ -34,7 +34,7 @@
#include <tdeglobal.h>
#include <tdeconfig.h>
#include <ksimpleconfig.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <iostream>
diff --git a/tdecore/tdeconfigbackend.cpp b/tdecore/tdeconfigbackend.cpp
index 43dc6eb0a..707f4fe69 100644
--- a/tdecore/tdeconfigbackend.cpp
+++ b/tdecore/tdeconfigbackend.cpp
@@ -45,7 +45,7 @@
#include <tdeglobal.h>
#include <tdeprocess.h>
#include <tdelocale.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <ksavefile.h>
#include <kurl.h>
#include <kde_file.h>
diff --git a/tdecore/tdeconfigbase.cpp b/tdecore/tdeconfigbase.cpp
index 39e491279..3f44fbc7e 100644
--- a/tdecore/tdeconfigbase.cpp
+++ b/tdecore/tdeconfigbase.cpp
@@ -35,7 +35,7 @@
#include "tdeconfigbase.h"
#include "tdeconfigbackend.h"
#include "kdebug.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kstringhandler.h"
class TDEConfigBase::TDEConfigBasePrivate
diff --git a/tdecore/tdeconfigskeleton.cpp b/tdecore/tdeconfigskeleton.cpp
index 03dac6156..dafe485fc 100644
--- a/tdecore/tdeconfigskeleton.cpp
+++ b/tdecore/tdeconfigskeleton.cpp
@@ -23,7 +23,7 @@
#include <tqvariant.h>
#include <tdeconfig.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdeglobalsettings.h>
#include <kdebug.h>
diff --git a/tdecore/tdeglobal.cpp b/tdecore/tdeglobal.cpp
index aeac6f744..f00a8467c 100644
--- a/tdecore/tdeglobal.cpp
+++ b/tdecore/tdeglobal.cpp
@@ -38,7 +38,7 @@
#include <tdehardwaredevices.h>
#include <tdenetworkconnections.h>
#endif
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <kinstance.h>
#include "kstaticdeleter.h"
diff --git a/tdecore/tdeglobalsettings.cpp b/tdecore/tdeglobalsettings.cpp
index 8540a4435..526970e1c 100644
--- a/tdecore/tdeglobalsettings.cpp
+++ b/tdecore/tdeglobalsettings.cpp
@@ -42,7 +42,7 @@ static TQRgb qt_colorref2qrgb(COLORREF col)
#include <kdebug.h>
#include <tdeglobal.h>
#include <tdeshortcut.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <kcharsets.h>
#include <tdeaccel.h>
#include <tdelocale.h>
diff --git a/tdecore/tdehw/tdehardwaredevices.cpp b/tdecore/tdehw/tdehardwaredevices.cpp
index 59db6d0ae..a9e9be9da 100644
--- a/tdecore/tdehw/tdehardwaredevices.cpp
+++ b/tdecore/tdehw/tdehardwaredevices.cpp
@@ -25,7 +25,7 @@
#include <tqstringlist.h>
#include <tdeconfig.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeglobal.h>
#include <tdelocale.h>
diff --git a/tdecore/tdehw/tderootsystemdevice.cpp b/tdecore/tdehw/tderootsystemdevice.cpp
index cb9016062..65194374d 100644
--- a/tdecore/tdehw/tderootsystemdevice.cpp
+++ b/tdecore/tdehw/tderootsystemdevice.cpp
@@ -28,7 +28,7 @@
#include "tdeglobal.h"
#include "tdeconfig.h"
#include "tdeapplication.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "config.h"
diff --git a/tdecore/tdehw/tdestoragedevice.cpp b/tdecore/tdehw/tdestoragedevice.cpp
index df5f90ab7..4ef9e71eb 100644
--- a/tdecore/tdehw/tdestoragedevice.cpp
+++ b/tdecore/tdehw/tdestoragedevice.cpp
@@ -34,7 +34,7 @@
#include "tdeglobal.h"
#include "kiconloader.h"
#include "tdetempfile.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "tdehardwaredevices.h"
#include "disksHelper.h"
diff --git a/tdecore/tdelocale.cpp b/tdecore/tdelocale.cpp
index 3c6dc0cc8..07f3eea21 100644
--- a/tdecore/tdelocale.cpp
+++ b/tdecore/tdelocale.cpp
@@ -33,7 +33,7 @@
#include "kcatalogue.h"
#include "tdeglobal.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "ksimpleconfig.h"
#include "kinstance.h"
#include "tdeconfig.h"
diff --git a/tdecore/tdeprocess.cpp b/tdecore/tdeprocess.cpp
index e60f30118..185bd5a6f 100644
--- a/tdecore/tdeprocess.cpp
+++ b/tdecore/tdeprocess.cpp
@@ -72,7 +72,7 @@
#include <tqapplication.h>
#include <kdebug.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <kuser.h>
diff --git a/tdecore/kstandarddirs.cpp b/tdecore/tdestandarddirs.cpp
index 8a0b59c5f..89889367a 100644
--- a/tdecore/kstandarddirs.cpp
+++ b/tdecore/tdestandarddirs.cpp
@@ -1,4 +1,4 @@
-/* This file is part of the KDE libraries
+/* This file is part of the TDE libraries
Copyright (C) 1999 Sirtaj Singh Kang <[email protected]>
Copyright (C) 1999 Stephan Kulow <[email protected]>
Copyright (C) 1999 Waldo Bastian <[email protected]>
@@ -46,7 +46,7 @@
#include <tqstring.h>
#include <tqstringlist.h>
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "tdeconfig.h"
#include "kinstance.h"
#include "kshell.h"
@@ -74,7 +74,7 @@ public:
TQStringList xdgconf_prefixes;
};
-// Singleton, with data shared by all kstandarddirs instances.
+// Singleton, with data shared by all tdestandarddirs instances.
// Used in static methods like findExe()
class TDEStandardDirsSingleton
{
diff --git a/tdecore/tdestandarddirs.h b/tdecore/tdestandarddirs.h
new file mode 100644
index 000000000..b221ecd41
--- /dev/null
+++ b/tdecore/tdestandarddirs.h
@@ -0,0 +1,729 @@
+/*
+ This file is part of the TDE libraries
+ Copyright (C) 1999 Sirtaj Singh Kang <[email protected]>
+ Copyright (C) 1999 Stephan Kulow <[email protected]>
+ Copyright (C) 1999 Waldo Bastian <[email protected]>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef _TDESTANDARDDIRS_H
+#define _TDESTANDARDDIRS_H
+
+#include <tqstring.h>
+#include <tqdict.h>
+#include <tqstringlist.h>
+#include <tdeglobal.h>
+
+class TDEConfig;
+class TDEStandardDirsPrivate;
+
+/**
+ * @short Site-independent access to standard TDE directories.
+ * @author Stephan Kulow <[email protected]> and Sirtaj Singh Kang <[email protected]>
+ *
+ * This is one of the most central classes in tdelibs as
+ * it provides a basic service: It knows where the files
+ * reside on the user's hard disk. And it's meant to be the
+ * only one that knows -- to make the real location as
+ * transparent as possible to both the user and the applications.
+ *
+ * To this end it insulates the application from all information
+ * and applications always refer to a file with a resource type
+ * (e.g. icon) and a filename (e.g. khexdit.xpm). In an ideal world
+ * the application would make no assumption where this file is and
+ * leave it up to TDEStandardDirs::findResource("apps", "Home.desktop")
+ * to apply this knowledge to return /opt/trinity/share/applnk/Home.desktop
+ * or ::locate("data", "kgame/background.jpg") to return
+ * /opt/trinity/share/apps/kgame/background.jpg
+ *
+ * The main idea behind TDEStandardDirs is that there are several
+ * toplevel prefixes below which the files lie. One of these prefixes is
+ * the one where the user installed tdelibs, one is where the
+ * application was installed, and one is $HOME/.trinity, but there
+ * may be even more. Under these prefixes there are several well
+ * defined suffixes where specific resource types are to be found.
+ * For example, for the resource type "html" the suffixes could be
+ * share/doc/HTML and share/doc/tde/HTML.
+ * So the search algorithm basically appends to each prefix each registered
+ * suffix and tries to locate the file there.
+ * To make the thing even more complex, it's also possible to register
+ * absolute paths that TDEStandardDirs looks up after not finding anything
+ * in the former steps. They can be useful if the user wants to provide
+ * specific directories that aren't in his $HOME/.trinity directory for,
+ * for example, icons.
+ *
+ * <b>Standard resources that tdelibs allocates are:</b>\n
+ *
+ * @li apps - Applications menu (.desktop files).
+ * @li cache - Cached information (e.g. favicons, web-pages)
+ * @li cgi - CGIs to run from tdehelp.
+ * @li config - Configuration files.
+ * @li data - Where applications store data.
+ * @li exe - Executables in $prefix/bin. findExe() for a function that takes $PATH into account.
+ * @li html - HTML documentation.
+ * @li icon - Icons, see TDEIconLoader.
+ * @li lib - Libraries.
+ * @li locale - Translation files for TDELocale.
+ * @li mime - Mime types.
+ * @li module - Module (dynamically loaded library).
+ * @li tqtplugins - TQt plugins (dynamically loaded objects for TQt)
+ * @li services - Services.
+ * @li servicetypes - Service types.
+ * @li scripts - Application scripting additions.
+ * @li sound - Application sounds.
+ * @li templates - Templates
+ * @li wallpaper - Wallpapers.
+ * @li tmp - Temporary files (specific for both current host and current user)
+ * @li socket - UNIX Sockets (specific for both current host and current user)
+ * @li emoticons - Emoticons themes (Since KDE 3.4)
+ *
+ * A type that is added by the class TDEApplication if you use it, is
+ * appdata. This one makes the use of the type data a bit easier as it
+ * appends the name of the application.
+ * So while you had to ::locate("data", "appname/filename") so you can
+ * also write ::locate("appdata", "filename") if your TDEApplication instance
+ * is called "appname" (as set via TDEApplication's constructor or TDEAboutData, if
+ * you use the global TDEStandardDirs object TDEGlobal::dirs()).
+ * Please note though that you cannot use the "appdata"
+ * type if you intend to use it in an applet for Kicker because 'appname' would
+ * be "Kicker" instead of the applet's name. Therefore, for applets, you've got
+ * to work around this by using ::locate("data", "appletname/filename").
+ *
+ * <b>TDEStandardDirs supports the following environment variables:</b>
+ *
+ * @li TDEDIRS: This may set an additional number of directory prefixes to
+ * search for resources. The directories should be separated
+ * by ':'. The directories are searched in the order they are
+ * specified.
+ * @li TDEDIR: Used for backwards compatibility. As TDEDIRS but only a single
+ * directory may be specified. If TDEDIRS is set TDEDIR is
+ * ignored.
+ * @li TDEHOME: The directory where changes are saved to. This directory is
+ * used to search for resources first. If TDEHOME is not
+ * specified it defaults to "$HOME/.trinity"
+ * @li TDEROOTHOME: Like TDEHOME, but used for the root user.
+ * If TDEROOTHOME is not set it defaults to the .trinity directory in the
+ * home directory of root, usually "/root/.trinity".
+ * Note that the setting of $HOME is ignored in this case.
+ *
+ * @see TDEGlobalSettings
+ */
+class TDECORE_EXPORT TDEStandardDirs
+{
+public:
+ /**
+ * TDEStandardDirs' constructor. It just initializes the caches.
+ **/
+ TDEStandardDirs( );
+
+ /**
+ * TDEStandardDirs' destructor.
+ */
+ virtual ~TDEStandardDirs();
+
+ /**
+ * Adds another search dir to front of the @p fsstnd list.
+ *
+ * @li When compiling tdelibs, the prefix is added to this.
+ * @li TDEDIRS or TDEDIR is taking into account
+ * @li Additional dirs may be loaded from tdeglobals.
+ *
+ * @param dir The directory to append relative paths to.
+ */
+ void addPrefix( const TQString& dir );
+
+ /**
+ * Adds another search dir to front of the XDG_CONFIG_XXX list
+ * of prefixes.
+ * This prefix is only used for resources that start with "xdgconf-"
+ *
+ * @param dir The directory to append relative paths to.
+ */
+ void addXdgConfigPrefix( const TQString& dir );
+
+ /**
+ * Adds another search dir to front of the XDG_DATA_XXX list
+ * of prefixes.
+ * This prefix is only used for resources that start with "xdgdata-"
+ *
+ * @param dir The directory to append relative paths to.
+ */
+ void addXdgDataPrefix( const TQString& dir );
+
+ /**
+ * Adds suffixes for types.
+ *
+ * You may add as many as you need, but it is advised that there
+ * is exactly one to make writing definite.
+ * All basic types (kde_default) are added by addKDEDefaults(),
+ * but for those you can add more relative paths as well.
+ *
+ * The later a suffix is added, the higher its priority. Note, that the
+ * suffix should end with / but doesn't have to start with one (as prefixes
+ * should end with one). So adding a suffix for app_pics would look
+ * like TDEGlobal::dirs()->addResourceType("app_pics", "share/app/pics");
+ *
+ * @param type Specifies a short descriptive string to access
+ * files of this type.
+ * @param relativename Specifies a directory relative to the root
+ * of the KFSSTND.
+ * @return true if successful, false otherwise.
+ */
+ bool addResourceType( const char *type,
+ const TQString& relativename );
+
+ /**
+ * Adds absolute path at the end of the search path for
+ * particular types (for example in case of icons where
+ * the user specifies extra paths).
+ *
+ * You shouldn't need this
+ * function in 99% of all cases besides adding user-given
+ * paths.
+ *
+ * @param type Specifies a short descriptive string to access files
+ * of this type.
+ * @param absdir Points to directory where to look for this specific
+ * type. Non-existant directories may be saved but pruned.
+ * @return true if successful, false otherwise.
+ */
+ bool addResourceDir( const char *type,
+ const TQString& absdir);
+
+ /**
+ * Tries to find a resource in the following order:
+ * @li All PREFIX/\<relativename> paths (most recent first).
+ * @li All absolute paths (most recent first).
+ *
+ * The filename should be a filename relative to the base dir
+ * for resources. So is a way to get the path to libtdecore.la
+ * to findResource("lib", "libtdecore.la"). TDEStandardDirs will
+ * then look into the subdir lib of all elements of all prefixes
+ * ($TDEDIRS) for a file libtdecore.la and return the path to
+ * the first one it finds (e.g. /opt/trinity/lib/libtdecore.la)
+ *
+ * @param type The type of the wanted resource
+ * @param filename A relative filename of the resource.
+ *
+ * @return A full path to the filename specified in the second
+ * argument, or TQString::null if not found.
+ */
+ TQString findResource( const char *type,
+ const TQString& filename ) const;
+
+ /**
+ * Checks whether a resource is restricted as part of the KIOSK
+ * framework. When a resource is restricted it means that user-
+ * specific files in the resource are ignored.
+ *
+ * E.g. by restricting the "wallpaper" resource, only system-wide
+ * installed wallpapers will be found by this class. Wallpapers
+ * installed under the $TDEHOME directory will be ignored.
+ *
+ * @param type The type of the resource to check
+ * @param relPath A relative path in the resource.
+ *
+ * @return True if the resource is restricted.
+ * @since 3.1
+ */
+ bool isRestrictedResource( const char *type,
+ const TQString& relPath=TQString::null ) const;
+
+ /**
+ * Returns a number that identifies this version of the resource.
+ * When a change is made to the resource this number will change.
+ *
+ * @param type The type of the wanted resource
+ * @param filename A relative filename of the resource.
+ * @param deep If true, all resources are taken into account
+ * otherwise only the one returned by findResource().
+ *
+ * @return A number identifying the current version of the
+ * resource.
+ */
+ TQ_UINT32 calcResourceHash( const char *type,
+ const TQString& filename, bool deep) const;
+
+ /**
+ * Tries to find all directories whose names consist of the
+ * specified type and a relative path. So would
+ * findDirs("apps", "Settings") return
+ * @li /opt/trinity/share/applnk/Settings/
+ * @li /home/joe/.trinity/share/applnk/Settings/
+ *
+ * Note that it appends / to the end of the directories,
+ * so you can use this right away as directory names.
+ *
+ * @param type The type of the base directory.
+ * @param reldir Relative directory.
+ *
+ * @return A list of matching directories, or an empty
+ * list if the resource specified is not found.
+ */
+ TQStringList findDirs( const char *type,
+ const TQString& reldir ) const;
+
+ /**
+ * Tries to find the directory the file is in.
+ * It works the same as findResource(), but it doesn't
+ * return the filename but the name of the directory.
+ *
+ * This way the application can access a couple of files
+ * that have been installed into the same directory without
+ * having to look for each file.
+ *
+ * findResourceDir("lib", "libtdecore.la") would return the
+ * path of the subdir libtdecore.la is found first in
+ * (e.g. /opt/trinity/lib/)
+ *
+ * @param type The type of the wanted resource
+ * @param filename A relative filename of the resource.
+ * @return The directory where the file specified in the second
+ * argument is located, or TQString::null if the type
+ * of resource specified is unknown or the resource
+ * cannot be found.
+ */
+ TQString findResourceDir( const char *type,
+ const TQString& filename) const;
+
+
+ /**
+ * Tries to find all resources with the specified type.
+ *
+ * The function will look into all specified directories
+ * and return all filenames in these directories.
+ *
+ * @param type The type of resource to locate directories for.
+ * @param filter Only accept filenames that fit to filter. The filter
+ * may consist of an optional directory and a QRegExp
+ * wildcard expression. E.g. "images\*.jpg". Use TQString::null
+ * if you do not want a filter.
+ * @param recursive Specifies if the function should decend
+ * into subdirectories.
+ * @param unique If specified, only return items which have
+ * unique suffixes - suppressing duplicated filenames.
+ *
+ * @return List of all the files whose filename matches the
+ * specified filter.
+ */
+ TQStringList findAllResources( const char *type,
+ const TQString& filter = TQString::null,
+ bool recursive = false,
+ bool unique = false) const;
+
+ /**
+ * Tries to find all resources with the specified type.
+ *
+ * The function will look into all specified directories
+ * and return all filenames (full and relative paths) in
+ * these directories.
+ *
+ * @param type The type of resource to locate directories for.
+ * @param filter Only accept filenames that fit to filter. The filter
+ * may consist of an optional directory and a QRegExp
+ * wildcard expression. E.g. "images\*.jpg". Use TQString::null
+ * if you do not want a filter.
+ * @param recursive Specifies if the function should decend
+ * into subdirectories.
+ * @param unique If specified, only return items which have
+ * unique suffixes.
+ * @param relPaths The list to store the relative paths into
+ * These can be used later to ::locate() the file
+ *
+ * @return List of all the files whose filename matches the
+ * specified filter.
+ */
+ TQStringList findAllResources( const char *type,
+ const TQString& filter,
+ bool recursive,
+ bool unique,
+ TQStringList &relPaths) const;
+
+ /**
+ * Returns a TQStringList list of pathnames in the system path.
+ *
+ * @param pstr The path which will be searched. If this is
+ * null (default), the $PATH environment variable will
+ * be searched.
+ *
+ * @return a TQStringList list of pathnames in the system path.
+ */
+ static TQStringList systemPaths( const TQString& pstr=TQString::null );
+
+ /**
+ * Finds the executable in the system path.
+ *
+ * A valid executable must
+ * be a file and have its executable bit set.
+ *
+ * @param appname The name of the executable file for which to search.
+ * @param pathstr The path which will be searched. If this is
+ * null (default), the $PATH environment variable will
+ * be searched.
+ * @param ignoreExecBit If true, an existing file will be returned
+ * even if its executable bit is not set.
+ *
+ * @return The path of the executable. If it was not found,
+ * it will return TQString::null.
+ * @see findAllExe()
+ */
+ static TQString findExe( const TQString& appname,
+ const TQString& pathstr=TQString::null,
+ bool ignoreExecBit=false );
+
+ /**
+ * Finds all occurrences of an executable in the system path.
+ *
+ * @param list Will be filled with the pathnames of all the
+ * executables found. Will be empty if the executable
+ * was not found.
+ * @param appname The name of the executable for which to
+ * search.
+ * @param pathstr The path list which will be searched. If this
+ * is 0 (default), the $PATH environment variable will
+ * be searched.
+ * @param ignoreExecBit If true, an existing file will be returned
+ * even if its executable bit is not set.
+ *
+ * @return The number of executables found, 0 if none were found.
+ *
+ * @see findExe()
+ */
+ static int findAllExe( TQStringList& list, const TQString& appname,
+ const TQString& pathstr=TQString::null,
+ bool ignoreExecBit=false );
+
+ /**
+ * This function adds the defaults that are used by the current
+ * TDE version.
+ *
+ * It's a series of addResourceTypes()
+ * and addPrefix() calls.
+ * You normally wouldn't call this function because it's called
+ * for you from TDEGlobal.
+ */
+ void addKDEDefaults();
+
+ /**
+ * Reads customized entries out of the given config object and add
+ * them via addResourceDirs().
+ *
+ * @param config The object the entries are read from. This should
+ * contain global config files
+ * @return true if new config paths have been added
+ * from @p config.
+ **/
+ bool addCustomized(TDEConfig *config);
+
+ /**
+ * This function is used internally by almost all other function as
+ * it serves and fills the directories cache.
+ *
+ * @param type The type of resource
+ * @return The list of possible directories for the specified @p type.
+ * The function updates the cache if possible. If the resource
+ * type specified is unknown, it will return an empty list.
+ * Note, that the directories are assured to exist beside the save
+ * location, which may not exist, but is returned anyway.
+ */
+ TQStringList resourceDirs(const char *type) const;
+
+ /**
+ * This function will return a list of all the types that TDEStandardDirs
+ * supports.
+ *
+ * @return All types that TDE supports
+ */
+ TQStringList allTypes() const;
+
+ /**
+ * Finds a location to save files into for the given type
+ * in the user's home directory.
+ *
+ * @param type The type of location to return.
+ * @param suffix A subdirectory name.
+ * Makes it easier for you to create subdirectories.
+ * You can't pass filenames here, you _have_ to pass
+ * directory names only and add possible filename in
+ * that directory yourself. A directory name always has a
+ * trailing slash ('/').
+ * @param create If set, saveLocation() will create the directories
+ * needed (including those given by @p suffix).
+ *
+ * @return A path where resources of the specified type should be
+ * saved, or TQString::null if the resource type is unknown.
+ */
+ TQString saveLocation(const char *type,
+ const TQString& suffix = TQString::null,
+ bool create = true) const;
+
+ /**
+ * Converts an absolute path to a path relative to a certain
+ * resource.
+ *
+ * If "abs = ::locate(resource, rel)"
+ * then "rel = relativeLocation(resource, abs)" and vice versa.
+ *
+ * @param type The type of resource.
+ *
+ * @param absPath An absolute path to make relative.
+ *
+ * @return A relative path relative to resource @p type that
+ * will find @p absPath. If no such relative path exists, absPath
+ * will be returned unchanged.
+ */
+ TQString relativeLocation(const char *type, const TQString &absPath);
+
+ /**
+ * Recursively creates still-missing directories in the given path.
+ *
+ * The resulting permissions will depend on the current umask setting.
+ * permission = mode & ~umask.
+ *
+ * @param dir Absolute path of the directory to be made.
+ * @param mode Directory permissions.
+ * @return true if successful, false otherwise
+ */
+ static bool makeDir(const TQString& dir, int mode = 0755);
+
+ /**
+ * This returns a default relative path for the standard TDE
+ * resource types. Below is a list of them so you get an idea
+ * of what this is all about.
+ *
+ * @li data - share/apps
+ * @li html - share/doc/tde/HTML
+ * @li icon - share/icon
+ * @li config - share/config
+ * @li pixmap - share/pixmaps
+ * @li apps - share/applnk
+ * @li sound - share/sounds
+ * @li locale - share/locale
+ * @li services - share/services
+ * @li servicetypes - share/servicetypes
+ * @li mime - share/mimelnk
+ * @li wallpaper - share/wallpapers
+ * @li templates - share/templates
+ * @li exe - bin
+ * @li lib - lib
+ *
+ * @returns Static default for the specified resource. You
+ * should probably be using locate() or locateLocal()
+ * instead.
+ * @see locate()
+ * @see locateLocal()
+ */
+ static TQString kde_default(const char *type);
+
+ /**
+ * @internal (for use by sycoca only)
+ */
+ TQString kfsstnd_prefixes();
+
+ /**
+ * @internal (for use by sycoca only)
+ */
+ TQString kfsstnd_xdg_conf_prefixes();
+
+ /**
+ * @internal (for use by sycoca only)
+ */
+ TQString kfsstnd_xdg_data_prefixes();
+
+ /**
+ * Returns the toplevel directory in which TDEStandardDirs
+ * will store things. Most likely $HOME/.trinity
+ * Don't use this function if you can use locateLocal
+ * @return the toplevel directory
+ */
+ TQString localtdedir() const;
+
+ /**
+ * @internal
+ * Returns the default toplevel directory where TDE is installed.
+ */
+ static TQString kfsstnd_defaultprefix();
+
+ /**
+ * @internal
+ * Returns the default bin directory in which TDE executables are stored.
+ */
+ static TQString kfsstnd_defaultbindir();
+
+ /**
+ * @return $XDG_DATA_HOME
+ * See also http://www.freedesktop.org/standards/basedir/draft/basedir-spec/basedir-spec.html
+ */
+ TQString localxdgdatadir() const;
+
+ /**
+ * @return $XDG_CONFIG_HOME
+ * See also http://www.freedesktop.org/standards/basedir/draft/basedir-spec/basedir-spec.html
+ */
+ TQString localxdgconfdir() const;
+
+ /**
+ * Checks for existence and accessability of a file or directory.
+ * Faster than creating a TQFileInfo first.
+ * @param fullPath the path to check. IMPORTANT: must end with a slash if expected to be a directory
+ * (and no slash for a file, obviously).
+ * @return true if the directory exists
+ */
+ static bool exists(const TQString &fullPath);
+
+ /**
+ * Expands all symbolic links and resolves references to
+ * '/./', '/../' and extra '/' characters in @p dirname
+ * and returns the canonicalized absolute pathname.
+ * The resulting path will have no symbolic link, '/./'
+ * or '/../' components.
+ * @since 3.1
+ */
+ static TQString realPath(const TQString &dirname);
+
+ /**
+ * Expands all symbolic links and resolves references to
+ * '/./', '/../' and extra '/' characters in @p filename
+ * and returns the canonicalized absolute pathname.
+ * The resulting path will have no symbolic link, '/./'
+ * or '/../' components.
+ * @since 3.4
+ */
+ static TQString realFilePath(const TQString &filename);
+
+ private:
+
+ TQStringList prefixes;
+
+ // Directory dictionaries
+ TQDict<TQStringList> absolutes;
+ TQDict<TQStringList> relatives;
+
+ mutable TQDict<TQStringList> dircache;
+ mutable TQDict<TQString> savelocations;
+
+ // Disallow assignment and copy-construction
+ TDEStandardDirs( const TDEStandardDirs& );
+ TDEStandardDirs& operator= ( const TDEStandardDirs& );
+
+ bool addedCustoms;
+
+ class TDEStandardDirsPrivate;
+ TDEStandardDirsPrivate *d;
+
+ void checkConfig() const;
+ void applyDataRestrictions(const TQString &) const;
+ void createSpecialResource(const char*);
+
+ // Like their public counter parts but with an extra priority argument
+ // If priority is true, the directory is added directly after
+ // $TDEHOME/$XDG_DATA_HOME/$XDG_CONFIG_HOME
+ void addPrefix( const TQString& dir, bool priority );
+ void addXdgConfigPrefix( const TQString& dir, bool priority );
+ void addXdgDataPrefix( const TQString& dir, bool priority );
+
+ // If priority is true, the directory is added before any other,
+ // otherwise after
+ bool addResourceType( const char *type,
+ const TQString& relativename, bool priority );
+ bool addResourceDir( const char *type,
+ const TQString& absdir, bool priority);
+};
+
+/**
+ * \addtogroup locates Locate Functions
+ * @{
+ * On The Usage Of 'locate' and 'locateLocal'
+ *
+ * Typical TDE applications use resource files in one out of
+ * three ways:
+ *
+ * 1) A resource file is read but is never written. A system
+ * default is supplied but the user can override this
+ * default in his local .trinity directory:
+ *
+ * \code
+ * // Code example
+ * myFile = locate("appdata", "groups.lst");
+ * myData = myReadGroups(myFile); // myFile may be null
+ * \endcode
+ *
+ * 2) A resource file is read and written. If the user has no
+ * local version of the file the system default is used.
+ * The resource file is always written to the users local
+ * .trinity directory.
+ *
+ * \code
+ * // Code example
+ * myFile = locate("appdata", "groups.lst")
+ * myData = myReadGroups(myFile);
+ * ...
+ * doSomething(myData);
+ * ...
+ * myFile = locateLocal("appdata", "groups.lst");
+ * myWriteGroups(myFile, myData);
+ * \endcode
+ *
+ * 3) A resource file is read and written. No system default
+ * is used if the user has no local version of the file.
+ * The resource file is always written to the users local
+ * .trinity directory.
+ *
+ * \code
+ * // Code example
+ * myFile = locateLocal("appdata", "groups.lst");
+ * myData = myReadGroups(myFile);
+ * ...
+ * doSomething(myData);
+ * ...
+ * myFile = locateLocal("appdata", "groups.lst");
+ * myWriteGroups(myFile, myData);
+ * \endcode
+ **/
+
+/*!
+ * \relates TDEStandardDirs
+ * This function is just for convenience. It simply calls
+ *instance->dirs()->\link TDEStandardDirs::findResource() findResource\endlink(type, filename).
+ **/
+TDECORE_EXPORT TQString locate( const char *type, const TQString& filename, const TDEInstance* instance = TDEGlobal::instance() );
+
+/*!
+ * \relates TDEStandardDirs
+ * This function is much like locate. However it returns a
+ * filename suitable for writing to. No check is made if the
+ * specified filename actually exists. Missing directories
+ * are created. If filename is only a directory, without a
+ * specific file, filename must have a trailing slash.
+ *
+ **/
+TDECORE_EXPORT TQString locateLocal( const char *type, const TQString& filename, const TDEInstance* instance = TDEGlobal::instance() );
+
+/*!
+ * \relates TDEStandardDirs
+ * This function is much like locate. No check is made if the
+ * specified filename actually exists. Missing directories
+ * are created if @p createDir is true. If filename is only
+ * a directory, without a specific file,
+ * filename must have a trailing slash.
+ *
+ **/
+TDECORE_EXPORT TQString locateLocal( const char *type, const TQString& filename, bool createDir, const TDEInstance* instance = TDEGlobal::instance() );
+
+/*! @} */
+
+#endif // _TDESTANDARDDIRS_H
diff --git a/tdecore/tdesycoca.cpp b/tdecore/tdesycoca.cpp
index fff419532..80764faec 100644
--- a/tdecore/tdesycoca.cpp
+++ b/tdecore/tdesycoca.cpp
@@ -31,7 +31,7 @@
#include <tdeglobal.h>
#include <kdebug.h>
#include <tdeprocess.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <assert.h>
#include <stdlib.h>
diff --git a/tdecore/tdetempfile.cpp b/tdecore/tdetempfile.cpp
index 805d315a1..d498f1258 100644
--- a/tdecore/tdetempfile.cpp
+++ b/tdecore/tdetempfile.cpp
@@ -52,7 +52,7 @@
#include "tdeapplication.h"
#include "kinstance.h"
#include "tdetempfile.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include "kde_file.h"
#include "kdebug.h"
diff --git a/tdecore/tdeuniqueapplication.cpp b/tdecore/tdeuniqueapplication.cpp
index 1614ac3d7..85904a622 100644
--- a/tdecore/tdeuniqueapplication.cpp
+++ b/tdecore/tdeuniqueapplication.cpp
@@ -35,7 +35,7 @@
#include <dcopclient.h>
#include <tdecmdlineargs.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeaboutdata.h>
#if defined TQ_WS_X11
diff --git a/tdecore/tests/CMakeLists.txt b/tdecore/tests/CMakeLists.txt
index f4e8ae33c..9ad6e5117 100644
--- a/tdecore/tests/CMakeLists.txt
+++ b/tdecore/tests/CMakeLists.txt
@@ -31,7 +31,7 @@ tde_add_library( tdeconfigtest SHARED AUTOMOC
)
set( CHECKS
- tdeconfigtestgui klocaletest tdeprocesstest ksimpleconfigtest kstandarddirstest
+ tdeconfigtestgui klocaletest tdeprocesstest ksimpleconfigtest tdestandarddirstest
tdeuniqueapptest ktempfiletest krandomsequencetest kdebugtest
ksocktest kstringhandlertest kcmdlineargstest tdeapptest kmemtest
dcopkonqtest kipctest cplusplustest kiconloadertest kresolvertest
diff --git a/tdecore/tests/Makefile.am b/tdecore/tests/Makefile.am
index 53b611efc..b7d4dc88e 100644
--- a/tdecore/tests/Makefile.am
+++ b/tdecore/tests/Makefile.am
@@ -22,7 +22,7 @@ INCLUDES = -I$(top_srcdir)/tdecore $(all_includes)
AM_LDFLAGS = $(QT_LDFLAGS) $(X_LDFLAGS) $(KDE_RPATH)
check_PROGRAMS = tdeconfigtestgui klocaletest tdeprocesstest ksimpleconfigtest \
- kstandarddirstest kurltest tdeuniqueapptest ktempfiletest krandomsequencetest \
+ tdestandarddirstest kurltest tdeuniqueapptest ktempfiletest krandomsequencetest \
kdebugtest ksocktest kstringhandlertest kcmdlineargstest tdeapptest \
kmemtest kidlservertest kidlclienttest dcopkonqtest kipctest \
cplusplustest kiconloadertest kresolvertest kmdcodectest knotifytest \
@@ -45,7 +45,7 @@ klocaletest_SOURCES = klocaletest.cpp
#kcatalogue_SOURCES = kcatalogue.cpp libintl.cpp
ksimpleconfigtest_SOURCES = ksimpleconfigtest.cpp
kurltest_SOURCES = kurltest.cpp
-kstandarddirstest_SOURCES = kstandarddirstest.cpp
+tdestandarddirstest_SOURCES = tdestandarddirstest.cpp
tdeprocesstest_SOURCES = tdeprocesstest.cpp
tdeuniqueapptest_SOURCES = tdeuniqueapptest.cpp
tdeapptest_SOURCES = tdeapptest.cpp
diff --git a/tdecore/tests/ktempfiletest.cpp b/tdecore/tests/ktempfiletest.cpp
index 019db0690..38960bf1a 100644
--- a/tdecore/tests/ktempfiletest.cpp
+++ b/tdecore/tests/ktempfiletest.cpp
@@ -18,7 +18,7 @@
#include "tdetempfile.h"
#include "tdeapplication.h"
-#include "kstandarddirs.h"
+#include "tdestandarddirs.h"
#include <tqstring.h>
#include <unistd.h>
diff --git a/tdecore/tests/kstandarddirstest.cpp b/tdecore/tests/tdestandarddirstest.cpp
index ae6ea16bd..53d76a83c 100644
--- a/tdecore/tests/kstandarddirstest.cpp
+++ b/tdecore/tests/tdestandarddirstest.cpp
@@ -1,7 +1,7 @@
#include <tdeapplication.h>
#include <kdebug.h>
#include <kinstance.h>
-#include <kstandarddirs.h>
+#include <tdestandarddirs.h>
#include <tdeconfig.h>
int main(int argc, char **argv)