qmljs: generalize language treatement

* better support qbs and similar non QtQuick qml languages
* begin to clean and migrate things from ModelManager to
  ModelManagerInterface

Change-Id: Ifa39dc1e4c568e9e21307f4913dcb5989e80420f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
This commit is contained in:
Fawzi Mohamed
2014-01-22 18:38:45 +01:00
parent a8e8c5fe1d
commit a8ea0a0736
12 changed files with 118 additions and 80 deletions

View File

@@ -139,6 +139,8 @@ public:
ModelManagerInterface(QObject *parent = 0);
virtual ~ModelManagerInterface();
static Language::Enum guessLanguageOfFile(const QString &fileName);
static QStringList globPatternsForLanguages(const QList<Language::Enum> languages);
static ModelManagerInterface *instance();
virtual WorkingCopy workingCopy() const = 0;
@@ -184,7 +186,6 @@ public:
// Blocks until all parsing threads are done. Used for testing.
virtual void joinAllThreads() = 0;
public slots:
virtual void resetCodeModel() = 0;
@@ -194,6 +195,8 @@ signals:
void aboutToRemoveFiles(const QStringList &files);
void libraryInfoUpdated(const QString &path, const QmlJS::LibraryInfo &info);
void projectInfoUpdated(const ProjectInfo &pinfo);
protected:
virtual QHash<QString,Language::Enum> languageForSuffix() const;
};
} // namespace QmlJS