From 78280428e95cf699acc2af14420713220afa47bb Mon Sep 17 00:00:00 2001 From: Graham Dawes Date: Tue, 12 Feb 2019 08:15:47 +0000 Subject: [PATCH] Replace use of QTreeWidget::setIcon and QTreeWidget::iconChanged with code that is compatible with our minimum suppported QT version --- src/qt/treectrl.cpp | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/qt/treectrl.cpp b/src/qt/treectrl.cpp index 721cae4356..ef9616733b 100644 --- a/src/qt/treectrl.cpp +++ b/src/qt/treectrl.cpp @@ -140,8 +140,6 @@ public: this, &wxQTreeWidget::OnItemExpanded); connect(this, &QTreeWidget::itemChanged, this, &wxQTreeWidget::OnItemChanged); - connect(this, &QTreeWidget::iconSizeChanged, - this, &wxQTreeWidget::OnIconSizeChanged); m_editorFactory.AttachTo(this); setDragEnabled(true); @@ -189,6 +187,13 @@ public: return i->second.GetState(); } + void ResizeIcons(const QSize &size) + { + m_placeHolderImage = QPixmap(size); + m_placeHolderImage.fill(Qt::transparent); + ReplaceIcons(invisibleRootItem()); + } + QPixmap GetPlaceHolderImage() const { return m_placeHolderImage; @@ -217,6 +222,16 @@ protected: } private: + void ReplaceIcons(QTreeWidgetItem *item) + { + item->setIcon(0, m_placeHolderImage); + const int childCount = item->childCount(); + for ( int i = 0; i < childCount; ++i ) + { + ReplaceIcons(item->child(i)); + } + } + void OnCurrentItemChanged( QTreeWidgetItem *current, QTreeWidgetItem *previous @@ -341,12 +356,6 @@ private: EmitEvent(event); } - void OnIconSizeChanged(const QSize &size) - { - m_placeHolderImage = QPixmap(size); - m_placeHolderImage.fill(Qt::transparent); - } - void tryStartDrag(const QMouseEvent *event) { wxEventType command = event->buttons() & Qt::RightButton @@ -513,7 +522,7 @@ void wxTreeCtrl::SetImageList(wxImageList *imageList) int width, height; m_imageListNormal->GetSize(0, width, height); - m_qtTreeWidget->setIconSize(QSize(width, height)); + m_qtTreeWidget->ResizeIcons(QSize(width, height)); m_qtTreeWidget->update(); }