From cf65e4d77d77badead81d5d80e960cb7b8e24c30 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Wed, 23 Jun 2010 15:14:38 +0000 Subject: [PATCH] Torrent addition dialog size/pos are now remembered correctly --- src/bittorrent.cpp | 15 +++++++++++++++ src/torrentadditiondlg.cpp | 19 ++++++++++--------- src/torrentadditiondlg.h | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index ae9c5b80a..4648d27aa 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -1065,6 +1065,21 @@ QTorrentHandle Bittorrent::addTorrent(QString path, bool fromScanDir, QString fr } return h; } + // Check number of files + if(t->num_files() < 1) { + addConsoleMessage(tr("Error: The torrent %1 does not contain any file.").arg(misc::toQStringU(t->name()))); + if(fromScanDir) { + // Delete torrent from scan dir + QFile::remove(file); + } else { + if(!from_url.isNull()) { + // If download from url, remove temp file + QFile::remove(file); + } + } + return h; + } + // Actually add the torrent QString root_folder = misc::truncateRootFolder(t); add_torrent_params p; //Getting fast resume data if existing diff --git a/src/torrentadditiondlg.cpp b/src/torrentadditiondlg.cpp index d91d30582..76213296c 100644 --- a/src/torrentadditiondlg.cpp +++ b/src/torrentadditiondlg.cpp @@ -30,7 +30,7 @@ #include "torrentadditiondlg.h" -torrentAdditionDialog::torrentAdditionDialog(GUI *parent, Bittorrent* _BTSession) : QDialog((QWidget*)parent), old_label("") { +torrentAdditionDialog::torrentAdditionDialog(GUI *parent, Bittorrent* _BTSession) : QDialog((QWidget*)parent), old_label(""), hidden_height(0) { setupUi(this); setAttribute(Qt::WA_DeleteOnClose); connect(this, SIGNAL(torrentPaused(QTorrentHandle&)), parent->getTransferList(), SLOT(pauseTorrent(QTorrentHandle&))); @@ -91,15 +91,17 @@ void torrentAdditionDialog::readSettings() { } void torrentAdditionDialog::saveSettings() { - if(is_magnet || t->num_files() <= 1) return; QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent")); - QStringList contentColsWidths; - // -1 because we hid PROGRESS column - for(int i=0; icolumnCount()-1; ++i) { - contentColsWidths << QString::number(torrentContentList->columnWidth(i)); + if(!is_magnet && t->num_files() > 1) { + QStringList contentColsWidths; + // -1 because we hid PROGRESS column + for(int i=0; icolumnCount()-1; ++i) { + contentColsWidths << QString::number(torrentContentList->columnWidth(i)); + } + settings.setValue(QString::fromUtf8("TorrentAdditionDlg/filesColsWidth"), contentColsWidths); } - settings.setValue(QString::fromUtf8("TorrentAdditionDlg/filesColsWidth"), contentColsWidths); - settings.setValue("TorrentAdditionDlg/size", size()); + settings.setValue("TorrentAdditionDlg/size", size()+QSize(0, hidden_height)); + qDebug("pos: (%d, %d)", pos().x(), pos().y()); settings.setValue("TorrentAdditionDlg/pos", pos()); } @@ -110,7 +112,6 @@ void torrentAdditionDialog::renameTorrentNameInModel(QString file_path) { } void torrentAdditionDialog::hideTorrentContent() { - int hidden_height = 0; // Disable useless widgets hidden_height += torrentContentList->height(); torrentContentList->setVisible(false); diff --git a/src/torrentadditiondlg.h b/src/torrentadditiondlg.h index 0b2e331a5..c2cd1bf13 100644 --- a/src/torrentadditiondlg.h +++ b/src/torrentadditiondlg.h @@ -102,6 +102,7 @@ private: boost::intrusive_ptr t; QStringList files_path; bool is_magnet; + int hidden_height; }; #endif