KDELibs4Support

ktemporaryfile.h
1 /* This file is part of the KDE libraries
2  * Copyright 2006 Jaison Lee <[email protected]>
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public License
15  * along with this library; see the file COPYING.LIB. If not, write to
16  * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19 
20 #ifndef ktemporaryfile_h
21 #define ktemporaryfile_h
22 
23 #include <kdelibs4support_export.h>
24 #include "kglobal.h"
25 
26 #include <QTemporaryFile>
27 
28 class KTemporaryFilePrivate;
29 
30 /**
31  * \class KTemporaryFile ktemporaryfile.h <KTemporaryFile>
32  *
33  * @deprecated use QTemporaryFile
34  *
35  * By default the filename will start with your application's name,
36  * followed by six random characters. You can call QTemporaryFile::setFileTemplate()
37  * to change that.
38  *
39  * Porting to QTemporaryFile is simple: in apps, you can probably just use the default constructor.
40  *
41  * In parts and plugins, you were probably passing a component data to KTemporaryFile, so instead use:
42  * QTemporaryFile(QDir::tempPath() + QLatin1Char('/') + componentData.name() + QLatin1String("XXXXXX"))
43  *
44  * For setPrefix, change the QDir::tempPath() from the above line.
45  * For setSuffix, append it after the XXXXXX.
46  *
47  * In the simplest case where the application was only calling setSuffix(".txt"), this becomes
48  * QTemporaryFile(QDir::tempPath() + QLatin1String("/myapp_XXXXXX.txt"))
49  *
50  * @see QTemporaryFile
51  */
52 class KDELIBS4SUPPORT_DEPRECATED_EXPORT KTemporaryFile : public QTemporaryFile
53 {
54 public:
55  /**
56  * Construct a new KTemporaryFile. The file will be stored in the temporary
57  * directory configured in KDE. The default prefix is the value of the
58  * default KDE temporary directory, plus your application's instance name.
59  * The default suffix is ".tmp".
60  *
61  * \param componentData The KComponentData to use for the name of the file and
62  * to look up the directory.
63  */
64  KDELIBS4SUPPORT_DEPRECATED explicit KTemporaryFile(const KComponentData &componentData = KGlobal::mainComponent());
65 
66  /**
67  * Destructor.
68  */
69  ~KTemporaryFile() override;
70 
71  /**
72  * @brief Sets a prefix to use when creating the file.
73  *
74  * This function sets a prefix to use when creating the file. The random
75  * part of the filename will come after this prefix. The prefix can also
76  * change or modify the target directory. If @p prefix is an absolute
77  * path it will override the default temporary directory. If @p prefix is
78  * a relative directory it will be relative to the default temporary
79  * location. To set a relative directory for the current working directory
80  * you should use QTemporaryFile::setFileTemplate() directly.
81  * @param prefix The prefix to use when creating the file. Remember to
82  * end the prefix with a '/' if you are designating a directory.
83  */
84  void setPrefix(const QString &prefix);
85 
86  /**
87  * @brief Sets a suffix to use when creating the file.
88  *
89  * Sets a suffix to use when creating the file. The random part of the
90  * filename will come before this suffix.
91  * @param suffix The suffix to use when creating the file.
92  */
93  void setSuffix(const QString &suffix);
94 
95 private:
96  KTemporaryFilePrivate *const d;
97 };
98 
99 #endif
const KComponentData & mainComponent()
Returns the global component data.
Definition: kglobal.cpp:107
Per component data.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Thu Jun 17 2021 22:58:17 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.