summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/app/main.cpp10
-rw-r--r--src/libs/clangbackendipc/clangcodemodelconnectionclient.cpp1
-rw-r--r--src/libs/clangbackendipc/connectionclient.h1
-rw-r--r--src/libs/utils/temporarydirectory.cpp57
-rw-r--r--src/libs/utils/temporarydirectory.h44
-rw-r--r--src/libs/utils/temporaryfile.cpp39
-rw-r--r--src/libs/utils/temporaryfile.h40
-rw-r--r--src/libs/utils/utils-lib.pri4
-rw-r--r--src/libs/utils/utils.qbs4
-rw-r--r--src/plugins/android/androidrunner.cpp6
-rw-r--r--src/plugins/autotest/autotestunittests.h1
-rw-r--r--src/plugins/beautifier/beautifierplugin.cpp4
-rw-r--r--src/plugins/clangcodemodel/clanguiheaderondiskmanager.cpp3
-rw-r--r--src/plugins/clangrefactoring/refactoringconnectionclient.cpp1
-rw-r--r--src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp4
-rw-r--r--src/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp4
-rw-r--r--src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.cpp1
-rw-r--r--src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.h1
-rw-r--r--src/plugins/clearcase/clearcaseplugin.cpp6
-rw-r--r--src/plugins/cmakeprojectmanager/builddirmanager.cpp7
-rw-r--r--src/plugins/cmakeprojectmanager/builddirmanager.h4
-rw-r--r--src/plugins/cmakeprojectmanager/servermode.cpp1
-rw-r--r--src/plugins/cmakeprojectmanager/servermode.h1
-rw-r--r--src/plugins/cmakeprojectmanager/servermodereader.h1
-rw-r--r--src/plugins/cpaster/cpasterplugin.cpp4
-rw-r--r--src/plugins/cpaster/fileshareprotocolsettingspage.cpp5
-rw-r--r--src/plugins/cpptools/builtinindexingsupport.cpp9
-rw-r--r--src/plugins/cpptools/cppcodegen_test.cpp4
-rw-r--r--src/plugins/cpptools/cppcodemodelinspectordumper.cpp6
-rw-r--r--src/plugins/cpptools/cppheadersource_test.cpp3
-rw-r--r--src/plugins/cpptools/cpptoolstestcase.cpp7
-rw-r--r--src/plugins/cpptools/cpptoolstestcase.h4
-rw-r--r--src/plugins/debugger/debuggerplugin.cpp2
-rw-r--r--src/plugins/debugger/gdb/coregdbadapter.cpp10
-rw-r--r--src/plugins/debugger/gdb/gdbengine.cpp6
-rw-r--r--src/plugins/debugger/imageviewer.cpp10
-rw-r--r--src/plugins/debugger/loadcoredialog.cpp4
-rw-r--r--src/plugins/debugger/outputcollector.cpp4
-rw-r--r--src/plugins/debugger/shared/cdbsymbolpathlisteditor.cpp5
-rw-r--r--src/plugins/diffeditor/diffeditorwidgetcontroller.cpp4
-rw-r--r--src/plugins/git/gerrit/gerritplugin.cpp1
-rw-r--r--src/plugins/git/gitclient.cpp4
-rw-r--r--src/plugins/git/giteditor.cpp5
-rw-r--r--src/plugins/help/helpviewer.cpp4
-rw-r--r--src/plugins/ios/iosdeploystep.cpp5
-rw-r--r--src/plugins/ios/iostoolhandler.cpp19
-rw-r--r--src/plugins/perforce/perforceplugin.cpp7
-rw-r--r--src/plugins/projectexplorer/abstractmsvctoolchain.cpp6
-rw-r--r--src/plugins/projectexplorer/customwizard/customwizardparameters.cpp14
-rw-r--r--src/plugins/projectexplorer/customwizard/customwizardparameters.h5
-rw-r--r--src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp7
-rw-r--r--src/plugins/projectexplorer/gnumakeparser.cpp15
-rw-r--r--src/plugins/projectexplorer/msvctoolchain.cpp5
-rw-r--r--src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp4
-rw-r--r--src/plugins/qmlprofiler/localqmlprofilerrunner.cpp4
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp6
-rw-r--r--src/plugins/qnx/qnxutils.cpp7
-rw-r--r--src/plugins/qtsupport/qscxmlcgenerator.cpp3
-rw-r--r--src/plugins/qtsupport/qscxmlcgenerator.h4
-rw-r--r--src/plugins/qtsupport/qtprojectimporter.cpp5
-rw-r--r--src/plugins/resourceeditor/resourceeditorw.cpp1
-rw-r--r--src/plugins/texteditor/texteditorplugin.cpp1
-rw-r--r--src/plugins/valgrind/callgrind/callgrindcontroller.cpp5
-rw-r--r--src/plugins/vcsbase/vcsbasesubmiteditor.cpp8
64 files changed, 324 insertions, 153 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp
index ba1af663da..97a509757b 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -31,8 +31,10 @@
#include <extensionsystem/pluginmanager.h>
#include <extensionsystem/pluginspec.h>
#include <qtsingleapplication.h>
+
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
+#include <utils/temporarydirectory.h>
#include <QDebug>
#include <QDir>
@@ -278,6 +280,8 @@ void loadFonts()
int main(int argc, char **argv)
{
+ Utils::TemporaryDirectory::setMasterTemporaryDirectory(QDir::tempPath() + "/QtCreator-XXXXXX");
+
const char *highDpiEnvironmentVariable = setHighDpiEnvironmentVariable();
QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false\nqtc.*.info=false"));
@@ -345,11 +349,9 @@ int main(int argc, char **argv)
testOptionProvided = true;
}
}
- QScopedPointer<QTemporaryDir> temporaryCleanSettingsDir;
+ QScopedPointer<Utils::TemporaryDirectory> temporaryCleanSettingsDir;
if (settingsPath.isEmpty() && testOptionProvided) {
- const QString settingsPathTemplate = QDir::cleanPath(QDir::tempPath()
- + QString::fromLatin1("/qtc-test-settings-XXXXXX"));
- temporaryCleanSettingsDir.reset(new QTemporaryDir(settingsPathTemplate));
+ temporaryCleanSettingsDir.reset(new Utils::TemporaryDirectory("qtc-test-settings"));
if (!temporaryCleanSettingsDir->isValid())
return 1;
settingsPath = temporaryCleanSettingsDir->path();
diff --git a/src/libs/clangbackendipc/clangcodemodelconnectionclient.cpp b/src/libs/clangbackendipc/clangcodemodelconnectionclient.cpp
index 4256be360d..254f650f22 100644
--- a/src/libs/clangbackendipc/clangcodemodelconnectionclient.cpp
+++ b/src/libs/clangbackendipc/clangcodemodelconnectionclient.cpp
@@ -26,7 +26,6 @@
#include "clangcodemodelconnectionclient.h"
#include <QCoreApplication>
-#include <QTemporaryDir>
namespace ClangBackEnd {
diff --git a/src/libs/clangbackendipc/connectionclient.h b/src/libs/clangbackendipc/connectionclient.h
index 0c5784dbc9..ef002345d9 100644
--- a/src/libs/clangbackendipc/connectionclient.h
+++ b/src/libs/clangbackendipc/connectionclient.h
@@ -37,7 +37,6 @@
QT_BEGIN_NAMESPACE
class QProcess;
-class QTemporaryDir;
QT_END_NAMESPACE
class Utf8String;
diff --git a/src/libs/utils/temporarydirectory.cpp b/src/libs/utils/temporarydirectory.cpp
new file mode 100644
index 0000000000..c0d0c15cb1
--- /dev/null
+++ b/src/libs/utils/temporarydirectory.cpp
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#include "temporarydirectory.h"
+
+#include "qtcassert.h"
+
+#include <memory>
+
+namespace Utils {
+
+static std::unique_ptr<QTemporaryDir> m_masterTemporaryDir;
+
+TemporaryDirectory::TemporaryDirectory(const QString &pattern) :
+ QTemporaryDir(m_masterTemporaryDir->path() + '/' + pattern)
+{
+ QTC_CHECK(!QFileInfo(pattern).isAbsolute());
+}
+
+QTemporaryDir *TemporaryDirectory::masterTemporaryDirectory()
+{
+ return m_masterTemporaryDir.get();
+}
+
+void TemporaryDirectory::setMasterTemporaryDirectory(const QString &pattern)
+{
+ m_masterTemporaryDir = std::make_unique<QTemporaryDir>(pattern);
+}
+
+QString TemporaryDirectory::masterDirectoryPath()
+{
+ return m_masterTemporaryDir->path();
+}
+
+} // namespace Utils
diff --git a/src/libs/utils/temporarydirectory.h b/src/libs/utils/temporarydirectory.h
new file mode 100644
index 0000000000..853474c24b
--- /dev/null
+++ b/src/libs/utils/temporarydirectory.h
@@ -0,0 +1,44 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#pragma once
+
+#include "utils_global.h"
+
+#include <QTemporaryDir>
+
+namespace Utils {
+
+class QTCREATOR_UTILS_EXPORT TemporaryDirectory : public QTemporaryDir
+{
+public:
+ explicit TemporaryDirectory(const QString &pattern);
+
+ static QTemporaryDir *masterTemporaryDirectory();
+ static void setMasterTemporaryDirectory(const QString &pattern);
+ static QString masterDirectoryPath();
+};
+
+} // namespace Utils
diff --git a/src/libs/utils/temporaryfile.cpp b/src/libs/utils/temporaryfile.cpp
new file mode 100644
index 0000000000..2ee6a3a40a
--- /dev/null
+++ b/src/libs/utils/temporaryfile.cpp
@@ -0,0 +1,39 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#include "temporaryfile.h"
+
+#include "temporarydirectory.h"
+#include "qtcassert.h"
+
+namespace Utils {
+
+TemporaryFile::TemporaryFile(const QString &pattern) :
+ QTemporaryFile(TemporaryDirectory::masterTemporaryDirectory()->path() + '/' + pattern)
+{
+ QTC_CHECK(!QFileInfo(pattern).isAbsolute());
+}
+
+} // namespace Utils
diff --git a/src/libs/utils/temporaryfile.h b/src/libs/utils/temporaryfile.h
new file mode 100644
index 0000000000..2cb38e3928
--- /dev/null
+++ b/src/libs/utils/temporaryfile.h
@@ -0,0 +1,40 @@
+/****************************************************************************
+**
+** Copyright (C) 2016 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+****************************************************************************/
+
+#pragma once
+
+#include "utils_global.h"
+
+#include <QTemporaryFile>
+
+namespace Utils {
+
+class QTCREATOR_UTILS_EXPORT TemporaryFile : public QTemporaryFile
+{
+public:
+ explicit TemporaryFile(const QString &pattern);
+};
+
+} // namespace Utils
diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri
index 45d841bb92..aa5ff4716b 100644
--- a/src/libs/utils/utils-lib.pri
+++ b/src/libs/utils/utils-lib.pri
@@ -31,6 +31,8 @@ SOURCES += $$PWD/environment.cpp \
$$PWD/settingsselector.cpp \
$$PWD/stringutils.cpp \
$$PWD/templateengine.cpp \
+ $$PWD/temporarydirectory.cpp \
+ $$PWD/temporaryfile.cpp \
$$PWD/textfieldcheckbox.cpp \
$$PWD/textfieldcombobox.cpp \
$$PWD/filesearch.cpp \
@@ -128,6 +130,8 @@ HEADERS += \
$$PWD/shellcommandpage.h \
$$PWD/stringutils.h \
$$PWD/templateengine.h \
+ $$PWD/temporarydirectory.h \
+ $$PWD/temporaryfile.h \
$$PWD/textfieldcheckbox.h \
$$PWD/textfieldcombobox.h \
$$PWD/filesearch.h \
diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs
index fd4458945a..7120915caa 100644
--- a/src/libs/utils/utils.qbs
+++ b/src/libs/utils/utils.qbs
@@ -214,6 +214,10 @@ Project {
"synchronousprocess.h",
"templateengine.cpp",
"templateengine.h",
+ "temporarydirectory.cpp",
+ "temporarydirectory.h",
+ "temporaryfile.cpp",
+ "temporaryfile.h",
"textfieldcheckbox.cpp",
"textfieldcheckbox.h",
"textfieldcombobox.cpp",
diff --git a/src/plugins/android/androidrunner.cpp b/src/plugins/android/androidrunner.cpp
index 81bea64acf..5b711483a7 100644
--- a/src/plugins/android/androidrunner.cpp
+++ b/src/plugins/android/androidrunner.cpp
@@ -41,13 +41,13 @@
#include <utils/qtcassert.h>
#include <utils/runextensions.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporaryfile.h>
#include <chrono>
#include <memory>
#include <QApplication>
#include <QDir>
#include <QTime>
-#include <QTemporaryFile>
#include <QTcpServer>
#include <QTcpSocket>
@@ -495,7 +495,7 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
} else {
// Handling ping.
for (int i = 0; ; ++i) {
- QTemporaryFile tmp(QDir::tempPath() + "/pingpong");
+ Utils::TemporaryFile tmp("pingpong");
tmp.open();
tmp.close();
@@ -563,7 +563,7 @@ void AndroidRunnerWorker::handleRemoteDebuggerRunning()
m_socket->waitForBytesWritten();
m_socket->close();
} else {
- QTemporaryFile tmp(QDir::tempPath() + "/pingpong");
+ Utils::TemporaryFile tmp("pingpong");
tmp.open();
runAdb(selector() << "push" << tmp.fileName() << m_pongFile);
diff --git a/src/plugins/autotest/autotestunittests.h b/src/plugins/autotest/autotestunittests.h
index bca21e86ba..aa43ead11e 100644
--- a/src/plugins/autotest/autotestunittests.h
+++ b/src/plugins/autotest/autotestunittests.h
@@ -26,7 +26,6 @@
#pragma once
#include <QObject>
-#include <QTemporaryDir>
namespace CppTools { namespace Tests { class TemporaryCopiedDir; } }
diff --git a/src/plugins/beautifier/beautifierplugin.cpp b/src/plugins/beautifier/beautifierplugin.cpp
index e58d746964..7cd1a9162e 100644
--- a/src/plugins/beautifier/beautifierplugin.cpp
+++ b/src/plugins/beautifier/beautifierplugin.cpp
@@ -56,6 +56,7 @@
#include <utils/qtcassert.h>
#include <utils/runextensions.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
#include <QDir>
#include <QFileInfo>
@@ -84,7 +85,8 @@ FormatTask format(FormatTask task)
case Command::FileProcessing: {
// Save text to temporary file
const QFileInfo fi(task.filePath);
- Utils::TempFileSaver sourceFile(QDir::tempPath() + "/qtc_beautifier_XXXXXXXX."
+ Utils::TempFileSaver sourceFile(Utils::TemporaryDirectory::masterDirectoryPath()
+ + "/qtc_beautifier_XXXXXXXX."
+ fi.suffix());
sourceFile.setAutoRemove(true);
sourceFile.write(task.sourceData.toUtf8());
diff --git a/src/plugins/clangcodemodel/clanguiheaderondiskmanager.cpp b/src/plugins/clangcodemodel/clanguiheaderondiskmanager.cpp
index 7a88b472e6..1e716dfc6c 100644
--- a/src/plugins/clangcodemodel/clanguiheaderondiskmanager.cpp
+++ b/src/plugins/clangcodemodel/clanguiheaderondiskmanager.cpp
@@ -33,8 +33,7 @@
namespace ClangCodeModel {
namespace Internal {
-UiHeaderOnDiskManager::UiHeaderOnDiskManager()
- : m_temporaryDir(QDir::tempPath() + QStringLiteral("/qtc-clang-uiheader-XXXXXX"))
+UiHeaderOnDiskManager::UiHeaderOnDiskManager() : m_temporaryDir("/qtc-clang-uiheader-XXXXXX")
{
QTC_CHECK(m_temporaryDir.isValid());
}
diff --git a/src/plugins/clangrefactoring/refactoringconnectionclient.cpp b/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
index 6d173691d5..f1c58978d3 100644
--- a/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
+++ b/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
@@ -26,7 +26,6 @@
#include "refactoringconnectionclient.h"
#include <QCoreApplication>
-#include <QTemporaryDir>
namespace ClangBackEnd {
diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp b/src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
index 0b0884b598..35e060947b 100644
--- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
+++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerruncontrol.cpp
@@ -55,9 +55,9 @@
#include <utils/algorithm.h>
#include <utils/hostosinfo.h>
+#include <utils/temporarydirectory.h>
#include <QLoggingCategory>
-#include <QTemporaryDir>
using namespace CppTools;
using namespace ProjectExplorer;
@@ -513,7 +513,7 @@ void ClangStaticAnalyzerRunControl::start()
m_clangExecutable = executable;
// Create log dir
- QTemporaryDir temporaryDir(QDir::tempPath() + QLatin1String("/qtc-clangstaticanalyzer-XXXXXX"));
+ Utils::TemporaryDirectory temporaryDir("qtc-clangstaticanalyzer-XXXXXX");
temporaryDir.setAutoRemove(false);
if (!temporaryDir.isValid()) {
const QString errorMessage
diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp b/src/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
index dc6f53fb5d..386f26f623 100644
--- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
+++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerrunner.cpp
@@ -29,12 +29,12 @@
#include <utils/qtcprocess.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporaryfile.h>
#include <QDebug>
#include <QDir>
#include <QFileInfo>
#include <QLoggingCategory>
-#include <QTemporaryFile>
static Q_LOGGING_CATEGORY(LOG, "qtc.clangstaticanalyzer.runner")
@@ -165,7 +165,7 @@ QString ClangStaticAnalyzerRunner::createLogFile(const QString &filePath) const
const QString fileTemplate = m_clangLogFileDir
+ QLatin1String("/report-") + fileName + QLatin1String("-XXXXXX.plist");
- QTemporaryFile temporaryFile;
+ Utils::TemporaryFile temporaryFile("clangstaticanalyzer");
temporaryFile.setAutoRemove(false);
temporaryFile.setFileTemplate(fileTemplate);
if (temporaryFile.open()) {
diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.cpp b/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.cpp
index 5ea6c9cef3..35119495c9 100644
--- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.cpp
+++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.cpp
@@ -39,7 +39,6 @@
#include <QEventLoop>
#include <QSignalSpy>
-#include <QTemporaryDir>
#include <QTimer>
#include <QtTest>
diff --git a/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.h b/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.h
index cc85fda603..dfe0491c7d 100644
--- a/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.h
+++ b/src/plugins/clangstaticanalyzer/clangstaticanalyzerunittests.h
@@ -26,7 +26,6 @@
#pragma once
#include <QObject>
-#include <QTemporaryDir>
namespace CppTools { namespace Tests { class TemporaryCopiedDir; } }
diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp
index 24c7d01e92..689a7d0cd2 100644
--- a/src/plugins/clearcase/clearcaseplugin.cpp
+++ b/src/plugins/clearcase/clearcaseplugin.cpp
@@ -56,6 +56,7 @@
#include <utils/algorithm.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
#include <utils/parameteraction.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
@@ -85,7 +86,6 @@
#include <QProcess>
#include <QRegExp>
#include <QSharedPointer>
-#include <QTemporaryFile>
#include <QTextCodec>
#include <QtPlugin>
#include <QUrl>
@@ -1119,8 +1119,8 @@ void ClearCasePlugin::diffActivity()
diffGraphical(pair.first, pair.second);
return;
}
- rmdir(QDir::tempPath() + QLatin1String("/ccdiff/") + activity);
- QDir(QDir::tempPath()).rmpath(QLatin1String("ccdiff/") + activity);
+ rmdir(Utils::TemporaryDirectory::masterDirectoryPath() + QLatin1String("/ccdiff/") + activity);
+ QDir(Utils::TemporaryDirectory::masterDirectoryPath()).rmpath(QLatin1String("ccdiff/") + activity);
m_diffPrefix = activity;
const FileVerIt fend = filever.end();
for (FileVerIt it = filever.begin(); it != fend; ++it) {
diff --git a/src/plugins/cmakeprojectmanager/builddirmanager.cpp b/src/plugins/cmakeprojectmanager/builddirmanager.cpp
index 6ed02e0edd..857a1a1a79 100644
--- a/src/plugins/cmakeprojectmanager/builddirmanager.cpp
+++ b/src/plugins/cmakeprojectmanager/builddirmanager.cpp
@@ -55,6 +55,7 @@
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
#include <QDateTime>
#include <QFile>
@@ -62,7 +63,6 @@
#include <QMessageBox>
#include <QRegularExpression>
#include <QSet>
-#include <QTemporaryDir>
using namespace ProjectExplorer;
@@ -91,10 +91,9 @@ const Utils::FileName BuildDirManager::workDirectory() const
if (bdir.exists())
return bdir;
if (!m_tempDir) {
- const QString path = QDir::tempPath() + QLatin1String("/qtc-cmake-XXXXXX");
- m_tempDir.reset(new QTemporaryDir(path));
+ m_tempDir.reset(new Utils::TemporaryDirectory("qtc-cmake-XXXXXXXX"));
if (!m_tempDir->isValid())
- emit errorOccured(tr("Failed to create temporary directory using template \"%1\".").arg(path));
+ emit errorOccured(tr("Failed to create temporary directory \"%1\".").arg(m_tempDir->path()));
}
return Utils::FileName::fromString(m_tempDir->path());
}
diff --git a/src/plugins/cmakeprojectmanager/builddirmanager.h b/src/plugins/cmakeprojectmanager/builddirmanager.h
index 9a57e82da3..af70aa5e0d 100644
--- a/src/plugins/cmakeprojectmanager/builddirmanager.h
+++ b/src/plugins/cmakeprojectmanager/builddirmanager.h
@@ -29,9 +29,9 @@
#include "cmakeconfigitem.h"
#include <utils/fileutils.h>
+#include <utils/temporarydirectory.h>
#include <QObject>
-#include <QTemporaryDir>
#include <QTimer>
#include <functional>
@@ -104,7 +104,7 @@ private:
void becameDirty();
CMakeBuildConfiguration *m_buildConfiguration = nullptr;
- mutable std::unique_ptr<QTemporaryDir> m_tempDir = nullptr;
+ mutable std::unique_ptr<Utils::TemporaryDirectory> m_tempDir = nullptr;
mutable CMakeConfig m_cmakeCache;
QTimer m_reparseTimer;
diff --git a/src/plugins/cmakeprojectmanager/servermode.cpp b/src/plugins/cmakeprojectmanager/servermode.cpp
index 4d48a6a8b0..c07af0d1a5 100644
--- a/src/plugins/cmakeprojectmanager/servermode.cpp
+++ b/src/plugins/cmakeprojectmanager/servermode.cpp
@@ -33,6 +33,7 @@
#include <QByteArray>
#include <QCryptographicHash>
+#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include <QLocalSocket>
diff --git a/src/plugins/cmakeprojectmanager/servermode.h b/src/plugins/cmakeprojectmanager/servermode.h
index b90e337372..c397d5a847 100644
--- a/src/plugins/cmakeprojectmanager/servermode.h
+++ b/src/plugins/cmakeprojectmanager/servermode.h
@@ -28,7 +28,6 @@
#include <utils/qtcprocess.h>
#include <QLoggingCategory>
-#include <QTemporaryDir>
#include <QTimer>
#include <QVariantMap>
diff --git a/src/plugins/cmakeprojectmanager/servermodereader.h b/src/plugins/cmakeprojectmanager/servermodereader.h
index bfc80c674f..9a9812a50e 100644
--- a/src/plugins/cmakeprojectmanager/servermodereader.h
+++ b/src/plugins/cmakeprojectmanager/servermodereader.h
@@ -31,7 +31,6 @@
#include <utils/qtcprocess.h>
#include <QSet>
-#include <QTemporaryDir>
#include <QTimer>
#include <memory>
diff --git a/src/plugins/cpaster/cpasterplugin.cpp b/src/plugins/cpaster/cpasterplugin.cpp
index e81c2e36d5..ed9360b345 100644
--- a/src/plugins/cpaster/cpasterplugin.cpp
+++ b/src/plugins/cpaster/cpasterplugin.cpp
@@ -46,12 +46,12 @@
#include <utils/fileutils.h>
#include <utils/mimetypes/mimedatabase.h>
#include <utils/qtcassert.h>
+#include <utils/temporarydirectory.h>
#include <texteditor/texteditor.h>
#include <texteditor/textdocument.h>
#include <QtPlugin>
#include <QDebug>
-#include <QDir>
#include <QAction>
#include <QApplication>
#include <QClipboard>
@@ -335,7 +335,7 @@ static inline QString filePrefixFromTitle(const QString &title)
static inline QString tempFilePattern(const QString &prefix, const QString &extension)
{
// Get directory
- QString pattern = QDir::tempPath();
+ QString pattern = Utils::TemporaryDirectory::masterDirectoryPath();
const QChar slash = QLatin1Char('/');
if (!pattern.endsWith(slash))
pattern.append(slash);
diff --git a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
index 79dfd58c71..c8e44d4492 100644
--- a/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
+++ b/src/plugins/cpaster/fileshareprotocolsettingspage.cpp
@@ -28,7 +28,8 @@
#include <coreplugin/icore.h>
-#include <QDir>
+#include <utils/temporarydirectory.h>
+
#include <QSettings>
#include <QCoreApplication>
@@ -39,7 +40,7 @@ static const char displayCountKeyC[] = "DisplayCount";
namespace CodePaster {
FileShareProtocolSettings::FileShareProtocolSettings() :
- path(QDir::tempPath()), displayCount(10)
+ path(Utils::TemporaryDirectory::masterDirectoryPath()), displayCount(10)
{
}
diff --git a/src/plugins/cpptools/builtinindexingsupport.cpp b/src/plugins/cpptools/builtinindexingsupport.cpp
index 6d3eac843b..a287012f5b 100644
--- a/src/plugins/cpptools/builtinindexingsupport.cpp
+++ b/src/plugins/cpptools/builtinindexingsupport.cpp
@@ -42,9 +42,9 @@
#include <cplusplus/LookupContext.h>
#include <utils/qtcassert.h>
#include <utils/runextensions.h>
+#include <utils/temporarydirectory.h>
#include <QCoreApplication>
-#include <QDir>
#include <QElapsedTimer>
#include <QRegularExpression>
@@ -72,10 +72,9 @@ public:
WriteTaskFileForDiagnostics()
: m_processedDiagnostics(0)
{
- const QString fileName = QDir::tempPath()
- + QLatin1String("/qtc_findErrorsIndexing.diagnostics.")
- + QDateTime::currentDateTime().toString(QLatin1String("yyMMdd_HHmm"))
- + QLatin1String(".tasks");
+ const QString fileName = Utils::TemporaryDirectory::masterDirectoryPath()
+ + "/qtc_findErrorsIndexing.diagnostics."
+ + QDateTime::currentDateTime().toString("yyMMdd_HHmm") + ".tasks";
m_file.setFileName(fileName);
Q_ASSERT(m_file.open(QIODevice::WriteOnly | QIODevice::Text));
diff --git a/src/plugins/cpptools/cppcodegen_test.cpp b/src/plugins/cpptools/cppcodegen_test.cpp
index 114ba87cba..5ec22942a5 100644
--- a/src/plugins/cpptools/cppcodegen_test.cpp
+++ b/src/plugins/cpptools/cppcodegen_test.cpp
@@ -29,10 +29,10 @@
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
+#include <utils/temporarydirectory.h>
#include <QtTest>
#include <QDebug>
-#include <QDir>
/*!
Tests for various parts of the code generation. Well, okay, currently it only
@@ -527,7 +527,7 @@ void CppToolsPlugin::test_codegen_definition_middle_member()
"\n"
"}\n"
"\n"
- "int y;\n").arg(QDir::tempPath()).toLatin1();
+ "int y;\n").arg(Utils::TemporaryDirectory::masterDirectoryPath()).toLatin1();
Document::Ptr sourceDocument = createDocumentAndFile(&temporaryDir, "file.cpp", sourceText, 4U);
QVERIFY(sourceDocument);
diff --git a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp
index 72fc0e6e15..e1d0bd3c89 100644
--- a/src/plugins/cpptools/cppcodemodelinspectordumper.cpp
+++ b/src/plugins/cpptools/cppcodemodelinspectordumper.cpp
@@ -33,6 +33,7 @@
#include <cpptools/cppprojectfile.h>
#include <projectexplorer/project.h>
#include <utils/algorithm.h>
+#include <utils/temporarydirectory.h>
#include <cplusplus/CppDocument.h>
#include <cplusplus/Token.h>
@@ -445,9 +446,10 @@ Dumper::Dumper(const CPlusPlus::Snapshot &globalSnapshot, const QString &logFile
QString logFileId_ = logFileId;
if (!logFileId_.isEmpty())
logFileId_.prepend(QLatin1Char('_'));
- const QString logFileName = QDir::tempPath() + QString::fromLatin1("/qtc-codemodelinspection")
+ const QString logFileName = ::Utils::TemporaryDirectory::masterDirectoryPath()
+ + "/qtc-codemodelinspection"
+ ideRevision_
- + QDateTime::currentDateTime().toString(QLatin1String("_yyMMdd_hhmmss"))
+ + QDateTime::currentDateTime().toString("_yyMMdd_hhmmss")
+ logFileId_
+ QLatin1String(".txt");
diff --git a/src/plugins/cpptools/cppheadersource_test.cpp b/src/plugins/cpptools/cppheadersource_test.cpp
index 8406cb5b12..ba830cc491 100644
--- a/src/plugins/cpptools/cppheadersource_test.cpp
+++ b/src/plugins/cpptools/cppheadersource_test.cpp
@@ -29,6 +29,7 @@
#include "cppfilesettingspage.h"
#include <utils/fileutils.h>
+#include <utils/temporarydirectory.h>
#include <QDir>
#include <QtTest>
@@ -45,7 +46,7 @@ static void createTempFile(const QString &fileName)
static QString baseTestDir()
{
- return QDir::tempPath() + _("/qtc_cppheadersource/");
+ return Utils::TemporaryDirectory::masterDirectoryPath() + "/qtc_cppheadersource/";
}
namespace CppTools {
diff --git a/src/plugins/cpptools/cpptoolstestcase.cpp b/src/plugins/cpptools/cpptoolstestcase.cpp
index efe935997d..928d8a0f22 100644
--- a/src/plugins/cpptools/cpptoolstestcase.cpp
+++ b/src/plugins/cpptools/cpptoolstestcase.cpp
@@ -43,6 +43,7 @@
#include <cplusplus/CppDocument.h>
#include <utils/executeondestruction.h>
#include <utils/fileutils.h>
+#include <utils/temporarydirectory.h>
#include <QtTest>
@@ -83,7 +84,7 @@ QString TestDocument::filePath() const
return QDir::cleanPath(m_baseDirectory + QLatin1Char('/') + m_fileName);
if (!QFileInfo(m_fileName).isAbsolute())
- return QDir::tempPath() + QLatin1Char('/') + m_fileName;
+ return Utils::TemporaryDirectory::masterDirectoryPath() + '/' + m_fileName;
return m_fileName;
}
@@ -301,8 +302,8 @@ ProjectInfo ProjectOpenerAndCloser::open(const QString &projectFile, bool config
}
TemporaryDir::TemporaryDir()
- : m_temporaryDir(QFileInfo(QDir::tempPath()).canonicalFilePath()
- + QLatin1String("/qtcreator-tests-XXXXXX"))
+ : m_temporaryDir(QFileInfo(Utils::TemporaryDirectory::masterDirectoryPath()).canonicalFilePath()
+ + "/qtcreator-tests-XXXXXX")
, m_isValid(m_temporaryDir.isValid())
{
}
diff --git a/src/plugins/cpptools/cpptoolstestcase.h b/src/plugins/cpptools/cpptoolstestcase.h
index 0d9369001c..6a00aceb22 100644
--- a/src/plugins/cpptools/cpptoolstestcase.h
+++ b/src/plugins/cpptools/cpptoolstestcase.h
@@ -28,9 +28,9 @@
#include "cpptools_global.h"
#include <cplusplus/CppDocument.h>
+#include <utils/temporarydirectory.h>
#include <QStringList>
-#include <QTemporaryDir>
namespace CPlusPlus {
class Document;
@@ -138,7 +138,7 @@ public:
QString createFile(const QByteArray &relativePath, const QByteArray &contents);
protected:
- QTemporaryDir m_temporaryDir;
+ Utils::TemporaryDirectory m_temporaryDir;
bool m_isValid;
};
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index a63fdbdc4a..e904a35d03 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -2743,7 +2743,7 @@ void DebuggerPluginPrivate::updateDebugWithoutDeployMenu()
void DebuggerPluginPrivate::dumpLog()
{
QString fileName = QFileDialog::getSaveFileName(ICore::mainWindow(),
- tr("Save Debugger Log"), QDir::tempPath());
+ tr("Save Debugger Log"), Utils::TemporaryDirectory::masterDirectoryPath());
if (fileName.isEmpty())
return;
FileSaver saver(fileName);
diff --git a/src/plugins/debugger/gdb/coregdbadapter.cpp b/src/plugins/debugger/gdb/coregdbadapter.cpp
index df213dd59d..f21e3dbd67 100644
--- a/src/plugins/debugger/gdb/coregdbadapter.cpp
+++ b/src/plugins/debugger/gdb/coregdbadapter.cpp
@@ -34,9 +34,10 @@
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
+#include <utils/temporaryfile.h>
#include <QDir>
-#include <QTemporaryFile>
using namespace Utils;
using namespace ProjectExplorer;
@@ -277,8 +278,7 @@ void GdbCoreEngine::shutdownEngine()
static QString tempCoreFilename()
{
- QString pattern = QDir::tempPath() + QLatin1String("/tmpcore-XXXXXX");
- QTemporaryFile tmp(pattern);
+ Utils::TemporaryFile tmp("tmpcore-XXXXXX");
tmp.open();
return tmp.fileName();
}
@@ -292,7 +292,7 @@ void GdbCoreEngine::unpackCoreIfNeeded()
showMessage(msg.arg(m_tempCoreName));
arguments << QLatin1String("-o") << m_tempCoreName << QLatin1String("-x") << m_coreName;
m_coreUnpackProcess = new QProcess(this);
- m_coreUnpackProcess->setWorkingDirectory(QDir::tempPath());
+ m_coreUnpackProcess->setWorkingDirectory(Utils::TemporaryDirectory::masterDirectoryPath());
m_coreUnpackProcess->start(QLatin1String("lzop"), arguments);
connect(m_coreUnpackProcess, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
this, &GdbCoreEngine::continueSetupEngine);
@@ -303,7 +303,7 @@ void GdbCoreEngine::unpackCoreIfNeeded()
m_tempCoreFile.open(QFile::WriteOnly);
arguments << QLatin1String("-c") << QLatin1String("-d") << m_coreName;
m_coreUnpackProcess = new QProcess(this);
- m_coreUnpackProcess->setWorkingDirectory(QDir::tempPath());
+ m_coreUnpackProcess->setWorkingDirectory(Utils::TemporaryDirectory::masterDirectoryPath());
m_coreUnpackProcess->start(QLatin1String("gzip"), arguments);
connect(m_coreUnpackProcess, &QProcess::readyRead, this, &GdbCoreEngine::writeCoreChunk);
connect(m_coreUnpackProcess, static_cast<void (QProcess::*)(int)>(&QProcess::finished),
diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index e5da59b034..4ee01857f0 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -71,13 +71,13 @@
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/savedaction.h>
+#include <utils/temporaryfile.h>
#include <QBuffer>
#include <QDirIterator>
#include <QMessageBox>
#include <QProcess>
#include <QPushButton>
-#include <QTemporaryFile>
#include <QJsonArray>
using namespace Core;
@@ -2999,7 +2999,7 @@ static void handleShowModuleSymbols(const DebuggerResponse &response,
void GdbEngine::requestModuleSymbols(const QString &modulePath)
{
- QTemporaryFile tf(QDir::tempPath() + "/gdbsymbols");
+ Utils::TemporaryFile tf("gdbsymbols");
if (!tf.open())
return;
QString fileName = tf.fileName();
@@ -3351,7 +3351,7 @@ void GdbEngine::handleThreadNames(const DebuggerResponse &response)
void GdbEngine::createSnapshot()
{
QString fileName;
- QTemporaryFile tf(QDir::tempPath() + "/gdbsnapshot");
+ Utils::TemporaryFile tf("gdbsnapshot");
if (tf.open()) {
fileName = tf.fileName();
tf.close();
diff --git a/src/plugins/debugger/imageviewer.cpp b/src/plugins/debugger/imageviewer.cpp
index 1b486ceccf..02deecfadf 100644
--- a/src/plugins/debugger/imageviewer.cpp
+++ b/src/plugins/debugger/imageviewer.cpp
@@ -30,6 +30,8 @@
#include <coreplugin/editormanager/ieditor.h>
#include <coreplugin/idocument.h>
+#include <utils/temporaryfile.h>
+
#include <QAction>
#include <QLabel>
#include <QMenu>
@@ -41,7 +43,6 @@
#include <QApplication>
#include <QPainter>
#include <QDir>
-#include <QTemporaryFile>
// Widget showing the image in a 1-pixel frame with context menu.
class ImageWidget : public QWidget
@@ -131,12 +132,9 @@ void ImageViewer::clicked(const QString &message)
// Open Qt Creator's image viewer
static void openImageViewer(const QImage &image)
{
- QString fileName = QDir::tempPath();
- if (!fileName.endsWith(QLatin1Char('/')))
- fileName += QLatin1Char('/');
- fileName += QLatin1String("qtcreatorXXXXXX.png");
+ QString fileName;
{
- QTemporaryFile temporaryFile(fileName);
+ Utils::TemporaryFile temporaryFile("qtcreatorXXXXXX.png");
temporaryFile.setAutoRemove(false);
image.save(&temporaryFile);
fileName = temporaryFile.fileName();
diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp
index 4241a50889..d0e8d87636 100644
--- a/src/plugins/debugger/loadcoredialog.cpp
+++ b/src/plugins/debugger/loadcoredialog.cpp
@@ -35,12 +35,12 @@
#include <ssh/sftpfilesystemmodel.h>
#include <utils/pathchooser.h>
#include <utils/qtcassert.h>
+#include <utils/temporaryfile.h>
#include <QCheckBox>
#include <QDebug>
#include <QDir>
#include <QRegExp>
-#include <QTemporaryFile>
#include <QDialogButtonBox>
#include <QFormLayout>
@@ -184,7 +184,7 @@ void SelectRemoteFileDialog::selectFile()
this, &SelectRemoteFileDialog::handleSftpOperationFinished);
{
- QTemporaryFile localFile(QDir::tempPath() + QLatin1String("/remotecore-XXXXXX"));
+ Utils::TemporaryFile localFile("remotecore-XXXXXX");
localFile.open();
m_localFile = localFile.fileName();
}
diff --git a/src/plugins/debugger/outputcollector.cpp b/src/plugins/debugger/outputcollector.cpp
index 4fad571c61..da93e631b9 100644
--- a/src/plugins/debugger/outputcollector.cpp
+++ b/src/plugins/debugger/outputcollector.cpp
@@ -34,9 +34,9 @@
#include <stdlib.h>
#else
+#include <utils/temporaryfile.h>
#include <QSocketNotifier>
-#include <QTemporaryFile>
#include <QVarLengthArray>
#include <sys/ioctl.h>
@@ -85,7 +85,7 @@ bool OutputCollector::listen()
QByteArray codedServerPath;
forever {
{
- QTemporaryFile tf;
+ Utils::TemporaryFile tf("outputcollector");
if (!tf.open()) {
m_errorString = tr("Cannot create temporary file: %1").arg(tf.errorString());
m_serverPath.clear();
diff --git a/src/plugins/debugger/shared/cdbsymbolpathlisteditor.cpp b/src/plugins/debugger/shared/cdbsymbolpathlisteditor.cpp
index 9abfca5341..c5ad414633 100644
--- a/src/plugins/debugger/shared/cdbsymbolpathlisteditor.cpp
+++ b/src/plugins/debugger/shared/cdbsymbolpathlisteditor.cpp
@@ -30,6 +30,7 @@
#include <utils/pathchooser.h>
#include <utils/checkablemessagebox.h>
+#include <utils/temporarydirectory.h>
#include "symbolpathsdialog.h"
@@ -139,7 +140,7 @@ CdbSymbolPathListEditor::CdbSymbolPathListEditor(QWidget *parent) :
bool CdbSymbolPathListEditor::promptCacheDirectory(QWidget *parent, QString *cacheDirectory)
{
CacheDirectoryDialog dialog(parent);
- dialog.setPath(QDir::tempPath() + QDir::separator() + QLatin1String("symbolcache"));
+ dialog.setPath(Utils::TemporaryDirectory::masterDirectoryPath() + "/symbolcache");
if (dialog.exec() != QDialog::Accepted)
return false;
*cacheDirectory = dialog.path();
@@ -165,7 +166,7 @@ void CdbSymbolPathListEditor::setupSymbolPaths()
if (path.isEmpty() && indexOfSymbolCache != -1)
path = currentPaths.at(indexOfSymbolCache);
if (path.isEmpty())
- path = QDir::tempPath() + QDir::separator() + QLatin1String("symbolcache");
+ path = Utils::TemporaryDirectory::masterDirectoryPath() + "/symbolcache";
bool useSymbolServer = true;
bool useSymbolCache = true;
diff --git a/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp b/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
index 897ebfa3a8..53c3d05d4a 100644
--- a/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
+++ b/src/plugins/diffeditor/diffeditorwidgetcontroller.cpp
@@ -40,11 +40,11 @@
#include <utils/progressindicator.h>
#include <utils/qtcassert.h>
+#include <utils/temporaryfile.h>
#include <QDir>
#include <QMenu>
#include <QMessageBox>
-#include <QTemporaryFile>
#include <QTextCodec>
using namespace Core;
@@ -169,7 +169,7 @@ void DiffEditorWidgetController::patch(bool revert)
if (!textDocument)
return;
- QTemporaryFile contentsCopy;
+ Utils::TemporaryFile contentsCopy("diff");
if (!contentsCopy.open())
return;
diff --git a/src/plugins/git/gerrit/gerritplugin.cpp b/src/plugins/git/gerrit/gerritplugin.cpp
index ab178bd046..74bf34c5ce 100644
--- a/src/plugins/git/gerrit/gerritplugin.cpp
+++ b/src/plugins/git/gerrit/gerritplugin.cpp
@@ -60,7 +60,6 @@
#include <QAction>
#include <QFileDialog>
#include <QMessageBox>
-#include <QTemporaryFile>
#include <QDir>
#include <QMap>
#include <QFutureWatcher>
diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 1db262c29f..66da317d69 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -51,6 +51,7 @@
#include <utils/qtcassert.h>
#include <utils/qtcprocess.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporaryfile.h>
#include <vcsbase/submitfilemodel.h>
#include <vcsbase/vcsbaseeditor.h>
@@ -72,7 +73,6 @@
#include <QMessageBox>
#include <QPushButton>
#include <QRegExp>
-#include <QTemporaryFile>
#include <QTextCodec>
#include <QToolButton>
@@ -687,7 +687,7 @@ void GitClient::slotUnstageChunk()
void GitClient::stage(const QString &patch, bool revert)
{
- QTemporaryFile patchFile;
+ Utils::TemporaryFile patchFile("git-patchfile");
if (!patchFile.open())
return;
diff --git a/src/plugins/git/giteditor.cpp b/src/plugins/git/giteditor.cpp
index 437358037b..6488fd4568 100644
--- a/src/plugins/git/giteditor.cpp
+++ b/src/plugins/git/giteditor.cpp
@@ -38,12 +38,13 @@
#include <vcsbase/vcsoutputwindow.h>
#include <texteditor/textdocument.h>
+#include <utils/temporaryfile.h>
+
#include <QMenu>
#include <QFileInfo>
#include <QRegExp>
#include <QSet>
-#include <QTemporaryFile>
#include <QTextCodec>
#include <QDir>
@@ -217,7 +218,7 @@ void GitEditorWidget::logChange()
void GitEditorWidget::applyDiffChunk(const DiffChunk& chunk, bool revert)
{
- QTemporaryFile patchFile;
+ Utils::TemporaryFile patchFile("git-apply-chunk");
if (!patchFile.open())
return;
diff --git a/src/plugins/help/helpviewer.cpp b/src/plugins/help/helpviewer.cpp
index ceb3e75680..964235d736 100644
--- a/src/plugins/help/helpviewer.cpp
+++ b/src/plugins/help/helpviewer.cpp
@@ -30,10 +30,10 @@
#include <coreplugin/icore.h>
#include <utils/fileutils.h>
+#include <utils/temporarydirectory.h>
#include <QFileInfo>
#include <QStringBuilder>
-#include <QDir>
#include <QUrl>
#include <QApplication>
@@ -135,7 +135,7 @@ bool HelpViewer::launchWithExternalApp(const QUrl &url)
const QString& path = resolvedUrl.path();
if (!canOpenPage(path)) {
- Utils::TempFileSaver saver(QDir::tempPath()
+ Utils::TempFileSaver saver(Utils::TemporaryDirectory::masterDirectoryPath()
+ "/qtchelp_XXXXXX." + QFileInfo(path).completeSuffix());
saver.setAutoRemove(false);
if (!saver.hasError())
diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp
index 2fd786d68e..e48170b574 100644
--- a/src/plugins/ios/iosdeploystep.cpp
+++ b/src/plugins/ios/iosdeploystep.cpp
@@ -42,8 +42,9 @@
#include <qtsupport/qtkitinformation.h>
+#include <utils/temporaryfile.h>
+
#include <QDir>
-#include <QTemporaryFile>
#include <QFile>
#include <QSettings>
@@ -275,7 +276,7 @@ void IosDeployStep::checkProvisioningProfile()
return;
end += 8;
- QTemporaryFile f;
+ Utils::TemporaryFile f("iosdeploy");
if (!f.open())
return;
f.write(provisionData.mid(start, end - start));
diff --git a/src/plugins/ios/iostoolhandler.cpp b/src/plugins/ios/iostoolhandler.cpp
index 0f6a4e850c..10a305482a 100644
--- a/src/plugins/ios/iostoolhandler.cpp
+++ b/src/plugins/ios/iostoolhandler.cpp
@@ -35,6 +35,7 @@
#include <utils/fileutils.h>
#include "utils/runextensions.h"
#include "utils/synchronousprocess.h"
+#include "utils/temporaryfile.h"
#include <QCoreApplication>
#include <QDir>
@@ -50,7 +51,6 @@
#include <QProcessEnvironment>
#include <QScopedArrayPointer>
#include <QSocketNotifier>
-#include <QTemporaryFile>
#include <QTimer>
#include <QXmlStreamReader>
@@ -81,8 +81,8 @@ class LogTailFiles : public QObject
Q_OBJECT
public:
- void exec(QFutureInterface<void> &fi, std::shared_ptr<QTemporaryFile> stdoutFile,
- std::shared_ptr<QTemporaryFile> stderrFile)
+ void exec(QFutureInterface<void> &fi, std::shared_ptr<Utils::TemporaryFile> stdoutFile,
+ std::shared_ptr<Utils::TemporaryFile> stderrFile)
{
if (fi.isCanceled())
return;
@@ -96,7 +96,7 @@ public:
watcher.setFuture(fi.future());
// Process to print the console output while app is running.
- auto logProcess = [this, fi](QProcess *tailProcess, std::shared_ptr<QTemporaryFile> file) {
+ auto logProcess = [this, fi](QProcess *tailProcess, std::shared_ptr<Utils::TemporaryFile> file) {
QObject::connect(tailProcess, &QProcess::readyReadStandardOutput, [=]() {
if (!fi.isCanceled())
emit logMessage(QString::fromLocal8Bit(tailProcess->readAll()));
@@ -910,16 +910,13 @@ void IosSimulatorToolHandlerPrivate::launchAppOnSimulator(const QStringList &ext
const QString bundleId = SimulatorControl::bundleIdentifier(appBundle);
const bool debugRun = runKind == IosToolHandler::DebugRun;
bool captureConsole = IosConfigurations::xcodeVersion() >= QVersionNumber(8);
- std::shared_ptr<QTemporaryFile> stdoutFile;
- std::shared_ptr<QTemporaryFile> stderrFile;
+ std::shared_ptr<Utils::TemporaryFile> stdoutFile;
+ std::shared_ptr<Utils::TemporaryFile> stderrFile;
if (captureConsole) {
const QString fileTemplate = CONSOLE_PATH_TEMPLATE.arg(deviceId).arg(bundleId);
- stdoutFile.reset(new QTemporaryFile);
- stdoutFile->setFileTemplate(fileTemplate + QStringLiteral(".stdout"));
-
- stderrFile.reset(new QTemporaryFile);
- stderrFile->setFileTemplate(fileTemplate + QStringLiteral(".stderr"));
+ stdoutFile.reset(new Utils::TemporaryFile(fileTemplate + ".stdout"));
+ stderrFile.reset(new Utils::TemporaryFile(fileTemplate + ".stderr"));
captureConsole = stdoutFile->open() && stderrFile->open();
if (!captureConsole)
diff --git a/src/plugins/perforce/perforceplugin.cpp b/src/plugins/perforce/perforceplugin.cpp
index 3d87ca1cb3..e06c491eec 100644
--- a/src/plugins/perforce/perforceplugin.cpp
+++ b/src/plugins/perforce/perforceplugin.cpp
@@ -49,6 +49,7 @@
#include <utils/parameteraction.h>
#include <utils/qtcassert.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
#include <vcsbase/basevcseditorfactory.h>
#include <vcsbase/basevcssubmiteditorfactory.h>
#include <vcsbase/vcsbaseeditor.h>
@@ -934,11 +935,7 @@ PerforcePlugin::createTemporaryArgumentFile(const QStringList &extraArgs,
// create pattern
QString pattern = m_instance->m_tempFilePattern;
if (pattern.isEmpty()) {
- pattern = QDir::tempPath();
- const QChar slash = QLatin1Char('/');
- if (!pattern.endsWith(slash))
- pattern += slash;
- pattern += QLatin1String("qtc_p4_XXXXXX.args");
+ pattern = Utils::TemporaryDirectory::masterDirectoryPath() + "/qtc_p4_XXXXXX.args";
m_instance->m_tempFilePattern = pattern;
}
QSharedPointer<TempFileSaver> rc(new TempFileSaver(pattern));
diff --git a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
index 061b42f09b..6bae9bff76 100644
--- a/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
+++ b/src/plugins/projectexplorer/abstractmsvctoolchain.cpp
@@ -33,10 +33,10 @@
#include <utils/hostosinfo.h>
#include <utils/qtcprocess.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
#include <QDir>
#include <QSysInfo>
-#include <QTemporaryFile>
#include <QTextCodec>
enum { debug = 0 };
@@ -261,11 +261,9 @@ bool AbstractMsvcToolChain::generateEnvironmentSettings(const Utils::Environment
const QString marker = "####################";
// Create a temporary file name for the output. Use a temporary file here
// as I don't know another way to do this in Qt...
- // Note, can't just use a QTemporaryFile all the way through as it remains open
- // internally so it can't be streamed to later.
// Create a batch file to create and save the env settings
- Utils::TempFileSaver saver(QDir::tempPath() + QLatin1String("/XXXXXX.bat"));
+ Utils::TempFileSaver saver(Utils::TemporaryDirectory::masterDirectoryPath() + "/XXXXXX.bat");
QByteArray call = "call ";
call += Utils::QtcProcess::quoteArg(batchFile).toLocal8Bit();
diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
index 23e893edc9..f72e183295 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.cpp
@@ -32,17 +32,17 @@
#include <utils/mimetypes/mimedatabase.h>
#include <utils/macroexpander.h>
#include <utils/templateengine.h>
+#include <utils/temporarydirectory.h>
+#include <utils/temporaryfile.h>
#include <utils/qtcassert.h>
#include <QCoreApplication>
#include <QDate>
#include <QDebug>
-#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QIcon>
#include <QJSEngine>
-#include <QTemporaryFile>
#include <QTime>
#include <QXmlStreamAttribute>
#include <QXmlStreamReader>
@@ -853,16 +853,12 @@ private:
};
TemporaryFileTransform::TemporaryFileTransform(TemporaryFilePtrList *f) :
- m_files(f), m_pattern(QDir::tempPath())
-{
- if (!m_pattern.endsWith(QLatin1Char('/')))
- m_pattern += QLatin1Char('/');
- m_pattern += QLatin1String("qtcreatorXXXXXX.txt");
-}
+ m_files(f), m_pattern(Utils::TemporaryDirectory::masterDirectoryPath() + "/qtcreatorXXXXXX.txt")
+{ }
QString TemporaryFileTransform::operator()(const QString &value) const
{
- TemporaryFilePtr temporaryFile(new QTemporaryFile(m_pattern));
+ TemporaryFilePtr temporaryFile(new Utils::TemporaryFile(m_pattern));
QTC_ASSERT(temporaryFile->open(), return QString());
temporaryFile->write(value.toLocal8Bit());
diff --git a/src/plugins/projectexplorer/customwizard/customwizardparameters.h b/src/plugins/projectexplorer/customwizard/customwizardparameters.h
index 0dd10a8df3..be85434b2b 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardparameters.h
+++ b/src/plugins/projectexplorer/customwizard/customwizardparameters.h
@@ -34,10 +34,11 @@
QT_BEGIN_NAMESPACE
class QIODevice;
class QDebug;
-class QTemporaryFile;
class QJSEngine;
QT_END_NAMESPACE
+namespace Utils { class TemporaryFile; }
+
namespace ProjectExplorer {
namespace Internal {
@@ -136,7 +137,7 @@ public:
class CustomWizardContext {
public:
typedef QMap<QString, QString> FieldReplacementMap;
- typedef QSharedPointer<QTemporaryFile> TemporaryFilePtr;
+ typedef QSharedPointer<Utils::TemporaryFile> TemporaryFilePtr;
typedef QList<TemporaryFilePtr> TemporaryFilePtrList;
void reset();
diff --git a/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp b/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
index 25d009908b..80c5866248 100644
--- a/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
+++ b/src/plugins/projectexplorer/customwizard/customwizardscriptgenerator.cpp
@@ -29,11 +29,10 @@
#include <utils/hostosinfo.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporarydirectory.h>
-#include <QDir>
#include <QFileInfo>
#include <QDebug>
-#include <QTemporaryFile>
#include <QSharedPointer>
namespace ProjectExplorer {
@@ -147,8 +146,8 @@ Core::GeneratedFiles
{
// Run in temporary directory as the target path may not exist yet.
QString stdOut;
- if (!runGenerationScriptHelper(QDir::tempPath(), script, arguments, true,
- fieldMap, &stdOut, errorMessage))
+ if (!runGenerationScriptHelper(Utils::TemporaryDirectory::masterDirectoryPath(),
+ script, arguments, true, fieldMap, &stdOut, errorMessage))
return Core::GeneratedFiles();
Core::GeneratedFiles files;
// Parse the output consisting of lines with ',' separated tokens.
diff --git a/src/plugins/projectexplorer/gnumakeparser.cpp b/src/plugins/projectexplorer/gnumakeparser.cpp
index 1045138a94..615d05a579 100644
--- a/src/plugins/projectexplorer/gnumakeparser.cpp
+++ b/src/plugins/projectexplorer/gnumakeparser.cpp
@@ -29,6 +29,7 @@
#include "task.h"
#include <utils/qtcassert.h>
+#include <utils/temporarydirectory.h>
#include <QDir>
#include <QFile>
@@ -501,18 +502,14 @@ void ProjectExplorerPlugin::testGnuMakeParserTaskMangling()
QFETCH(Task, outputTask);
// setup files:
- QString tempdir = QDir::tempPath();
- const QChar slash = QLatin1Char('/');
- tempdir.append(slash);
- tempdir.append(QUuid::createUuid().toString());
- tempdir.append(slash);
-
+ const QString tempdir
+ = Utils::TemporaryDirectory::masterDirectoryPath() + '/' + QUuid::createUuid().toString() + '/';
QDir filedir(tempdir);
foreach (const QString &file, files) {
- Q_ASSERT(!file.startsWith(slash));
- Q_ASSERT(!file.contains(QLatin1String("../")));
+ Q_ASSERT(!file.startsWith('/'));
+ Q_ASSERT(!file.contains("../"));
- filedir.mkpath(file.left(file.lastIndexOf(slash)));
+ filedir.mkpath(file.left(file.lastIndexOf('/')));
QFile tempfile(tempdir + file);
if (!tempfile.open(QIODevice::WriteOnly))
diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp
index 8967a90588..c17627f308 100644
--- a/src/plugins/projectexplorer/msvctoolchain.cpp
+++ b/src/plugins/projectexplorer/msvctoolchain.cpp
@@ -33,6 +33,7 @@
#include <utils/winutils.h>
#include <utils/qtcassert.h>
#include <utils/hostosinfo.h>
+#include <utils/temporarydirectory.h>
#include <QDir>
#include <QFileInfo>
@@ -318,7 +319,7 @@ QByteArray MsvcToolChain::msvcPredefinedMacros(const QStringList cxxflags,
}
}
- Utils::TempFileSaver saver(QDir::tempPath() + QLatin1String("/envtestXXXXXX.cpp"));
+ Utils::TempFileSaver saver(Utils::TemporaryDirectory::masterDirectoryPath() + "/envtestXXXXXX.cpp");
saver.write(msvcCompilationFile());
if (!saver.finalize()) {
qWarning("%s: %s", Q_FUNC_INFO, qPrintable(saver.errorString()));
@@ -326,7 +327,7 @@ QByteArray MsvcToolChain::msvcPredefinedMacros(const QStringList cxxflags,
}
Utils::SynchronousProcess cpp;
cpp.setEnvironment(env.toStringList());
- cpp.setWorkingDirectory(QDir::tempPath());
+ cpp.setWorkingDirectory(Utils::TemporaryDirectory::masterDirectoryPath());
QStringList arguments;
const Utils::FileName binary = env.searchInPath(QLatin1String("cl.exe"));
if (binary.isEmpty()) {
diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
index 8a20f8474d..45bce25c66 100644
--- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
+++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp
@@ -48,9 +48,9 @@
#include <utils/algorithm.h>
#include <utils/environment.h>
#include <utils/hostosinfo.h>
+#include <utils/temporarydirectory.h>
#include <QProcess>
-#include <QTemporaryDir>
#include <QCoreApplication>
#include <QCryptographicHash>
#include <QDateTime>
@@ -243,7 +243,7 @@ bool PuppetCreator::build(const QString &qmlPuppetProjectFilePath) const
m_compileLog.clear();
- QTemporaryDir buildDirectory;
+ Utils::TemporaryDirectory buildDirectory("qml-puppet-build");
bool buildSucceeded = false;
diff --git a/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp b/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp
index bffe0d23c8..4f71863566 100644
--- a/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp
+++ b/src/plugins/qmlprofiler/localqmlprofilerrunner.cpp
@@ -34,6 +34,8 @@
#include <qmldebug/qmldebugcommandlinearguments.h>
#include <debugger/analyzer/analyzerruncontrol.h>
+#include <utils/temporaryfile.h>
+
#include <QTcpServer>
#include <QTemporaryFile>
@@ -43,7 +45,7 @@ namespace QmlProfiler {
QString LocalQmlProfilerRunner::findFreeSocket()
{
- QTemporaryFile file;
+ Utils::TemporaryFile file("qmlprofiler-freesocket");
if (file.open()) {
return file.fileName();
} else {
diff --git a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
index 6f643c7cfb..38101ceaae 100644
--- a/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerdatamodel.cpp
@@ -31,10 +31,11 @@
#include "qmltypedevent.h"
#include <utils/qtcassert.h>
+#include <utils/temporaryfile.h>
+
#include <QUrl>
#include <QDebug>
#include <QStack>
-#include <QTemporaryFile>
#include <algorithm>
namespace QmlProfiler {
@@ -42,6 +43,7 @@ namespace QmlProfiler {
class QmlProfilerDataModel::QmlProfilerDataModelPrivate
{
public:
+ QmlProfilerDataModelPrivate() : file("qmlprofiler-data") { }
void rewriteType(int typeIndex);
int resolveStackTop();
@@ -51,7 +53,7 @@ public:
int modelId;
Internal::QmlProfilerDetailsRewriter *detailsRewriter;
- QTemporaryFile file;
+ Utils::TemporaryFile file;
QDataStream eventStream;
};
diff --git a/src/plugins/qnx/qnxutils.cpp b/src/plugins/qnx/qnxutils.cpp
index 8300ee9976..a176e73272 100644
--- a/src/plugins/qnx/qnxutils.cpp
+++ b/src/plugins/qnx/qnxutils.cpp
@@ -28,12 +28,12 @@
#include <utils/hostosinfo.h>
#include <utils/synchronousprocess.h>
+#include <utils/temporaryfile.h>
#include <QDir>
#include <QDomDocument>
#include <QProcess>
#include <QStandardPaths>
-#include <QTemporaryFile>
#include <QApplication>
using namespace ProjectExplorer;
@@ -100,9 +100,8 @@ QList<Utils::EnvironmentItem> QnxUtils::qnxEnvironmentFromEnvFile(const QString
const bool isWindows = Utils::HostOsInfo::isWindowsHost();
// locking creating bbndk-env file wrapper script
- QTemporaryFile tmpFile(
- QDir::tempPath() + QLatin1Char('/')
- + QLatin1String("bbndk-env-eval-XXXXXX") + QLatin1String(isWindows ? ".bat" : ".sh"));
+ Utils::TemporaryFile tmpFile(QString::fromLatin1("bbndk-env-eval-XXXXXX")
+ + QString::fromLatin1(isWindows ? ".bat" : ".sh"));
if (!tmpFile.open())
return items;
tmpFile.setTextModeEnabled(true);
diff --git a/src/plugins/qtsupport/qscxmlcgenerator.cpp b/src/plugins/qtsupport/qscxmlcgenerator.cpp
index e912e3d24b..1bfc47448a 100644
--- a/src/plugins/qtsupport/qscxmlcgenerator.cpp
+++ b/src/plugins/qtsupport/qscxmlcgenerator.cpp
@@ -44,7 +44,8 @@ static const char TaskCategory[] = "Task.Category.ExtraCompiler.QScxmlc";
QScxmlcGenerator::QScxmlcGenerator(const Project *project,
const Utils::FileName &source,
const Utils::FileNameList &targets, QObject *parent) :
- ProcessExtraCompiler(project, source, targets, parent)
+ ProcessExtraCompiler(project, source, targets, parent),
+ m_tmpdir("qscxmlgenerator")
{
QTC_ASSERT(targets.count() == 2, return);
m_header = m_tmpdir.path() + QLatin1Char('/') + targets[0].fileName();
diff --git a/src/plugins/qtsupport/qscxmlcgenerator.h b/src/plugins/qtsupport/qscxmlcgenerator.h
index a28045cc88..64a852c9e6 100644
--- a/src/plugins/qtsupport/qscxmlcgenerator.h
+++ b/src/plugins/qtsupport/qscxmlcgenerator.h
@@ -27,9 +27,9 @@
#include <projectexplorer/extracompiler.h>
#include <utils/fileutils.h>
+#include <utils/temporarydirectory.h>
#include <QProcess>
-#include <QTemporaryDir>
namespace QtSupport {
@@ -51,7 +51,7 @@ private:
bool prepareToRun(const QByteArray &sourceContents) override;
QList<ProjectExplorer::Task> parseIssues(const QByteArray &processStderr) override;
- QTemporaryDir m_tmpdir;
+ Utils::TemporaryDirectory m_tmpdir;
QString m_header;
QString m_impl;
};
diff --git a/src/plugins/qtsupport/qtprojectimporter.cpp b/src/plugins/qtsupport/qtprojectimporter.cpp
index e21dc1ef3b..1aff2dda8d 100644
--- a/src/plugins/qtsupport/qtprojectimporter.cpp
+++ b/src/plugins/qtsupport/qtprojectimporter.cpp
@@ -36,6 +36,7 @@
#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
+#include <utils/temporarydirectory.h>
#include <QFileInfo>
#include <QList>
@@ -364,8 +365,8 @@ void QtSupportPlugin::testQtProjectImporter_oneProject()
BaseQtVersion *defaultQt = QtKitInformation::qtVersion(defaultKit);
QVERIFY(defaultQt);
- const QTemporaryDir tempDir1;
- const QTemporaryDir tempDir2;
+ const Utils::TemporaryDirectory tempDir1("tmp1");
+ const Utils::TemporaryDirectory tempDir2("tmp2");
const QString appDir = QCoreApplication::applicationDirPath();
diff --git a/src/plugins/resourceeditor/resourceeditorw.cpp b/src/plugins/resourceeditor/resourceeditorw.cpp
index 2058c3a2ea..3b856ba724 100644
--- a/src/plugins/resourceeditor/resourceeditorw.cpp
+++ b/src/plugins/resourceeditor/resourceeditorw.cpp
@@ -37,7 +37,6 @@
#include <utils/reloadpromptutils.h>
#include <utils/fileutils.h>
-#include <QTemporaryFile>
#include <QFileInfo>
#include <QDir>
#include <qdebug.h>
diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp
index f6406e1afc..bdc4bc60f9 100644
--- a/src/plugins/texteditor/texteditorplugin.cpp
+++ b/src/plugins/texteditor/texteditorplugin.cpp
@@ -54,7 +54,6 @@
#include <QtPlugin>
#include <QAction>
#include <QDir>
-#include <QTemporaryFile>
using namespace Core;
diff --git a/src/plugins/valgrind/callgrind/callgrindcontroller.cpp b/src/plugins/valgrind/callgrind/callgrindcontroller.cpp
index 9e2344d153..faf1c980b4 100644
--- a/src/plugins/valgrind/callgrind/callgrindcontroller.cpp
+++ b/src/plugins/valgrind/callgrind/callgrindcontroller.cpp
@@ -31,10 +31,9 @@
#include <utils/hostosinfo.h>
#include <utils/qtcassert.h>
+#include <utils/temporaryfile.h>
#include <ssh/sftpchannel.h>
-#include <QTemporaryFile>
-
#define CALLGRIND_CONTROL_DEBUG 0
const QLatin1String CALLGRIND_CONTROL_BINARY("callgrind_control");
@@ -228,7 +227,7 @@ void CallgrindController::foundRemoteFile()
void CallgrindController::sftpInitialized()
{
cleanupTempFile();
- QTemporaryFile dataFile(QDir::tempPath() + QLatin1Char('/') + QLatin1String("callgrind.out."));
+ Utils::TemporaryFile dataFile("callgrind.out.");
QTC_ASSERT(dataFile.open(), return);
m_tempDataFile = dataFile.fileName();
dataFile.setAutoRemove(false);
diff --git a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
index 203cc4a856..97e47eac2d 100644
--- a/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
+++ b/src/plugins/vcsbase/vcsbasesubmiteditor.cpp
@@ -44,6 +44,7 @@
#include <utils/synchronousprocess.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
+#include <utils/temporarydirectory.h>
#include <coreplugin/find/basetextfind.h>
#include <texteditor/fontsettings.h>
#include <texteditor/texteditorsettings.h>
@@ -659,12 +660,7 @@ static inline QString msgCheckScript(const QString &workingDir, const QString &c
bool VcsBaseSubmitEditor::runSubmitMessageCheckScript(const QString &checkScript, QString *errorMessage) const
{
// Write out message
- QString tempFilePattern = QDir::tempPath();
- const QChar slash = QLatin1Char('/');
- if (!tempFilePattern.endsWith(slash))
- tempFilePattern += slash;
- tempFilePattern += QLatin1String("msgXXXXXX.txt");
- TempFileSaver saver(tempFilePattern);
+ TempFileSaver saver(Utils::TemporaryDirectory::masterDirectoryPath() + "/msgXXXXXX.txt");
saver.write(fileContents());
if (!saver.finalize(errorMessage))
return false;