From 0e09717a02213b4208854343ef2eca219cead0d6 Mon Sep 17 00:00:00 2001 From: Nick Tiskov Date: Sun, 30 Jun 2013 23:29:48 +0400 Subject: [PATCH] Properly rename torrents, when index is moved out of current filter model or changes position inside filter model while rename window stays open --- src/transferlistwidget.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/transferlistwidget.cpp b/src/transferlistwidget.cpp index dafa40a70..28f1d12c1 100644 --- a/src/transferlistwidget.cpp +++ b/src/transferlistwidget.cpp @@ -617,7 +617,8 @@ void TransferListWidget::renameSelectedTorrent() { const QModelIndexList selectedIndexes = selectionModel()->selectedRows(); if (selectedIndexes.size() != 1) return; if (!selectedIndexes.first().isValid()) return; - const QString hash = getHashFromRow(mapToSource(selectedIndexes.first()).row()); + QModelIndex mi = mapToSource(selectedIndexes.first()); + const QString hash = getHashFromRow(mi.row()); const QTorrentHandle h = BTSession->getTorrentHandle(hash); if (!h.is_valid()) return; // Ask for a new Name @@ -625,7 +626,7 @@ void TransferListWidget::renameSelectedTorrent() { const QString name = QInputDialog::getText(this, tr("Rename"), tr("New name:"), QLineEdit::Normal, h.name(), &ok); if (ok && !name.isEmpty()) { // Rename the torrent - nameFilterModel->setData(selectedIndexes.first(), name, Qt::DisplayRole); + listModel->setData(mi, name, Qt::DisplayRole); } }