Utils: Introduce a TemporaryDirectory and TemporaryFile class

Both wrap the corresponding Qt class, but make sure all temporary files
or directories are created inside a "master temporary directory".

Change-Id: I55461be507c828c965224c02863ea5ed9bbf9498
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2017-01-19 16:44:22 +01:00
committed by Tim Jenssen
parent e6017c40fc
commit c6f90e575e
64 changed files with 324 additions and 153 deletions

View File

@@ -60,7 +60,6 @@
#include <QAction>
#include <QFileDialog>
#include <QMessageBox>
#include <QTemporaryFile>
#include <QDir>
#include <QMap>
#include <QFutureWatcher>

View File

@@ -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;

View File

@@ -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;