diff options
author | Christian Kandeler <[email protected]> | 2019-03-13 17:58:06 +0100 |
---|---|---|
committer | Christian Kandeler <[email protected]> | 2019-03-15 09:55:21 +0000 |
commit | 3a58c4652eb3c1707d74129f89585b4706d4c577 (patch) | |
tree | 27d180e6de28878ca1ac22a6c43a32b9317d4e28 /src/plugins/clangcodemodel/clangcodemodelplugin.cpp | |
parent | ec9d35f237e88e01cdde03b3cdd4c24cc9dd624f (diff) |
Compilation database: Add information to message pane
We must tell users where we generated the file, and also inform them
about errors.
Change-Id: I6383655e2f731f41b9121b2a6a31bba551d1c1de
Reviewed-by: Ivan Donchevskii <[email protected]>
Diffstat (limited to 'src/plugins/clangcodemodel/clangcodemodelplugin.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/clangcodemodelplugin.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp index b782d04867b..04463be5276 100644 --- a/src/plugins/clangcodemodel/clangcodemodelplugin.cpp +++ b/src/plugins/clangcodemodel/clangcodemodelplugin.cpp @@ -36,6 +36,7 @@ #include <coreplugin/actionmanager/actioncontainer.h> #include <coreplugin/actionmanager/actionmanager.h> +#include <coreplugin/messagemanager.h> #include <coreplugin/progressmanager/progressmanager.h> #include <cpptools/cppmodelmanager.h> @@ -72,8 +73,9 @@ void ClangCodeModelPlugin::generateCompilationDB() { if (!project || !project->activeTarget()) return; - QFuture<void> task = QtConcurrent::run(&Utils::generateCompilationDB, - CppModelManager::instance()->projectInfo(project)); + QFuture<Utils::GenerateCompilationDbResult> task + = QtConcurrent::run(&Utils::generateCompilationDB, + CppModelManager::instance()->projectInfo(project)); Core::ProgressManager::addTask(task, tr("Generating Compilation DB"), "generate compilation db"); m_generatorWatcher.setFuture(task); } @@ -135,7 +137,17 @@ void ClangCodeModelPlugin::createCompilationDBButton() command->setDescription(m_generateCompilationDBAction->text()); mbuild->addAction(command, ProjectExplorer::Constants::G_BUILD_BUILD); - connect(&m_generatorWatcher, &QFutureWatcher<void>::finished, this, [this] () { + connect(&m_generatorWatcher, &QFutureWatcher<Utils::GenerateCompilationDbResult>::finished, + this, [this] () { + const Utils::GenerateCompilationDbResult result = m_generatorWatcher.result(); + QString message; + if (result.error.isEmpty()) { + message = tr("Clang compilation database generated at \"%1\".") + .arg(QDir::toNativeSeparators(result.filePath)); + } else { + message = tr("Generating clang compilation database failed: %1").arg(result.error); + } + Core::MessageManager::write(message, Core::MessageManager::Flash); m_generateCompilationDBAction->setEnabled( isDBGenerationEnabled(ProjectExplorer::SessionManager::startupProject())); }); |