aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qtsupport
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-04-07 11:13:58 +0200
committerEike Ziller <eike.ziller@qt.io>2020-04-07 11:13:58 +0200
commit10114dc036aff90df34de8c8f3e4c357382e8899 (patch)
tree0554f94011c2185d6fa202a5f2b53c34f706b48f /src/plugins/qtsupport
parent45e7b78dc3a25c42f19d4275e7b678cfbd4c5771 (diff)
parentc98f213ae95752cfeba5b12efa2a1bfe71f76a2a (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.cpp1
-rw-r--r--src/plugins/qtsupport/exampleslistmodel.h16
-rw-r--r--src/plugins/qtsupport/qtversionmanager.cpp18
-rw-r--r--src/plugins/qtsupport/qtversionmanager.h5
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);