Utils: Add a SelectionAspect way to pass values to QComboBox::itemData

Change-Id: I428fbb5deb66163e7c0a7561eb44c315db1ed823
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2021-04-06 16:07:32 +02:00
parent d01c86d36d
commit fa2129f76b
2 changed files with 11 additions and 1 deletions

View File

@@ -1502,9 +1502,14 @@ QString SelectionAspect::stringValue() const
return d->m_options.at(value()).displayName; return d->m_options.at(value()).displayName;
} }
QVariant SelectionAspect::itemValue() const
{
return d->m_options.at(value()).itemData;
}
void SelectionAspect::addOption(const QString &displayName, const QString &toolTip) void SelectionAspect::addOption(const QString &displayName, const QString &toolTip)
{ {
d->m_options.append({displayName, toolTip}); d->m_options.append(Option(displayName, toolTip, {}));
} }
void SelectionAspect::addOption(const Option &option) void SelectionAspect::addOption(const Option &option)

View File

@@ -212,6 +212,7 @@ public:
void setDefaultValue(const QString &val); void setDefaultValue(const QString &val);
QString stringValue() const; QString stringValue() const;
QVariant itemValue() const;
enum class DisplayStyle { RadioButtons, ComboBox }; enum class DisplayStyle { RadioButtons, ComboBox };
void setDisplayStyle(DisplayStyle style); void setDisplayStyle(DisplayStyle style);
@@ -219,8 +220,12 @@ public:
class Option class Option
{ {
public: public:
Option(const QString &displayName, const QString &toolTip, const QVariant &itemData)
: displayName(displayName), tooltip(toolTip), itemData(itemData)
{}
QString displayName; QString displayName;
QString tooltip; QString tooltip;
QVariant itemData;
bool enabled = true; bool enabled = true;
}; };