From 7167ce41b61d2ba2cdb526777a4233eb84a3b66a Mon Sep 17 00:00:00 2001 From: Unit 193 Date: Sat, 6 Dec 2014 17:33:25 -0500 Subject: Imported Upstream version 2.99.6 --- SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp | 30 ++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp (limited to 'SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp') diff --git a/SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp b/SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp new file mode 100644 index 0000000..f72eb35 --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp @@ -0,0 +1,30 @@ +#include "uicustomicon.h" +#include "iconmanager.h" +#include +#include + +#define TRY_ICON_WITH(Type, Widget, Method, Icon) \ + if (dynamic_cast(Widget))\ + {\ + dynamic_cast(Widget)->Method(Icon);\ + return;\ + } + +UiCustomIcon::UiCustomIcon() +{ +} + +const char* UiCustomIcon::getPropertyName() const +{ + return "customIcon"; +} + +void UiCustomIcon::handle(QWidget* widget, const QVariant& value) +{ + QString iconName = value.toString(); + QIcon* icon = ICONMANAGER->getIcon(iconName); + if (!icon) + return; + + TRY_ICON_WITH(QAbstractButton, widget, setIcon, *icon); +} -- cgit v1.2.3