diff --git a/qrenderdoc/Widgets/Extended/RDHeaderView.cpp b/qrenderdoc/Widgets/Extended/RDHeaderView.cpp index 44dcebdb4..efd5e5c16 100644 --- a/qrenderdoc/Widgets/Extended/RDHeaderView.cpp +++ b/qrenderdoc/Widgets/Extended/RDHeaderView.cpp @@ -23,11 +23,13 @@ ******************************************************************************/ #include "RDHeaderView.h" +#include #include #include #include #include #include +#include #include #include "Code/QRDUtils.h" @@ -497,6 +499,13 @@ void RDHeaderView::setColumnStretchHints(const QList &hints) resizeSectionsWithHints(); } +void RDHeaderView::setPinnedColumns(int numColumns, QAbstractScrollArea *scroll) +{ + m_pinnedColumns = numColumns; + QObject::connect(scroll->horizontalScrollBar(), &QScrollBar::valueChanged, + [this]() { viewport()->update(); }); +} + void RDHeaderView::setRootIndex(const QModelIndex &index) { QHeaderView::setRootIndex(index); diff --git a/qrenderdoc/Widgets/Extended/RDHeaderView.h b/qrenderdoc/Widgets/Extended/RDHeaderView.h index bc3b0d6cd..0634c2dec 100644 --- a/qrenderdoc/Widgets/Extended/RDHeaderView.h +++ b/qrenderdoc/Widgets/Extended/RDHeaderView.h @@ -27,6 +27,7 @@ #include class QLabel; +class QAbstractScrollArea; class RDHeaderView : public QHeaderView { @@ -62,7 +63,7 @@ public: void setColumnGroupRole(int role) { m_columnGroupRole = role; } int columnGroupRole() const { return m_columnGroupRole; } - void setPinnedColumns(int numColumns) { m_pinnedColumns = numColumns; } + void setPinnedColumns(int numColumns, QAbstractScrollArea *scroll); int pinnedColumns() const { return m_pinnedColumns; } void setCustomSizing(bool sizing) { m_customSizing = sizing; } bool customSizing() const { return m_customSizing; } diff --git a/qrenderdoc/Widgets/Extended/RDTableView.cpp b/qrenderdoc/Widgets/Extended/RDTableView.cpp index 0f1d0ac14..653ccc884 100644 --- a/qrenderdoc/Widgets/Extended/RDTableView.cpp +++ b/qrenderdoc/Widgets/Extended/RDTableView.cpp @@ -150,7 +150,7 @@ void RDTableView::setColumnGroupRole(int role) void RDTableView::setPinnedColumns(int numColumns) { m_pinnedColumns = numColumns; - m_horizontalHeader->setPinnedColumns(numColumns); + m_horizontalHeader->setPinnedColumns(numColumns, this); } void RDTableView::keyPressEvent(QKeyEvent *e)