Make use of font icons for the wizards

Qt Design Studio will be using font icons to display project types (wizards) in
the New Project dialog box, rather than .png icons. The unicode values will be
saved in the wizard.json files as "fontIconCode". We need a way to access that
value in code.

Task-number: QDS-4490
Change-Id: I5dbcc522a707c288ee1f05ab6ec1cb24bcd75025
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Samuel Ghinet
2021-10-13 09:04:16 +03:00
parent 33b5fa25a8
commit 98e5639f78
2 changed files with 7 additions and 0 deletions

View File

@@ -64,6 +64,7 @@ public:
Utils::Id id() const { return m_id; }
WizardKind kind() const { return m_supportedProjectTypes.isEmpty() ? FileWizard : ProjectWizard; }
QIcon icon() const { return m_icon; }
QString fontIcondCode() const { return m_fontIconCode; }
QString description() const { return m_description; }
QString displayName() const { return m_displayName; }
QString category() const { return m_category; }
@@ -78,6 +79,7 @@ public:
void setId(const Utils::Id id) { m_id = id; }
void setSupportedProjectTypes(const QSet<Utils::Id> &projectTypes) { m_supportedProjectTypes = projectTypes; }
void setIcon(const QIcon &icon, const QString &iconText = {});
void setFontIconCode(const QString &code) { m_fontIconCode = code; }
void setDescription(const QString &description) { m_description = description; }
void setDisplayName(const QString &displayName) { m_displayName = displayName; }
void setCategory(const QString &category) { m_category = category; }
@@ -135,6 +137,7 @@ private:
QAction *m_action = nullptr;
QIcon m_icon;
QString m_fontIconCode;
QString m_description;
QString m_displayName;
QString m_category;

View File

@@ -72,6 +72,7 @@ const char CATEGORY_NAME_KEY[] = "trDisplayCategory";
const char DISPLAY_NAME_KEY[] = "trDisplayName";
const char ICON_KEY[] = "icon";
const char ICON_TEXT_KEY[] = "iconText";
const char FONT_ICON_CODE_KEY[] = "fontIconCode";
const char IMAGE_KEY[] = "image";
const char ICON_KIND_KEY[] = "iconKind";
const char DESCRIPTION_KEY[] = "trDescription";
@@ -737,6 +738,9 @@ bool JsonWizardFactory::initialize(const QVariantMap &data, const FilePath &base
: QIcon(iconPath.toString()),
iconText);
const QString fontIconCode = data.value(QLatin1String(FONT_ICON_CODE_KEY)).toString();
setFontIconCode(fontIconCode);
strVal = data.value(QLatin1String(IMAGE_KEY)).toString();
if (!strVal.isEmpty()) {
const FilePath imagePath = baseDir.resolvePath(strVal);