Browse Source

Properly rename torrents, when index is moved out of current filter model or changes position inside filter model while rename window stays open

adaptive-webui-19844
Nick Tiskov 12 years ago
parent
commit
0e09717a02
  1. 5
      src/transferlistwidget.cpp

5
src/transferlistwidget.cpp

@ -617,7 +617,8 @@ void TransferListWidget::renameSelectedTorrent() { @@ -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() { @@ -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);
}
}

Loading…
Cancel
Save