Issue #77 Methods to convert icons to QVariant

Needed so propertyindex methods don't need to depend on CVariant.
This commit is contained in:
Mat Sutcliffe
2020-11-01 20:07:23 +00:00
parent ecac4bcb8c
commit d9e3d1dccc
2 changed files with 21 additions and 0 deletions

View File

@@ -96,4 +96,14 @@ namespace BlackMisc
Q_ASSERT_X(index >= 0 && index < CIconList::allIcons().size(), "iconForIndex", "wrong index");
return CIconList::allIcons()[index];
}
// CIcons methods defined here to circumvent cyclic dependency
QVariant CIcons::toVariant(IconIndex icon)
{
return QVariant::fromValue(CIcon(icon));
}
QVariant CIcons::toVariantPixmap(IconIndex icon)
{
return QVariant::fromValue(CIcon(icon).toPixmap());
}
} // namespace

View File

@@ -805,6 +805,17 @@ namespace BlackMisc
//! Rotate by pixmap
static QPixmap rotate(int rotateDegrees, const QPixmap &original);
// -------------------------------------------------------------
// Convert enum to QVariant containing CIcon or QPixmap
// (function definitions in icon.cpp)
// -------------------------------------------------------------
//! Variant containing CIcon
static QVariant toVariant(IconIndex icon);
//! Variant containing QPixmap
static QVariant toVariantPixmap(IconIndex icon);
private:
//! File cache for the loaded files
static QMap<QString, QPixmap> &getResourceFileCache();