Browse Source

- Implemented DeleteFromHardDrive & finishedList

adaptive-webui-19844
Christophe Dumez 18 years ago
parent
commit
6d0b550f5d
  1. 8
      src/FinishedTorrents.cpp
  2. 2
      src/FinishedTorrents.h
  3. 46
      src/GUI.cpp

8
src/FinishedTorrents.cpp

@ -139,3 +139,11 @@ void FinishedTorrents::deleteFromFinishedList(QString hash){
--nbFinished; --nbFinished;
((GUI*)parent)->setTabText(1, tr("Finished") +" ("+QString(misc::toString(nbFinished).c_str())+")"); ((GUI*)parent)->setTabText(1, tr("Finished") +" ("+QString(misc::toString(nbFinished).c_str())+")");
} }
QTreeView* FinishedTorrents::getFinishedList(){
return finishedList;
}
QStandardItemModel* FinishedTorrents::getFinishedListModel(){
return finishedListModel;
}

2
src/FinishedTorrents.h

@ -47,6 +47,8 @@ class FinishedTorrents : public QWidget, public Ui::seeding{
void addFinishedSHA(QString sha); void addFinishedSHA(QString sha);
void updateFinishedList(); void updateFinishedList();
void deleteFromFinishedList(QString hash); void deleteFromFinishedList(QString hash);
QTreeView* getFinishedList();
QStandardItemModel* getFinishedListModel();
protected slots: protected slots:
void setRowColor(int row, const QString& color); void setRowColor(int row, const QString& color);

46
src/GUI.cpp

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

Loading…
Cancel
Save