From a164b1ee27af5c9305a34a846fbb75ec80f4586e Mon Sep 17 00:00:00 2001 From: Bionus Date: Fri, 26 Apr 2024 01:01:19 +0200 Subject: [PATCH] fix: keep monitor order when converting to downloads (fix #3136) --- src/gui/src/tabs/monitors-tab.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/src/tabs/monitors-tab.cpp b/src/gui/src/tabs/monitors-tab.cpp index 7c7d1ab4d..bd92b2478 100644 --- a/src/gui/src/tabs/monitors-tab.cpp +++ b/src/gui/src/tabs/monitors-tab.cpp @@ -121,9 +121,13 @@ void MonitorsTab::removeSelected() void MonitorsTab::convertSelected() { - QSet rows; + // We don't use a QSet because the order of rows is important + QList rows; for (const QModelIndex &index : ui->tableMonitors->selectionModel()->selection().indexes()) { - rows.insert(m_monitorTableModel->mapToSource(index).row()); + const int row = m_monitorTableModel->mapToSource(index).row(); + if (!rows.contains(row)) { + rows.append(row); + } } for (const int row : rows) {