forked from qt-creator/qt-creator
ExtensionManager: Some cleanups
Stuff you notice 10 Minutes after pushing the code you worked on for days. Change-Id: I24614b8129f80c8986ec11d5146c5631dae5d515 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -26,7 +26,6 @@
|
||||
#include <QAction>
|
||||
#include <QMainWindow>
|
||||
|
||||
using namespace ExtensionSystem;
|
||||
using namespace Core;
|
||||
using namespace Utils;
|
||||
|
||||
@@ -45,7 +44,7 @@ public:
|
||||
Theme::IconsBaseColor}});
|
||||
const Icon FLAT_ACTIVE({{":/extensionmanager/images/mode_extensionmanager_mask.png",
|
||||
Theme::IconsModeWelcomeActiveColor}});
|
||||
setIcon(Utils::Icon::modeIcon(FLAT, FLAT, FLAT_ACTIVE));
|
||||
setIcon(Icon::modeIcon(FLAT, FLAT, FLAT_ACTIVE));
|
||||
setPriority(72);
|
||||
|
||||
using namespace Layouting;
|
||||
|
@@ -280,7 +280,7 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t)
|
||||
const LinksData linksData = current.data(RoleDescriptionLinks).value<LinksData>();
|
||||
if (!linksData.isEmpty()) {
|
||||
QString linksHtml;
|
||||
const QStringList links = Utils::transform(linksData, [](const LinksData::Type &link) {
|
||||
const QStringList links = transform(linksData, [](const LinksData::Type &link) {
|
||||
const QString anchor = link.first.isEmpty() ? link.second : link.first;
|
||||
return QString::fromLatin1("<a href=\"%1\">%2 ></a>")
|
||||
.arg(link.second).arg(anchor);
|
||||
@@ -293,7 +293,7 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t)
|
||||
if (!imagesData.isEmpty()) {
|
||||
const QString examplesBoxCss =
|
||||
QString::fromLatin1("height: 168px; background-color: %1; ")
|
||||
.arg(creatorTheme()->color(Theme::Token_Background_Default).name());
|
||||
.arg(creatorColor(Theme::Token_Background_Default).name());
|
||||
description.append(QString(R"(
|
||||
<br/>
|
||||
<div style="%1">%2</div>
|
||||
@@ -362,8 +362,8 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t)
|
||||
if (!tags.isEmpty()) {
|
||||
const QString tagTemplate = QString(R"(
|
||||
<td style="border: 1px solid %1; padding: 3px; ">%2</td>
|
||||
)").arg(creatorTheme()->color(Theme::Token_Stroke_Subtle).name());
|
||||
const QStringList tagsFmt = Utils::transform(tags, [&tagTemplate](const QString &tag) {
|
||||
)").arg(creatorColor(Theme::Token_Stroke_Subtle).name());
|
||||
const QStringList tagsFmt = transform(tags, [&tagTemplate](const QString &tag) {
|
||||
return tagTemplate.arg(tag);
|
||||
});
|
||||
description.append(QString(R"(
|
||||
@@ -397,8 +397,7 @@ void ExtensionManagerWidget::updateView(const QModelIndex ¤t)
|
||||
|
||||
if (isPack) {
|
||||
const PluginsData plugins = current.data(RolePlugins).value<PluginsData>();
|
||||
const QStringList extensions = Utils::transform(plugins,
|
||||
&QPair<QString, QString>::first);
|
||||
const QStringList extensions = transform(plugins, &QPair<QString, QString>::first);
|
||||
const QString extensionsFmt = extensions.join("<br/>");
|
||||
description.append(QString(R"(
|
||||
<div style="%1">%2</div>
|
||||
@@ -422,7 +421,7 @@ void ExtensionManagerWidget::fetchAndInstallPlugin(const QUrl &url)
|
||||
StorageStruct() {
|
||||
progressDialog.reset(new QProgressDialog(Tr::tr("Downloading Plugin..."),
|
||||
Tr::tr("Cancel"), 0, 0,
|
||||
Core::ICore::dialogParent()));
|
||||
ICore::dialogParent()));
|
||||
progressDialog->setWindowModality(Qt::ApplicationModal);
|
||||
progressDialog->setFixedSize(progressDialog->sizeHint());
|
||||
progressDialog->setAutoClose(false);
|
||||
|
@@ -198,7 +198,7 @@ ExtensionsBrowser::ExtensionsBrowser(QWidget *parent)
|
||||
auto manageLabel = new QLabel(Tr::tr("Manage Extensions"));
|
||||
manageLabel->setFont(StyleHelper::uiFont(StyleHelper::UiElementH1));
|
||||
|
||||
d->searchBox = new Core::SearchBox;
|
||||
d->searchBox = new SearchBox;
|
||||
d->searchBox->setFixedWidth(itemSize.width());
|
||||
|
||||
d->updateButton = new Button(Tr::tr("Install..."), Button::MediumPrimary);
|
||||
@@ -252,10 +252,8 @@ ExtensionsBrowser::ExtensionsBrowser(QWidget *parent)
|
||||
connect(d->updateButton, &QAbstractButton::pressed, this, []() {
|
||||
executePluginInstallWizard();
|
||||
});
|
||||
connect(ExtensionSystem::PluginManager::instance(),
|
||||
&ExtensionSystem::PluginManager::pluginsChanged, this, updateModel);
|
||||
connect(ExtensionSystem::PluginManager::instance(),
|
||||
&ExtensionSystem::PluginManager::initializationDone,
|
||||
connect(PluginManager::instance(), &PluginManager::pluginsChanged, this, updateModel);
|
||||
connect(PluginManager::instance(), &PluginManager::initializationDone,
|
||||
this, &ExtensionsBrowser::fetchExtensions);
|
||||
connect(d->searchBox, &QLineEdit::textChanged,
|
||||
d->filterProxyModel, &QSortFilterProxyModel::setFilterWildcard);
|
||||
|
@@ -3,9 +3,6 @@
|
||||
|
||||
#include "extensionsmodel.h"
|
||||
|
||||
#include "extensionsbrowser.h"
|
||||
|
||||
#include "extensionmanagertr.h"
|
||||
#include "utils/algorithm.h"
|
||||
|
||||
#include <coreplugin/coreconstants.h>
|
||||
@@ -30,16 +27,16 @@ namespace ExtensionManager::Internal {
|
||||
|
||||
Q_LOGGING_CATEGORY(modelLog, "qtc.extensionmanager.model", QtWarningMsg)
|
||||
|
||||
struct PluginDependency
|
||||
struct Dependency
|
||||
{
|
||||
QString name;
|
||||
QString version;
|
||||
};
|
||||
using PluginDependencies = QList<PluginDependency>;
|
||||
using Dependencies = QList<Dependency>;
|
||||
|
||||
struct Plugin
|
||||
{
|
||||
PluginDependencies dependencies;
|
||||
Dependencies dependencies;
|
||||
QString copyright;
|
||||
QString name;
|
||||
QString packageUrl;
|
||||
@@ -74,10 +71,10 @@ static Plugin pluginFromJson(const QJsonObject &obj)
|
||||
const QJsonObject metaDataObj = obj.value("meta_data").toObject();
|
||||
|
||||
const QJsonArray dependenciesArray = metaDataObj.value("Dependencies").toArray();
|
||||
PluginDependencies dependencies;
|
||||
Dependencies dependencies;
|
||||
for (const QJsonValueConstRef &dependencyVal : dependenciesArray) {
|
||||
const QJsonObject dependencyObj = dependencyVal.toObject();
|
||||
dependencies.append(PluginDependency{
|
||||
dependencies.append(Dependency{
|
||||
.name = dependencyObj.value("Name").toString(),
|
||||
.version = dependencyObj.value("Version").toString(),
|
||||
});
|
||||
@@ -189,19 +186,12 @@ static Extensions parseExtensionsRepoReply(const QByteArray &jsonData)
|
||||
return parsedExtensions;
|
||||
}
|
||||
|
||||
class ExtensionsModelPrivate : public QObject
|
||||
class ExtensionsModelPrivate
|
||||
{
|
||||
public:
|
||||
ExtensionsModelPrivate(ExtensionsModel *parent)
|
||||
: q(parent)
|
||||
{
|
||||
}
|
||||
|
||||
void setExtensions(const Extensions &extensions);
|
||||
void removeLocalExtensions();
|
||||
|
||||
ExtensionsModel *q;
|
||||
|
||||
Extensions allExtensions; // Original, complete extensions entries
|
||||
Extensions absentExtensions; // All packs + plugin extensions that are not (yet) installed
|
||||
};
|
||||
@@ -224,7 +214,7 @@ void ExtensionsModelPrivate::removeLocalExtensions()
|
||||
|
||||
ExtensionsModel::ExtensionsModel(QObject *parent)
|
||||
: QAbstractListModel(parent)
|
||||
, d(new ExtensionsModelPrivate(this))
|
||||
, d(new ExtensionsModelPrivate)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -250,7 +240,7 @@ static QVariant dataFromPluginSpec(const PluginSpec *pluginSpec, int role)
|
||||
return pluginSpec->copyright();
|
||||
case RoleDependencies: {
|
||||
QStringList dependencies = transform(pluginSpec->dependencies(),
|
||||
&ExtensionSystem::PluginDependency::toString);
|
||||
&PluginDependency::toString);
|
||||
dependencies.sort();
|
||||
return dependencies;
|
||||
}
|
||||
@@ -301,7 +291,7 @@ static QStringList dependenciesFromExtension(const Extension &extension)
|
||||
{
|
||||
QStringList dependencies;
|
||||
for (const Plugin &plugin : extension.plugins) {
|
||||
for (const PluginDependency &dependency : plugin.dependencies) {
|
||||
for (const Dependency &dependency : plugin.dependencies) {
|
||||
const QString withVersion = QString::fromLatin1("%1 (%2)").arg(dependency.name)
|
||||
.arg(dependency.version);
|
||||
dependencies.append(withVersion);
|
||||
@@ -404,8 +394,7 @@ void ExtensionsModel::setExtensionsJson(const QByteArray &json)
|
||||
|
||||
PluginSpec *ExtensionsModel::pluginSpecForName(const QString &pluginName)
|
||||
{
|
||||
return Utils::findOrDefault(PluginManager::plugins(),
|
||||
Utils::equal(&PluginSpec::name, pluginName));
|
||||
return findOrDefault(PluginManager::plugins(), equal(&PluginSpec::name, pluginName));
|
||||
}
|
||||
|
||||
} // ExtensionManager::Internal
|
||||
|
Reference in New Issue
Block a user