diff --git a/src/common/SvgIconEngine.cpp b/src/common/SvgIconEngine.cpp index 116fbef2..f237eece 100644 --- a/src/common/SvgIconEngine.cpp +++ b/src/common/SvgIconEngine.cpp @@ -14,19 +14,14 @@ SvgIconEngine::SvgIconEngine(const QString &filename) this->svgData = file.readAll(); } -SvgIconEngine::SvgIconEngine(const QByteArray &svgData) -{ - this->svgData = svgData; -} - -SvgIconEngine::SvgIconEngine(const QString &filename, QColor tintColor) : SvgIconEngine(filename) +SvgIconEngine::SvgIconEngine(const QString &filename, const QColor &tintColor) : SvgIconEngine(filename) { this->svgData = qhelpers::applyColorToSvg(svgData, tintColor); } -SvgIconEngine::SvgIconEngine(const QByteArray &svgData, QColor tintColor) +SvgIconEngine::SvgIconEngine(const QString &filename, QPalette::ColorRole colorRole) + : SvgIconEngine(filename, QPalette().color(colorRole)) { - this->svgData = qhelpers::applyColorToSvg(svgData, tintColor); } void SvgIconEngine::paint(QPainter *painter, const QRect &rect, QIcon::Mode /*mode*/, @@ -48,7 +43,7 @@ QPixmap SvgIconEngine::pixmap(const QSize &size, QIcon::Mode mode, QIcon::State QPixmap pix = QPixmap::fromImage(img, Qt::NoFormatConversion); { QPainter painter(&pix); - QRect r(QPoint(0.0, 0.0), size); + QRect r(QPoint(0, 0), size); this->paint(&painter, r, mode, state); } return pix; diff --git a/src/common/SvgIconEngine.h b/src/common/SvgIconEngine.h index a6471217..76ecbe57 100644 --- a/src/common/SvgIconEngine.h +++ b/src/common/SvgIconEngine.h @@ -3,6 +3,7 @@ #define SVGICONENGINE_H #include +#include class SvgIconEngine: public QIconEngine { @@ -11,10 +12,9 @@ private: public: explicit SvgIconEngine(const QString &filename); - explicit SvgIconEngine(const QByteArray &svgData); - SvgIconEngine(const QString &filename, QColor tintColor); - SvgIconEngine(const QByteArray &svgData, QColor tintColor); + SvgIconEngine(const QString &filename, const QColor &tintColor); + SvgIconEngine(const QString &filename, QPalette::ColorRole colorRole); void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override; QIconEngine *clone() const override; diff --git a/src/img/icons/fork.svg b/src/img/icons/fork.svg new file mode 100644 index 00000000..06500ece --- /dev/null +++ b/src/img/icons/fork.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/src/img/icons/list.svg b/src/img/icons/list.svg new file mode 100644 index 00000000..467d951b --- /dev/null +++ b/src/img/icons/list.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/resources.qrc b/src/resources.qrc index 7962f22c..4d44e914 100644 --- a/src/resources.qrc +++ b/src/resources.qrc @@ -82,6 +82,8 @@ img/icons/copy.svg img/icons/delete.svg img/icons/previous.svg + img/icons/list.svg + img/icons/fork.svg python/cutter.py python/reg_qtres_importer.py diff --git a/src/widgets/ClassesWidget.cpp b/src/widgets/ClassesWidget.cpp index 017ca851..d9195634 100644 --- a/src/widgets/ClassesWidget.cpp +++ b/src/widgets/ClassesWidget.cpp @@ -343,6 +343,11 @@ QVariant AnalClassesModel::data(const QModelIndex &index, int role) const default: return QVariant(); } + case Qt::DecorationRole: + if (index.column() == NAME) { + return QIcon(new SvgIconEngine(QString(":/img/icons/home.svg"), QPalette::WindowText)); + } + return QVariant(); case NameRole: return base.className; case TypeRole: @@ -368,6 +373,11 @@ QVariant AnalClassesModel::data(const QModelIndex &index, int role) const default: return QVariant(); } + case Qt::DecorationRole: + if (index.column() == NAME) { + return QIcon(new SvgIconEngine(QString(":/img/icons/fork.svg"), QPalette::WindowText)); + } + return QVariant(); case OffsetRole: return QVariant::fromValue(meth.addr); case VTableOffsetRole: @@ -395,6 +405,11 @@ QVariant AnalClassesModel::data(const QModelIndex &index, int role) const default: return QVariant(); } + case Qt::DecorationRole: + if (index.column() == NAME) { + return QIcon(new SvgIconEngine(QString(":/img/icons/list.svg"), QPalette::WindowText)); + } + return QVariant(); case OffsetRole: return QVariant::fromValue(vtable.addr); case TypeRole: