diff --git a/src/FinishedTorrents.cpp b/src/FinishedTorrents.cpp index dc32926e2..c48915beb 100644 --- a/src/FinishedTorrents.cpp +++ b/src/FinishedTorrents.cpp @@ -51,7 +51,7 @@ FinishedTorrents::FinishedTorrents(QObject *parent, bittorrent *BTSession){ actionDelete_Permanently->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/delete_perm.png"))); actionTorrent_Properties->setIcon(QIcon(QString::fromUtf8(":/Icons/skin/properties.png"))); connect(actionDelete, SIGNAL(triggered()), (GUI*)parent, SLOT(deleteSelection())); - connect(actionPreview_file, SIGNAL(triggered()), (GUI*)parent, SLOT(startSelection())); + connect(actionPreview_file, SIGNAL(triggered()), (GUI*)parent, SLOT(previewFileSelection())); connect(actionDelete_Permanently, SIGNAL(triggered()), (GUI*)parent, SLOT(deletePermanently())); connect(actionTorrent_Properties, SIGNAL(triggered()), this, SLOT(propertiesSelection())); } diff --git a/src/GUI.cpp b/src/GUI.cpp index 6d4da84ba..4cb33f966 100644 --- a/src/GUI.cpp +++ b/src/GUI.cpp @@ -310,12 +310,24 @@ void GUI::togglePausedState(const QModelIndex& index){ } void GUI::previewFileSelection(){ + if(tabs->currentIndex() > 1) return; + bool inDownloadList = true; + if(tabs->currentIndex() != 0) + inDownloadList = false; QModelIndex index; - QModelIndexList selectedIndexes = downloadList->selectionModel()->selectedIndexes(); + QModelIndexList selectedIndexes; + if(inDownloadList) + selectedIndexes = downloadList->selectionModel()->selectedIndexes(); + else + selectedIndexes = finishedTorrentTab->getFinishedList()->selectionModel()->selectedIndexes(); foreach(index, selectedIndexes){ if(index.column() == NAME){ - // Get the file name - QString fileHash = DLListModel->data(DLListModel->index(index.row(), HASH)).toString(); + // Get the file hash + QString fileHash; + if(inDownloadList) + fileHash = DLListModel->data(DLListModel->index(index.row(), HASH)).toString(); + else + fileHash = finishedTorrentTab->getFinishedListModel()->data(finishedTorrentTab->getFinishedListModel()->index(index.row(), HASH)).toString(); torrent_handle h = BTSession.getTorrentHandle(fileHash); previewSelection = new previewSelect(this, h); break;