From f06171f733fe379f3571748cabc226ae51f4c392 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 22 Jul 2021 11:08:28 +0100 Subject: [PATCH] When copy-pasting from a treeview, trim each line individually * This helps with views that have icon-only columns at the start or end, which would generate unnecessary whitespace when copying multiple lines. --- qrenderdoc/Widgets/Extended/RDTreeView.cpp | 8 +++++--- qrenderdoc/Widgets/Extended/RDTreeWidget.cpp | 1 - 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/qrenderdoc/Widgets/Extended/RDTreeView.cpp b/qrenderdoc/Widgets/Extended/RDTreeView.cpp index be1ec2d5d..6837b7cad 100644 --- a/qrenderdoc/Widgets/Extended/RDTreeView.cpp +++ b/qrenderdoc/Widgets/Extended/RDTreeView.cpp @@ -604,6 +604,8 @@ void RDTreeView::copySelection() int depth = GetDepth(model(), idx); + QString line; + for(int i = 0; i < colCount; i++) { QString format = i == 0 ? QFormatStr("%1") : QFormatStr(" %1"); @@ -614,14 +616,14 @@ void RDTreeView::copySelection() if(i == 0) text.prepend(QString((depth - minDepth) * 2, QLatin1Char(' '))); - clipData += format.arg(text, -widths[i]); + line += format.arg(text, -widths[i]); } - clipData += lit("\n"); + clipData += line.trimmed() + lit("\n"); } QClipboard *clipboard = QApplication::clipboard(); - clipboard->setText(clipData.trimmed()); + clipboard->setText(clipData); } void RDTreeView::updateExpansionFromRow(RDTreeViewExpansionState &state, QModelIndex idx, uint seed, diff --git a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp index 44632ab19..2d298210a 100644 --- a/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp +++ b/qrenderdoc/Widgets/Extended/RDTreeWidget.cpp @@ -24,7 +24,6 @@ #include "RDTreeWidget.h" #include -#include #include #include #include