QmlJS: Move plugin dumping code and redump on file change.

Task-number: QTCREATORBUG-3047
Reviewed-by: Erik Verbruggen
This commit is contained in:
Christian Kamm
2010-11-10 15:07:53 +01:00
parent ca4439bcef
commit 2b1fe08641
5 changed files with 401 additions and 106 deletions

View File

@@ -48,6 +48,8 @@ class MimeType;
namespace QmlJSTools {
namespace Internal {
class PluginDumper;
class QMLJSTOOLS_EXPORT ModelManager: public QmlJS::ModelManagerInterface
{
Q_OBJECT
@@ -78,11 +80,6 @@ public:
Q_SIGNALS:
void projectPathChanged(const QString &projectPath);
private Q_SLOTS:
void onLoadPluginTypes(const QString &libraryPath, const QString &importPath, const QString &importUri);
void qmlPluginTypeDumpDone(int exitCode);
void qmlPluginTypeDumpError(QProcess::ProcessError error);
protected:
QFuture<void> refreshSourceFiles(const QStringList &sourceFiles,
bool emitDocumentOnDiskChanged);
@@ -106,12 +103,13 @@ private:
QmlJS::Snapshot _snapshot;
QStringList m_allImportPaths;
QStringList m_defaultImportPaths;
QHash<QProcess *, QString> m_runningQmldumps;
QFutureSynchronizer<void> m_synchronizer;
// project integration
QMap<ProjectExplorer::Project *, ProjectInfo> m_projects;
PluginDumper *m_pluginDumper;
};
} // namespace Internal