diff options
author | Eike Ziller <eike.ziller@qt.io> | 2020-04-07 11:13:58 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2020-04-07 11:13:58 +0200 |
commit | 10114dc036aff90df34de8c8f3e4c357382e8899 (patch) | |
tree | 0554f94011c2185d6fa202a5f2b53c34f706b48f /src/plugins/qtsupport | |
parent | 45e7b78dc3a25c42f19d4275e7b678cfbd4c5771 (diff) | |
parent | c98f213ae95752cfeba5b12efa2a1bfe71f76a2a (diff) |
Merge remote-tracking branch 'origin/4.12'
Conflicts:
src/plugins/android/androidmanifesteditorwidget.cpp
Change-Id: I8143d9e02837dcd78a637da7b333a6eeebb105cb
Diffstat (limited to 'src/plugins/qtsupport')
-rw-r--r-- | src/plugins/qtsupport/exampleslistmodel.cpp | 1 | ||||
-rw-r--r-- | src/plugins/qtsupport/exampleslistmodel.h | 16 | ||||
-rw-r--r-- | src/plugins/qtsupport/qtversionmanager.cpp | 18 | ||||
-rw-r--r-- | src/plugins/qtsupport/qtversionmanager.h | 5 |
4 files changed, 31 insertions, 9 deletions
diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index a5bf950bf5..96bfa90629 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -107,6 +107,7 @@ ExampleSetModel::ExampleSetModel() << ", examplesPath=" << set.examplesPath; } } + m_extraExampleSets += pluginRegisteredExampleSets(); connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsLoaded, this, &ExampleSetModel::qtVersionManagerLoaded); diff --git a/src/plugins/qtsupport/exampleslistmodel.h b/src/plugins/qtsupport/exampleslistmodel.h index ad86b12e66..a371e8bc0b 100644 --- a/src/plugins/qtsupport/exampleslistmodel.h +++ b/src/plugins/qtsupport/exampleslistmodel.h @@ -45,6 +45,14 @@ class ExampleSetModel : public QStandardItemModel Q_OBJECT public: + struct ExtraExampleSet + { + QString displayName; + QString manifestPath; + QString examplesPath; + }; + static QVector<ExtraExampleSet> pluginRegisteredExampleSets(); + ExampleSetModel(); int selectedExampleSet() const { return m_selectedExampleSetIndex; } @@ -56,11 +64,6 @@ signals: void selectedExampleSetChanged(int); private: - struct ExtraExampleSet { - QString displayName; - QString manifestPath; - QString examplesPath; - }; enum ExampleSetType { InvalidExampleSet, @@ -87,8 +90,7 @@ private: void helpManagerInitialized(); void tryToInitialize(); - QList<ExtraExampleSet> m_extraExampleSets; - QList<BaseQtVersion*> m_qtVersions; + QVector<ExtraExampleSet> m_extraExampleSets; int m_selectedExampleSetIndex = -1; QSet<Core::Id> m_selectedQtTypes; diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 82d2fb9e2d..4616ec9e51 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -25,10 +25,11 @@ #include "qtversionmanager.h" -#include "qtkitinformation.h" -#include "qtversionfactory.h" #include "baseqtversion.h" +#include "exampleslistmodel.h" +#include "qtkitinformation.h" #include "qtsupportconstants.h" +#include "qtversionfactory.h" #include <coreplugin/icore.h> #include <coreplugin/helpmanager.h> @@ -77,6 +78,7 @@ static QtVersionManager *m_instance = nullptr; static FileSystemWatcher *m_configFileWatcher = nullptr; static QTimer *m_fileWatcherTimer = nullptr; static PersistentSettingsWriter *m_writer = nullptr; +static QVector<ExampleSetModel::ExtraExampleSet> m_pluginRegisteredExampleSets; static Q_LOGGING_CATEGORY(log, "qtc.qt.versions", QtWarningMsg); @@ -100,6 +102,11 @@ static bool restoreQtVersions(); static void findSystemQt(); static void saveQtVersions(); +QVector<ExampleSetModel::ExtraExampleSet> ExampleSetModel::pluginRegisteredExampleSets() +{ + return m_pluginRegisteredExampleSets; +} + // -------------------------------------------------------------------------- // QtVersionManager // -------------------------------------------------------------------------- @@ -471,6 +478,13 @@ void QtVersionManager::removeVersion(BaseQtVersion *version) delete version; } +void QtVersionManager::registerExampleSet(const QString &displayName, + const QString &manifestPath, + const QString &examplesPath) +{ + m_pluginRegisteredExampleSets.append({displayName, manifestPath, examplesPath}); +} + using Path = QString; using FileName = QString; static QList<std::pair<Path, FileName>> documentationFiles(BaseQtVersion *v) diff --git a/src/plugins/qtsupport/qtversionmanager.h b/src/plugins/qtsupport/qtversionmanager.h index 7f71547b49..a5bf92d7d1 100644 --- a/src/plugins/qtsupport/qtversionmanager.h +++ b/src/plugins/qtsupport/qtversionmanager.h @@ -63,6 +63,11 @@ public: static void addVersion(BaseQtVersion *version); static void removeVersion(BaseQtVersion *version); + // Call latest in extensionsInitialized of plugin depending on QtSupport + static void registerExampleSet(const QString &displayName, + const QString &manifestPath, + const QString &examplesPath); + signals: // content of BaseQtVersion objects with qmake path might have changed void qtVersionsChanged(const QList<int> &addedIds, const QList<int> &removedIds, const QList<int> &changedIds); |