// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "widgetpluginmanager.h" #include #include #include #include enum { debug = 0 }; namespace QmlDesigner { namespace Internal { WidgetPluginManager::WidgetPluginManager() = default; WidgetPluginManager::IWidgetPluginList WidgetPluginManager::instances() { IWidgetPluginList rc; const auto end = m_paths.end(); for (auto it = m_paths.begin(); it != end; ++it) it->getInstances(&rc); if (debug) qDebug() << '<' << Q_FUNC_INFO << rc.size(); return rc; } bool WidgetPluginManager::addPath(const QString &path) { const QDir dir(path); if (!dir.exists()) return false; m_paths.push_back(WidgetPluginPath(dir)); return true; } QAbstractItemModel *WidgetPluginManager::createModel(QObject *parent) { auto model = new QStandardItemModel(parent); const auto end = m_paths.end(); for (auto it = m_paths.begin(); it != end; ++it) model->appendRow(it->createModelItem()); return model; } } // namespace Internal } // namespace QmlDesigner