diff --git a/src/plugins/clangtools/clangtoolsplugin.cpp b/src/plugins/clangtools/clangtoolsplugin.cpp index 8a5815f116b..dda49864eff 100644 --- a/src/plugins/clangtools/clangtoolsplugin.cpp +++ b/src/plugins/clangtools/clangtoolsplugin.cpp @@ -17,6 +17,7 @@ #include "clangtoolsunittests.h" #endif +#include #include #include #include diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.cpp b/src/plugins/coreplugin/dialogs/ioptionspage.cpp index a4762169000..ffd27f85725 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.cpp +++ b/src/plugins/coreplugin/dialogs/ioptionspage.cpp @@ -7,14 +7,12 @@ #include "ioptionspage.h" #include -#include #include #include #include #include #include -#include #include #include #include @@ -74,12 +72,12 @@ namespace Core { */ /*! - Returns the category icon of the options page. This icon is displayed in the list on the left - side of the \uicontrol Options dialog. + Returns the path to the category icon of the options page. This icon will be read from this + path and displayed in the list on the left side of the \uicontrol Options dialog. */ -QIcon IOptionsPage::categoryIcon() const +FilePath IOptionsPage::categoryIconPath() const { - return m_categoryIcon.icon(); + return m_categoryIconPath; } /*! @@ -206,7 +204,7 @@ void IOptionsPage::finish() */ void IOptionsPage::setCategoryIconPath(const FilePath &categoryIconPath) { - m_categoryIcon = Icon({{categoryIconPath, Theme::PanelTextColorDark}}, Icon::Tint); + m_categoryIconPath = categoryIconPath; } void IOptionsPage::setSettings(AspectContainer *settings) @@ -316,11 +314,6 @@ const QList IOptionsPageProvider::allOptionsPagesProvide return g_optionsPagesProviders; } -QIcon IOptionsPageProvider::categoryIcon() const -{ - return m_categoryIcon.icon(); -} - // PagedSettings PagedSettings::PagedSettings() diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.h b/src/plugins/coreplugin/dialogs/ioptionspage.h index 5b856f18056..c8e78545e68 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.h +++ b/src/plugins/coreplugin/dialogs/ioptionspage.h @@ -6,20 +6,14 @@ #include #include -#include #include -#include #include #include #include #include -namespace Layouting { class LayoutItem; } - -namespace Utils { class AspectContainer; } - namespace Core { class CORE_EXPORT IOptionsPageWidget : public QWidget @@ -54,7 +48,7 @@ public: QString displayName() const { return m_displayName; } Utils::Id category() const { return m_category; } QString displayCategory() const { return m_displayCategory; } - QIcon categoryIcon() const; + Utils::FilePath categoryIconPath() const; using WidgetCreator = std::function; void setWidgetCreator(const WidgetCreator &widgetCreator); @@ -72,7 +66,6 @@ protected: void setDisplayName(const QString &displayName) { m_displayName = displayName; } void setCategory(Utils::Id category) { m_category = category; } void setDisplayCategory(const QString &displayCategory) { m_displayCategory = displayCategory; } - void setCategoryIcon(const Utils::Icon &categoryIcon) { m_categoryIcon = categoryIcon; } void setCategoryIconPath(const Utils::FilePath &categoryIconPath); void setSettings(Utils::AspectContainer *settings); // FIXME: Remove. void setSettingsProvider(const std::function &provider); @@ -82,7 +75,7 @@ private: Utils::Id m_category; QString m_displayName; QString m_displayCategory; - Utils::Icon m_categoryIcon; + Utils::FilePath m_categoryIconPath; WidgetCreator m_widgetCreator; QPointer m_widget; // Used in conjunction with m_widgetCreator @@ -102,7 +95,7 @@ private: class CORE_EXPORT IOptionsPageProvider { - Q_DISABLE_COPY_MOVE(IOptionsPageProvider); + Q_DISABLE_COPY_MOVE(IOptionsPageProvider) public: IOptionsPageProvider(); @@ -112,7 +105,7 @@ public: Utils::Id category() const { return m_category; } QString displayCategory() const { return m_displayCategory; } - QIcon categoryIcon() const; + Utils::FilePath categoryIconPath() const { return m_categoryIconPath; } virtual QList pages() const = 0; virtual bool matches(const QRegularExpression ®exp) const = 0; @@ -120,11 +113,11 @@ public: protected: void setCategory(Utils::Id category) { m_category = category; } void setDisplayCategory(const QString &displayCategory) { m_displayCategory = displayCategory; } - void setCategoryIcon(const Utils::Icon &categoryIcon) { m_categoryIcon = categoryIcon; } + void setCategoryIconPath(const Utils::FilePath &iconPath) { m_categoryIconPath = iconPath; } Utils::Id m_category; QString m_displayCategory; - Utils::Icon m_categoryIcon; + Utils::FilePath m_categoryIconPath; }; class CORE_EXPORT PagedSettings : public Utils::AspectContainer, public IOptionsPage diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp index 6970116ea3f..1f0af6f0efc 100644 --- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp +++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp @@ -10,6 +10,7 @@ #include #include +#include #include #include @@ -166,8 +167,10 @@ void CategoryModel::setPages(const QList &pages, } if (category->displayName.isEmpty()) category->displayName = page->displayCategory(); - if (category->icon.isNull()) - category->icon = page->categoryIcon(); + if (category->icon.isNull()) { + Icon icon({{page->categoryIconPath(), Theme::PanelTextColorDark}}, Icon::Tint); + category->icon = icon.icon(); + } category->pages.append(page); } @@ -183,8 +186,10 @@ void CategoryModel::setPages(const QList &pages, } if (category->displayName.isEmpty()) category->displayName = provider->displayCategory(); - if (category->icon.isNull()) - category->icon = provider->categoryIcon(); + if (category->icon.isNull()) { + Icon icon({{provider->categoryIconPath(), Theme::PanelTextColorDark}}, Icon::Tint); + category->icon = icon.icon(); + } category->providers.append(provider); } diff --git a/src/plugins/designer/formeditor.cpp b/src/plugins/designer/formeditor.cpp index 4d8acb41f5b..9629f905266 100644 --- a/src/plugins/designer/formeditor.cpp +++ b/src/plugins/designer/formeditor.cpp @@ -25,8 +25,10 @@ #include #include #include + #include #include +#include #include #include diff --git a/src/plugins/designer/settingspage.cpp b/src/plugins/designer/settingspage.cpp index e1998ffd5e3..4fdee045a78 100644 --- a/src/plugins/designer/settingspage.cpp +++ b/src/plugins/designer/settingspage.cpp @@ -47,8 +47,7 @@ SettingsPageProvider::SettingsPageProvider() { setCategory(Designer::Constants::SETTINGS_CATEGORY); setDisplayCategory(Tr::tr(Designer::Constants::SETTINGS_TR_CATEGORY)); - setCategoryIcon(Utils::Icon({{":/core/images/settingscategory_design.png", - Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint)); + setCategoryIconPath(":/core/images/settingscategory_design.png"); } QList SettingsPageProvider::pages() const diff --git a/src/plugins/nim/nimplugin.cpp b/src/plugins/nim/nimplugin.cpp index 03fe7177f22..09b730c3aba 100644 --- a/src/plugins/nim/nimplugin.cpp +++ b/src/plugins/nim/nimplugin.cpp @@ -28,6 +28,8 @@ #include #include +#include +#include using namespace Utils; using namespace ProjectExplorer;