aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
committerLibravatarUnit 193 <unit193@ubuntu.com>2014-12-06 17:33:25 -0500
commit7167ce41b61d2ba2cdb526777a4233eb84a3b66a (patch)
treea35c14143716e1f2c98f808c81f89426045a946f /SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp
Imported Upstream version 2.99.6upstream/2.99.6
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp')
-rw-r--r--SQLiteStudio3/guiSQLiteStudio/uicustomicon.cpp30
1 files changed, 30 insertions, 0 deletions
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 <QLabel>
+#include <QAbstractButton>
+
+#define TRY_ICON_WITH(Type, Widget, Method, Icon) \
+ if (dynamic_cast<Type*>(Widget))\
+ {\
+ dynamic_cast<Type*>(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);
+}