@ -769,14 +769,33 @@ void GUI::askForTorrents(){
@@ -769,14 +769,33 @@ void GUI::askForTorrents(){
// delete from download list AND from hard drive
void GUI : : deletePermanently ( ) {
QModelIndexList selectedIndexes = downloadList - > selectionModel ( ) - > selectedIndexes ( ) ;
if ( tabs - > currentIndex ( ) > 1 ) return ;
QModelIndexList selectedIndexes ;
bool inDownloadList = true ;
if ( tabs - > currentIndex ( ) = = 0 ) {
selectedIndexes = downloadList - > selectionModel ( ) - > selectedIndexes ( ) ;
} else {
selectedIndexes = finishedTorrentTab - > getFinishedList ( ) - > selectionModel ( ) - > selectedIndexes ( ) ;
inDownloadList = false ;
}
if ( ! selectedIndexes . isEmpty ( ) ) {
if ( QMessageBox : : question (
int ret ;
if ( inDownloadList ) {
ret = QMessageBox : : question (
this ,
tr ( " Are you sure? -- qBittorrent " ) ,
tr ( " Are you sure you want to delete the selected item(s) in download list and in hard drive? " ) ,
tr ( " &Yes " ) , tr ( " &No " ) ,
QString ( ) , 0 , 1 ) = = 0 ) {
QString ( ) , 0 , 1 ) ;
} else {
ret = QMessageBox : : question (
this ,
tr ( " Are you sure? -- qBittorrent " ) ,
tr ( " Are you sure you want to delete the selected item(s) in finished list and in hard drive? " ) ,
tr ( " &Yes " ) , tr ( " &No " ) ,
QString ( ) , 0 , 1 ) ;
}
if ( ret = = 0 ) {
//User clicked YES
QModelIndex index ;
QList < QPair < int , QModelIndex > > sortedIndexes ;
@ -792,17 +811,28 @@ void GUI::deletePermanently(){
@@ -792,17 +811,28 @@ void GUI::deletePermanently(){
QPair < int , QModelIndex > sortedIndex ;
foreach ( sortedIndex , sortedIndexes ) {
qDebug ( " deleting row: %d, %d, col: %d " , sortedIndex . first , sortedIndex . second . row ( ) , sortedIndex . second . column ( ) ) ;
// Get the file name
QString fileName = DLListModel - > data ( DLListModel - > index ( sortedIndex . second . row ( ) , NAME ) ) . toString ( ) ;
QString fileHash = DLListModel - > data ( DLListModel - > index ( sortedIndex . second . row ( ) , HASH ) ) . toString ( ) ;
// Get the file name & hash
QString fileName ;
QString fileHash ;
if ( inDownloadList ) {
fileName = DLListModel - > data ( DLListModel - > index ( sortedIndex . second . row ( ) , NAME ) ) . toString ( ) ;
fileHash = DLListModel - > data ( DLListModel - > index ( sortedIndex . second . row ( ) , HASH ) ) . toString ( ) ;
} else {
fileName = finishedTorrentTab - > getFinishedListModel ( ) - > data ( finishedTorrentTab - > getFinishedListModel ( ) - > index ( sortedIndex . second . row ( ) , NAME ) ) . toString ( ) ;
fileHash = finishedTorrentTab - > getFinishedListModel ( ) - > data ( finishedTorrentTab - > getFinishedListModel ( ) - > index ( sortedIndex . second . row ( ) , HASH ) ) . toString ( ) ;
}
// Remove the torrent
BTSession . deleteTorrent ( fileHash , true ) ;
// Delete item from download list
if ( inDownloadList ) {
DLListModel - > removeRow ( sortedIndex . first ) ;
// Update info bar
setInfoBar ( tr ( " '%1' was removed. " , " 'xxx.avi' was removed. " ) . arg ( fileName ) ) ;
- - nbTorrents ;
tabs - > setTabText ( 0 , tr ( " Downloads " ) + " ( " + QString ( misc : : toString ( nbTorrents ) . c_str ( ) ) + " ) " ) ;
} else {
finishedTorrentTab - > deleteFromFinishedList ( fileHash ) ;
}
// Update info bar
setInfoBar ( tr ( " '%1' was removed. " , " 'xxx.avi' was removed. " ) . arg ( fileName ) ) ;
}
}
}