#include <coreplugin/icore.h>
#include <coreplugin/messagemanager.h>
+#include <coreplugin/filemanager.h>
#include <extensionsystem/pluginmanager.h>
#include <qtsupport/qmldumptool.h>
#include <qtsupport/baseqtversion.h>
QmlProject::QmlProject(Internal::Manager *manager, const QString &fileName)
: m_manager(manager),
m_fileName(fileName),
- m_modelManager(ExtensionSystem::PluginManager::instance()->getObject<QmlJS::ModelManagerInterface>()),
- m_fileWatcher(new Utils::FileSystemWatcher(this))
+ m_modelManager(ExtensionSystem::PluginManager::instance()->getObject<QmlJS::ModelManagerInterface>())
{
- m_fileWatcher->setObjectName(QLatin1String("QmlProjectWatcher"));
setProjectContext(Core::Context(QmlProjectManager::Constants::PROJECTCONTEXT));
setProjectLanguage(Core::Context(QmlProjectManager::Constants::LANG_QML));
m_file = new Internal::QmlProjectFile(this, fileName);
m_rootNode = new Internal::QmlProjectNode(this, m_file);
- m_fileWatcher->addFile(fileName, Utils::FileSystemWatcher::WatchModifiedDate);
- connect(m_fileWatcher, SIGNAL(fileChanged(QString)),
- this, SLOT(refreshProjectFile()));
+ Core::FileManager::instance()->addFile(m_file, true);
m_manager->registerProject(this);
}
{
m_manager->unregisterProject(this);
+ Core::FileManager::instance()->removeFile(m_file);
+
delete m_projectItem.data();
delete m_rootNode;
}
bool addFiles(const QStringList &filePaths);
-private slots:
void refreshProjectFile();
+
+private slots:
void refreshFiles(const QSet<QString> &added, const QSet<QString> &removed);
protected:
// qml based, new format
QDeclarativeEngine m_engine;
QWeakPointer<QmlProjectItem> m_projectItem;
- Utils::FileSystemWatcher *m_fileWatcher;
Internal::QmlProjectNode *m_rootNode;
};
#include "qmlprojectfile.h"
#include "qmlproject.h"
#include "qmlprojectconstants.h"
+#include <utils/qtcassert.h>
namespace QmlProjectManager {
namespace Internal {
: Core::IFile(parent),
m_project(parent),
m_fileName(fileName)
-{ }
+{
+ QTC_CHECK(m_project);
+ QTC_CHECK(!fileName.isEmpty());
+}
QmlProjectFile::~QmlProjectFile()
-{ }
+{
+}
bool QmlProjectFile::save(QString *, const QString &, bool)
{
{
Q_UNUSED(errorString)
Q_UNUSED(flag)
- Q_UNUSED(type)
+
+ if (type == TypeContents)
+ m_project->refreshProjectFile();
+
return true;
}