From 391cfab5d7cb7f4b38cf4a73995ac84b5b3a6ff9 Mon Sep 17 00:00:00 2001 From: Marco Bubke Date: Thu, 27 Sep 2018 17:52:44 +0200 Subject: Clang: Add progress bars for creating PCHs and indexing Task-number: QTCREATORBUG-21112 Change-Id: Ie0c00a58f479a2fe7cbc7322490808509733ff0f Reviewed-by: Ivan Donchevskii --- .../clangrefactoringbackendmain.cpp | 24 +++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/tools/clangrefactoringbackend/clangrefactoringbackendmain.cpp') diff --git a/src/tools/clangrefactoringbackend/clangrefactoringbackendmain.cpp b/src/tools/clangrefactoringbackend/clangrefactoringbackendmain.cpp index 1fac050883..9cb45e0e35 100644 --- a/src/tools/clangrefactoringbackend/clangrefactoringbackendmain.cpp +++ b/src/tools/clangrefactoringbackend/clangrefactoringbackendmain.cpp @@ -83,6 +83,20 @@ public: } }; +struct Data // because we have a cycle dependency +{ + Data(const QString &databasePath) + : database{Utils::PathString{databasePath}, 100000ms} + {} + + Sqlite::Database database; + RefactoringDatabaseInitializer databaseInitializer{database}; + FilePathCaching filePathCache{database}; + GeneratedFiles generatedFiles; + SymbolIndexing symbolIndexing{database, filePathCache, generatedFiles, [&] (int progress, int total) { clangCodeModelServer.setProgress(progress, total); }}; + RefactoringServer clangCodeModelServer{symbolIndexing, filePathCache, generatedFiles}; +}; + int main(int argc, char *argv[]) { try { @@ -99,14 +113,10 @@ int main(int argc, char *argv[]) const QString connectionName = arguments[0]; const QString databasePath = arguments[1]; - Sqlite::Database database{Utils::PathString{databasePath}, 100000ms}; - RefactoringDatabaseInitializer databaseInitializer{database}; - FilePathCaching filePathCache{database}; - GeneratedFiles generatedFiles; - SymbolIndexing symbolIndexing{database, filePathCache, generatedFiles}; - RefactoringServer clangCodeModelServer{symbolIndexing, filePathCache, generatedFiles}; + Data data{databasePath}; + ConnectionServer connectionServer; - connectionServer.setServer(&clangCodeModelServer); + connectionServer.setServer(&data.clangCodeModelServer); connectionServer.start(connectionName); return application.exec(); -- cgit v1.2.1