-class Icon : public QIcon
-{
-public:
- Icon();
- explicit Icon(const QString &iconName);
- explicit Icon(const QIcon ©);
-
- Icon &operator=(const Icon &other);
-};
-
-
-#else /* HAVE_KDE */
-#include <KIcon>
-class Icon : public KIcon
-{
-public:
- inline Icon() : KIcon() {};
- inline explicit Icon(const QString &iconName) : KIcon(iconName) {};
- inline explicit Icon(const QIcon ©) : KIcon(copy) {};
-};
-
-
-#endif /* HAVE_KDE */
+UISUPPORT_EXPORT QIcon get(const QString &iconName, const QString &fallbackPath = {});
+
+/**
+ * Gets an icon from the current icon theme.
+ *
+ * If the theme does not provide any of the given icon names, tries to load the
+ * icon from the fallback path, if given.
+ *
+ * If no icon can be found, a warning is displayed and a null icon returned.
+ *
+ * @param iconNames List of icon names (first match wins)
+ * @param fallbackPath Full path to a fallback icon
+ * @returns The requested icon, if available
+ */
+UISUPPORT_EXPORT QIcon get(const std::vector<QString> &iconNames, const QString &fallbackPath = {});