forked from qt-creator/qt-creator
ExtensionManager: Set icon background green or grey depending of state
This change sets green vs. grey background for extension icons depending of enabled state. Change-Id: Id99419544a00acca897aa0ad6c98d2598e4b2210 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -223,7 +223,7 @@ public:
|
||||
|
||||
const ItemType itemType = current.data(RoleItemType).value<ItemType>();
|
||||
const bool isPack = itemType == ItemTypePack;
|
||||
const bool isRemotePlugin = !(isPack || ExtensionsModel::pluginSpecForName(name));
|
||||
const bool isRemotePlugin = !(isPack || pluginSpecForName(name));
|
||||
installButton->setVisible(isRemotePlugin && !pluginData.empty());
|
||||
if (installButton->isVisible())
|
||||
installButton->setToolTip(pluginData.constFirst().second);
|
||||
@@ -292,7 +292,7 @@ public:
|
||||
}.attachTo(this);
|
||||
|
||||
connect(m_checkBox, &QCheckBox::clicked, this, [this](bool checked) {
|
||||
ExtensionSystem::PluginSpec *spec = ExtensionsModel::pluginSpecForName(m_pluginName);
|
||||
ExtensionSystem::PluginSpec *spec = pluginSpecForName(m_pluginName);
|
||||
if (spec == nullptr)
|
||||
return;
|
||||
const bool doIt = m_pluginView.data().setPluginsEnabled({spec}, checked);
|
||||
@@ -319,7 +319,7 @@ public:
|
||||
private:
|
||||
void update()
|
||||
{
|
||||
const ExtensionSystem::PluginSpec *spec = ExtensionsModel::pluginSpecForName(m_pluginName);
|
||||
const ExtensionSystem::PluginSpec *spec = pluginSpecForName(m_pluginName);
|
||||
setVisible(spec != nullptr);
|
||||
if (spec == nullptr)
|
||||
return;
|
||||
|
@@ -422,10 +422,12 @@ QLabel *tfLabel(const TextFormat &tf, bool singleLine)
|
||||
|
||||
QGradientStops iconGradientStops(const QModelIndex &index)
|
||||
{
|
||||
const bool isVendorExtension = index.data(RoleVendor).toString() == "The Qt Company Ltd";
|
||||
const QColor startColor = creatorColor(isVendorExtension ? Theme::Token_Gradient01_Start
|
||||
const PluginSpec *ps = pluginSpecForName(index.data(RoleName).toString());
|
||||
const bool greenGradient = ps != nullptr && ps->isEffectivelyEnabled();
|
||||
|
||||
const QColor startColor = creatorColor(greenGradient ? Theme::Token_Gradient01_Start
|
||||
: Theme::Token_Gradient02_Start);
|
||||
const QColor endColor = creatorColor(isVendorExtension ? Theme::Token_Gradient01_End
|
||||
const QColor endColor = creatorColor(greenGradient ? Theme::Token_Gradient01_End
|
||||
: Theme::Token_Gradient02_End);
|
||||
const QGradientStops gradient = {
|
||||
{0, startColor},
|
||||
|
@@ -390,7 +390,7 @@ void ExtensionsModel::setExtensionsJson(const QByteArray &json)
|
||||
endResetModel();
|
||||
}
|
||||
|
||||
PluginSpec *ExtensionsModel::pluginSpecForName(const QString &pluginName)
|
||||
PluginSpec *pluginSpecForName(const QString &pluginName)
|
||||
{
|
||||
return findOrDefault(PluginManager::plugins(), equal(&PluginSpec::name, pluginName));
|
||||
}
|
||||
|
@@ -54,12 +54,13 @@ public:
|
||||
QVariant data(const QModelIndex &index, int role) const;
|
||||
|
||||
void setExtensionsJson(const QByteArray &json);
|
||||
static ExtensionSystem::PluginSpec *pluginSpecForName(const QString &pluginName);
|
||||
|
||||
private:
|
||||
class ExtensionsModelPrivate *d = nullptr;
|
||||
};
|
||||
|
||||
ExtensionSystem::PluginSpec *pluginSpecForName(const QString &pluginName);
|
||||
|
||||
#ifdef WITH_TESTS
|
||||
QObject *createExtensionsModelTest();
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user