From d9e3d1dcccdf3aa4e592c3adac3123f841899622 Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Sun, 1 Nov 2020 20:07:23 +0000 Subject: [PATCH] Issue #77 Methods to convert icons to QVariant Needed so propertyindex methods don't need to depend on CVariant. --- src/blackmisc/icon.cpp | 10 ++++++++++ src/blackmisc/icons.h | 11 +++++++++++ 2 files changed, 21 insertions(+) diff --git a/src/blackmisc/icon.cpp b/src/blackmisc/icon.cpp index 626a37bba..683f983cd 100644 --- a/src/blackmisc/icon.cpp +++ b/src/blackmisc/icon.cpp @@ -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 diff --git a/src/blackmisc/icons.h b/src/blackmisc/icons.h index 096099db1..8a9a8f8e6 100644 --- a/src/blackmisc/icons.h +++ b/src/blackmisc/icons.h @@ -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 &getResourceFileCache();