aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarco Bubke <[email protected]>2019-02-20 17:26:36 +0100
committerMarco Bubke <[email protected]>2019-03-04 16:43:09 +0000
commit0c177cd0d19a64270ee4d3eb1f588962ae835dbe (patch)
treec05f8fd20cb25cbd48272d5248f9d69b69a101c0 /src
parent15777d11ef94b2dda4ee496f1bba0a0b229bcd1f (diff)
Add ICore::cacheResourcePath()
We need some directory where we save the index database and the precompiled headers. This files should be persistent but the user can delete them if he wants because we will rebuild them. Task-number: QTCREATORBUG-22012 Change-Id: I9f25eb48a9992d6385a96427ef9c10bc739a3567 Reviewed-by: Eike Ziller <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/clangpchmanager/clangpchmanagerplugin.cpp4
-rw-r--r--src/plugins/clangpchmanager/pchmanagerconnectionclient.cpp4
-rw-r--r--src/plugins/clangrefactoring/clangrefactoringplugin.cpp4
-rw-r--r--src/plugins/clangrefactoring/refactoringconnectionclient.cpp4
-rw-r--r--src/plugins/coreplugin/icore.cpp6
-rw-r--r--src/plugins/coreplugin/icore.h1
6 files changed, 17 insertions, 6 deletions
diff --git a/src/plugins/clangpchmanager/clangpchmanagerplugin.cpp b/src/plugins/clangpchmanager/clangpchmanagerplugin.cpp
index 8f7ea722426..7d564399b65 100644
--- a/src/plugins/clangpchmanager/clangpchmanagerplugin.cpp
+++ b/src/plugins/clangpchmanager/clangpchmanagerplugin.cpp
@@ -62,7 +62,9 @@ QString backendProcessPath()
class ClangPchManagerPluginData
{
public:
- Sqlite::Database database{Utils::PathString{Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"}, 1000ms};
+ Sqlite::Database database{Utils::PathString{Core::ICore::cacheResourcePath()
+ + "/symbol-experimental-v1.db"},
+ 1000ms};
ClangBackEnd::RefactoringDatabaseInitializer<Sqlite::Database> databaseInitializer{database};
ClangBackEnd::FilePathCaching filePathCache{database};
ClangPchManager::ProgressManager pchCreationProgressManager{[](QFutureInterface<void> &promise) {
diff --git a/src/plugins/clangpchmanager/pchmanagerconnectionclient.cpp b/src/plugins/clangpchmanager/pchmanagerconnectionclient.cpp
index 6db0db09745..a8e7e7a2ef4 100644
--- a/src/plugins/clangpchmanager/pchmanagerconnectionclient.cpp
+++ b/src/plugins/clangpchmanager/pchmanagerconnectionclient.cpp
@@ -51,11 +51,11 @@ ClangPchManager::PchManagerConnectionClient::PchManagerConnectionClient(
{
m_processCreator.setTemporaryDirectoryPattern("clangpchmanagerbackend-XXXXXX");
- QDir pchsDirectory(Core::ICore::userResourcePath());
+ QDir pchsDirectory(Core::ICore::cacheResourcePath());
pchsDirectory.mkdir("pchs");
pchsDirectory.cd("pchs");
m_processCreator.setArguments({connectionName(),
- Core::ICore::userResourcePath() + "/symbol-experimental-v1.db",
+ Core::ICore::cacheResourcePath() + "/symbol-experimental-v1.db",
pchsDirectory.absolutePath()});
stdErrPrefixer().setPrefix("PchManagerConnectionClient.stderr: ");
diff --git a/src/plugins/clangrefactoring/clangrefactoringplugin.cpp b/src/plugins/clangrefactoring/clangrefactoringplugin.cpp
index 917823152e3..ea765bed5f8 100644
--- a/src/plugins/clangrefactoring/clangrefactoringplugin.cpp
+++ b/src/plugins/clangrefactoring/clangrefactoringplugin.cpp
@@ -77,7 +77,9 @@ class ClangRefactoringPluginData
public:
using QuerySqliteReadStatementFactory = QuerySqliteStatementFactory<Sqlite::Database,
Sqlite::ReadStatement>;
- Sqlite::Database database{Utils::PathString{Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"}, 1000ms};
+ Sqlite::Database database{Utils::PathString{Core::ICore::cacheResourcePath()
+ + "/symbol-experimental-v1.db"},
+ 1000ms};
ClangBackEnd::RefactoringDatabaseInitializer<Sqlite::Database> databaseInitializer{database};
ClangBackEnd::FilePathCaching filePathCache{database};
ClangPchManager::ProgressManager progressManager{
diff --git a/src/plugins/clangrefactoring/refactoringconnectionclient.cpp b/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
index ff66ec20cbf..a42ed38a161 100644
--- a/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
+++ b/src/plugins/clangrefactoring/refactoringconnectionclient.cpp
@@ -48,8 +48,8 @@ RefactoringConnectionClient::RefactoringConnectionClient(RefactoringClientInterf
, m_serverProxy(client)
{
m_processCreator.setTemporaryDirectoryPattern("clangrefactoringbackend-XXXXXX");
- m_processCreator.setArguments({connectionName(),
- Core::ICore::userResourcePath() + "/symbol-experimental-v1.db"});
+ m_processCreator.setArguments(
+ {connectionName(), Core::ICore::cacheResourcePath() + "/symbol-experimental-v1.db"});
stdErrPrefixer().setPrefix("RefactoringConnectionClient.stderr: ");
stdOutPrefixer().setPrefix("RefactoringConnectionClient.stdout: ");
diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp
index f16f4369bb2..9cb23af6562 100644
--- a/src/plugins/coreplugin/icore.cpp
+++ b/src/plugins/coreplugin/icore.cpp
@@ -35,6 +35,7 @@
#include <QSysInfo>
#include <QApplication>
+#include <QStandardPaths>
/*!
\namespace Core
@@ -439,6 +440,11 @@ QString ICore::userResourcePath()
return urp;
}
+QString ICore::cacheResourcePath()
+{
+ return QStandardPaths::writableLocation(QStandardPaths::CacheLocation);
+}
+
QString ICore::installerResourcePath()
{
return QFileInfo(settings(QSettings::SystemScope)->fileName()).path() + '/'
diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h
index 80e387658f4..5125345cffd 100644
--- a/src/plugins/coreplugin/icore.h
+++ b/src/plugins/coreplugin/icore.h
@@ -94,6 +94,7 @@ public:
static QString resourcePath();
static QString userResourcePath();
+ static QString cacheResourcePath();
static QString installerResourcePath();
static QString libexecPath();
static QString clangExecutable(const QString &clangBinDirectory);