diff --git a/src/libs/utils/images/iconoverlay_add.png b/src/libs/utils/images/iconoverlay_add.png new file mode 100644 index 00000000000..e82b7142b95 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_add.png differ diff --git a/src/libs/utils/images/iconoverlay_add@2x.png b/src/libs/utils/images/iconoverlay_add@2x.png new file mode 100644 index 00000000000..e90243affcc Binary files /dev/null and b/src/libs/utils/images/iconoverlay_add@2x.png differ diff --git a/src/libs/utils/images/iconoverlay_add_background.png b/src/libs/utils/images/iconoverlay_add_background.png new file mode 100644 index 00000000000..cbf07ec0fcd Binary files /dev/null and b/src/libs/utils/images/iconoverlay_add_background.png differ diff --git a/src/libs/utils/images/iconoverlay_add_background@2x.png b/src/libs/utils/images/iconoverlay_add_background@2x.png new file mode 100644 index 00000000000..6d82a2aa395 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_add_background@2x.png differ diff --git a/src/libs/utils/images/iconoverlay_error.png b/src/libs/utils/images/iconoverlay_error.png new file mode 100644 index 00000000000..1aa60a7cb3e Binary files /dev/null and b/src/libs/utils/images/iconoverlay_error.png differ diff --git a/src/libs/utils/images/iconoverlay_error@2x.png b/src/libs/utils/images/iconoverlay_error@2x.png new file mode 100644 index 00000000000..91e97355583 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_error@2x.png differ diff --git a/src/libs/utils/images/iconoverlay_error_background.png b/src/libs/utils/images/iconoverlay_error_background.png new file mode 100644 index 00000000000..d2437c32e8d Binary files /dev/null and b/src/libs/utils/images/iconoverlay_error_background.png differ diff --git a/src/libs/utils/images/iconoverlay_error_background@2x.png b/src/libs/utils/images/iconoverlay_error_background@2x.png new file mode 100644 index 00000000000..56553be9507 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_error_background@2x.png differ diff --git a/src/libs/utils/images/iconoverlay_warning.png b/src/libs/utils/images/iconoverlay_warning.png new file mode 100644 index 00000000000..c0ee8674dd5 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_warning.png differ diff --git a/src/libs/utils/images/iconoverlay_warning@2x.png b/src/libs/utils/images/iconoverlay_warning@2x.png new file mode 100644 index 00000000000..0904780d5f1 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_warning@2x.png differ diff --git a/src/libs/utils/images/iconoverlay_warning_background.png b/src/libs/utils/images/iconoverlay_warning_background.png new file mode 100644 index 00000000000..a47e0400bdd Binary files /dev/null and b/src/libs/utils/images/iconoverlay_warning_background.png differ diff --git a/src/libs/utils/images/iconoverlay_warning_background@2x.png b/src/libs/utils/images/iconoverlay_warning_background@2x.png new file mode 100644 index 00000000000..4b22e501d78 Binary files /dev/null and b/src/libs/utils/images/iconoverlay_warning_background@2x.png differ diff --git a/src/libs/utils/utils.qrc b/src/libs/utils/utils.qrc index 39dd7904f68..45b2b2d7989 100644 --- a/src/libs/utils/utils.qrc +++ b/src/libs/utils/utils.qrc @@ -138,5 +138,17 @@ images/collapse@2x.png images/expand.png images/expand@2x.png + images/iconoverlay_add.png + images/iconoverlay_add@2x.png + images/iconoverlay_add_background.png + images/iconoverlay_add_background@2x.png + images/iconoverlay_error.png + images/iconoverlay_error@2x.png + images/iconoverlay_error_background.png + images/iconoverlay_error_background@2x.png + images/iconoverlay_warning.png + images/iconoverlay_warning@2x.png + images/iconoverlay_warning_background.png + images/iconoverlay_warning_background@2x.png diff --git a/src/libs/utils/utilsicons.cpp b/src/libs/utils/utilsicons.cpp index 31ad7c8b6c3..44ce6c35e2c 100644 --- a/src/libs/utils/utilsicons.cpp +++ b/src/libs/utils/utilsicons.cpp @@ -181,9 +181,15 @@ const Icon COLLAPSE({ const Icon COLLAPSE_TOOLBAR({ {QLatin1String(":/utils/images/collapse.png"), Theme::IconsBaseColor}}); const Icon EMPTY14(":/utils/images/empty14.png"); -const Icon ENABLE_KIT_OVERLAY({ - {":/projectexplorer/images/enablekitbackground.png", Theme::IconsRunColor}, - {":/projectexplorer/images/enablekitforeground.png", Theme::BackgroundColorNormal}}, Icon::Tint); +const Icon OVERLAY_ADD({ + {":/utils/images/iconoverlay_add_background.png", Theme::BackgroundColorNormal}, + {":/utils/images/iconoverlay_add.png", Theme::IconsRunColor}}, Icon::Tint); +const Icon OVERLAY_WARNING({ + {":/utils/images/iconoverlay_warning_background.png", Theme::BackgroundColorNormal}, + {":/utils/images/iconoverlay_warning.png", Theme::IconsWarningColor}}, Icon::Tint); +const Icon OVERLAY_ERROR({ + {":/utils/images/iconoverlay_error_background.png", Theme::BackgroundColorNormal}, + {":/utils/images/iconoverlay_error.png", Theme::IconsErrorColor}}, Icon::Tint); } // namespace Icons } // namespace Utils diff --git a/src/libs/utils/utilsicons.h b/src/libs/utils/utilsicons.h index f8158b814e3..2ab02e2e422 100644 --- a/src/libs/utils/utilsicons.h +++ b/src/libs/utils/utilsicons.h @@ -107,7 +107,9 @@ QTCREATOR_UTILS_EXPORT extern const Icon EXPAND_TOOLBAR; QTCREATOR_UTILS_EXPORT extern const Icon COLLAPSE; QTCREATOR_UTILS_EXPORT extern const Icon COLLAPSE_TOOLBAR; QTCREATOR_UTILS_EXPORT extern const Icon EMPTY14; -QTCREATOR_UTILS_EXPORT extern const Icon ENABLE_KIT_OVERLAY; +QTCREATOR_UTILS_EXPORT extern const Icon OVERLAY_ADD; +QTCREATOR_UTILS_EXPORT extern const Icon OVERLAY_WARNING; +QTCREATOR_UTILS_EXPORT extern const Icon OVERLAY_ERROR; } // namespace Icons } // namespace Utils diff --git a/src/plugins/projectexplorer/images/enablekitbackground.png b/src/plugins/projectexplorer/images/enablekitbackground.png deleted file mode 100644 index d962618e71a..00000000000 Binary files a/src/plugins/projectexplorer/images/enablekitbackground.png and /dev/null differ diff --git a/src/plugins/projectexplorer/images/enablekitbackground@2x.png b/src/plugins/projectexplorer/images/enablekitbackground@2x.png deleted file mode 100644 index 56e85c92536..00000000000 Binary files a/src/plugins/projectexplorer/images/enablekitbackground@2x.png and /dev/null differ diff --git a/src/plugins/projectexplorer/images/enablekitforeground.png b/src/plugins/projectexplorer/images/enablekitforeground.png deleted file mode 100644 index d2648001c38..00000000000 Binary files a/src/plugins/projectexplorer/images/enablekitforeground.png and /dev/null differ diff --git a/src/plugins/projectexplorer/images/enablekitforeground@2x.png b/src/plugins/projectexplorer/images/enablekitforeground@2x.png deleted file mode 100644 index ce3e306d0b0..00000000000 Binary files a/src/plugins/projectexplorer/images/enablekitforeground@2x.png and /dev/null differ diff --git a/src/plugins/projectexplorer/projectexplorer.qrc b/src/plugins/projectexplorer/projectexplorer.qrc index a1cbea364b4..85e1a5a4add 100644 --- a/src/plugins/projectexplorer/projectexplorer.qrc +++ b/src/plugins/projectexplorer/projectexplorer.qrc @@ -73,9 +73,5 @@ images/fileoverlay_h@2x.png images/fileoverlay_unknown.png images/fileoverlay_unknown@2x.png - images/enablekitbackground.png - images/enablekitbackground@2x.png - images/enablekitforeground.png - images/enablekitforeground@2x.png diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 0e14218fb79..8e7d0ced451 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -332,20 +332,6 @@ public: return Qt::ItemFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled); } - static QIcon enableKitIcon(const Kit &kit) - { - static const QIcon overlay = Utils::Icons::ENABLE_KIT_OVERLAY.icon(); - const QSize iconSize(16, 16); - const QRect iconRect(QPoint(), iconSize); - QPixmap result(iconSize * qApp->devicePixelRatio()); - result.fill(Qt::transparent); - result.setDevicePixelRatio(qApp->devicePixelRatio()); - QPainter p(&result); - kit.icon().paint(&p, iconRect, Qt::AlignCenter, QIcon::Disabled); - overlay.paint(&p, iconRect); - return result; - } - QVariant data(int column, int role) const override { switch (role) { @@ -359,11 +345,11 @@ public: const Kit *k = KitManager::find(m_kitId); QTC_ASSERT(k, return QVariant()); if (!isEnabled()) - return enableKitIcon(*k); + return kitIconWithOverlay(*k, IconOverlay::Add); if (!k->isValid()) - return Utils::Icons::ERROR.icon(); + return kitIconWithOverlay(*k, IconOverlay::Error); if (k->hasWarning()) - return Utils::Icons::WARNING.icon(); + return kitIconWithOverlay(*k, IconOverlay::Warning); return k->icon(); } @@ -521,6 +507,45 @@ public: QPointer m_project; // Not owned. Id m_kitId; int m_currentChild = 1; // Use run page by default. + +private: + enum class IconOverlay { + Add, + Warning, + Error + }; + + static QIcon kitIconWithOverlay(const Kit &kit, IconOverlay overlayType) + { + QIcon overlayIcon; + switch (overlayType) { + case IconOverlay::Add: { + static const QIcon add = Utils::Icons::OVERLAY_ADD.icon(); + overlayIcon = add; + break; + } + case IconOverlay::Warning: { + static const QIcon warning = Utils::Icons::OVERLAY_WARNING.icon(); + overlayIcon = warning; + break; + } + case IconOverlay::Error: { + static const QIcon err = Utils::Icons::OVERLAY_ERROR.icon(); + overlayIcon = err; + break; + } + } + const QSize iconSize(16, 16); + const QRect iconRect(QPoint(), iconSize); + QPixmap result(iconSize * qApp->devicePixelRatio()); + result.fill(Qt::transparent); + result.setDevicePixelRatio(qApp->devicePixelRatio()); + QPainter p(&result); + kit.icon().paint(&p, iconRect, Qt::AlignCenter, + overlayType == IconOverlay::Add ? QIcon::Disabled : QIcon::Normal); + overlayIcon.paint(&p, iconRect); + return result; + } }; // diff --git a/src/tools/icons/qtcreatoricons.svg b/src/tools/icons/qtcreatoricons.svg index 467cbb45cf5..13cc2bd62b5 100644 --- a/src/tools/icons/qtcreatoricons.svg +++ b/src/tools/icons/qtcreatoricons.svg @@ -5950,7 +5950,7 @@ r="5.5" /> + cx="580.5" + cy="373.5" + r="4.5" /> + + + + + + sodipodi:nodetypes="cccccc" /> + + + + + + + + + + + + + +