diff --git a/Changelog b/Changelog index 6d2bde3e3..d8b1fba9b 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,7 @@ +* Thu Sep 7 2009 - Christophe Dumez - v1.5.1 + - BUGFIX: Fix crash in torrent addition dialog when save path does not exist (closes #425227) + - BUGFIX: Fix downloading from URL (broken in v1.5.0) + * Thu Sep 3 2009 - Christophe Dumez - v1.5.0 - FEATURE: Added Magnet URI support - FEATURE: Search engine supports category-based requests diff --git a/src/Icons/qBittorrent.desktop b/src/Icons/qBittorrent.desktop index 84b5537bb..753db5195 100644 --- a/src/Icons/qBittorrent.desktop +++ b/src/Icons/qBittorrent.desktop @@ -1,6 +1,6 @@ [Desktop Entry] Categories=Qt;Network;P2P; -Comment=V1.5.0 +Comment=V1.5.1 Exec=qbittorrent %f GenericName=Bittorrent client GenericName[bg]=Торент клиент diff --git a/src/Icons/skin/splash.png b/src/Icons/skin/splash.png index 1dfb24a92..14579026b 100644 Binary files a/src/Icons/skin/splash.png and b/src/Icons/skin/splash.png differ diff --git a/src/bittorrent.cpp b/src/bittorrent.cpp index 47fe6403c..eae00da87 100644 --- a/src/bittorrent.cpp +++ b/src/bittorrent.cpp @@ -1435,6 +1435,12 @@ void bittorrent::downloadFromUrl(QString url) { downloader->downloadUrl(url); } +void bittorrent::downloadFromURLList(const QStringList& urls) { + foreach(const QString &url, urls) { + downloadFromUrl(url); + } +} + void bittorrent::addMagnetSkipAddDlg(QString uri) { addMagnetUri(uri, false); } diff --git a/src/bittorrent.h b/src/bittorrent.h index 75648ea8b..7e753adf7 100644 --- a/src/bittorrent.h +++ b/src/bittorrent.h @@ -170,6 +170,7 @@ class bittorrent : public QObject { void processDownloadedFile(QString, QString); void saveTrackerFile(QString hash); void addMagnetSkipAddDlg(QString uri); + void downloadFromURLList(const QStringList& urls); protected slots: void scanDirectory(QString); diff --git a/src/misc.h b/src/misc.h index 7ab5bf4fd..e26ce6750 100644 --- a/src/misc.h +++ b/src/misc.h @@ -99,11 +99,17 @@ public: } - static unsigned long long freeDiskSpaceOnPath(QString path) { + static long long freeDiskSpaceOnPath(QString path) { + if(path.isEmpty()) return -1; + QDir dir_path(path); + if(!dir_path.exists()) { + if(!dir_path.cdUp()) return -1; + } + Q_ASSERT(dir_path.exists()); #ifndef Q_WS_WIN unsigned long long available; struct statfs stats; - int ret = statfs ((path+"/.").toLocal8Bit().data(), &stats) ; + int ret = statfs ((dir_path.path()+"/.").toLocal8Bit().data(), &stats) ; if(ret == 0) { available = ((unsigned long long)stats.f_bavail) * ((unsigned long long)stats.f_bsize) ; diff --git a/src/src.pro b/src/src.pro index 5fc3b7009..9f2d0891c 100644 --- a/src/src.pro +++ b/src/src.pro @@ -14,10 +14,10 @@ CONFIG += qt \ network # Update this VERSION for each release -DEFINES += VERSION=\\\"v1.5.0\\\" +DEFINES += VERSION=\\\"v1.5.1\\\" DEFINES += VERSION_MAJOR=1 DEFINES += VERSION_MINOR=5 -DEFINES += VERSION_BUGFIX=0 +DEFINES += VERSION_BUGFIX=1 !mac:QMAKE_LFLAGS += -Wl,--as-needed contains(DEBUG_MODE, 1) { CONFIG += debug diff --git a/src/torrentAddition.h b/src/torrentAddition.h index e21e05f6b..fe295fd8a 100644 --- a/src/torrentAddition.h +++ b/src/torrentAddition.h @@ -90,6 +90,7 @@ public: connect(actionMaximum, SIGNAL(triggered()), this, SLOT(maximumSelection())); connect(collapseAllButton, SIGNAL(clicked()), torrentContentList, SLOT(collapseAll())); connect(expandAllButton, SIGNAL(clicked()), torrentContentList, SLOT(expandAll())); + torrentContentList->header()->resizeSection(0, 200); //torrentContentList->header()->setResizeMode(0, QHeaderView::Stretch); QString home = QDir::homePath(); @@ -148,6 +149,7 @@ public: delete arb; connect(PropListModel, SIGNAL(itemChanged(QStandardItem*)), this, SLOT(updatePriorities(QStandardItem*))); //torrentContentList->expandAll(); + connect(savePathTxt, SIGNAL(textChanged(QString)), this, SLOT(updateDiskSpaceLabels())); updateDiskSpaceLabels(); show(); } @@ -278,7 +280,7 @@ public slots: } void updateDiskSpaceLabels() { - unsigned long long available = misc::freeDiskSpaceOnPath(savePathTxt->text()); + long long available = misc::freeDiskSpaceOnPath(savePathTxt->text()); lbl_disk_space->setText(misc::friendlyUnit(available)); // Determine torrent size @@ -293,7 +295,7 @@ public slots: lbl_torrent_size->setText(misc::friendlyUnit(torrent_size)); // Check if free space is sufficient if(available > 0) { - if(available > torrent_size) { + if((unsigned long long)available > torrent_size) { // Space is sufficient label_space_msg->setText(tr("(%1 left after torrent download)", "e.g. (100MiB left after torrent download)").arg(misc::friendlyUnit(available-torrent_size))); } else { @@ -316,7 +318,6 @@ public slots: } if(!dir.isNull()){ savePathTxt->setText(dir); - updateDiskSpaceLabels(); } }