1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-10-14 11:52:15 +02:00

Compare commits

..

45 Commits

Author SHA1 Message Date
Christophe Dumez
226fe46038 Tagged v2.6.5 release 2011-02-03 17:32:02 +00:00
Christophe Dumez
ee83c5490e RSS code clean up 2011-01-29 14:19:51 +00:00
Christophe Dumez
9ccf603c0b RSS code clean up 2011-01-29 14:11:35 +00:00
Christophe Dumez
ae8d92f7d0 RSS code clean up 2011-01-29 13:46:48 +00:00
Christophe Dumez
095c8654e8 RSS code clean up 2011-01-29 13:04:33 +00:00
Christophe Dumez
fae47c8494 Fix compilation error in release mode 2011-01-29 11:57:29 +00:00
Christophe Dumez
65efd657a0 Updated Changelog 2011-01-28 19:10:58 +00:00
Christophe Dumez
552bc3c689 Revert class renaming to avoid breaking translations 2011-01-28 19:00:42 +00:00
Christophe Dumez
8d563f9eb6 Updated Norwegian translation 2011-01-28 18:14:58 +00:00
Christophe Dumez
54cd79201f Fix encoding problem in torrent moving code 2011-01-28 17:08:56 +00:00
Christophe Dumez
9c633b0975 More RSS code clean up 2011-01-27 19:29:10 +00:00
Christophe Dumez
67db694494 More RSS code clean up 2011-01-27 18:05:05 +00:00
Christophe Dumez
a42d4afeb7 Use native file dialogs 2011-01-27 17:33:19 +00:00
Christophe Dumez
a8a42fb8f3 Further RSS code rewrite 2011-01-27 17:31:55 +00:00
Christophe Dumez
2b9692ddde Fix compilation on Windows 2011-01-26 07:39:30 +00:00
Christophe Dumez
4b3c04439e Rss code optimization 2011-01-25 18:54:27 +00:00
Christophe Dumez
f0a2efd481 Code clean up 2011-01-25 17:27:54 +00:00
Christophe Dumez
2a44ec9b91 Performance improvement on ARM 2011-01-25 17:07:15 +00:00
Christophe Dumez
895d5151e1 Do not display 100% unless the torrent is complete 2011-01-25 16:56:57 +00:00
Christophe Dumez
233d6bbb8d Code clean up 2011-01-24 19:07:58 +00:00
Christophe Dumez
66ee39df9a Code clean up 2011-01-24 18:11:25 +00:00
Christophe Dumez
35e36036be Fix memory leak in HTTP torrent downloader
Code clean up
2011-01-24 17:29:09 +00:00
Christophe Dumez
1b0de21b52 Make sure the progress is not 100% unless the file is complete 2011-01-24 16:50:23 +00:00
Christophe Dumez
536f275ca3 Stop using load_file from libtorrent 2011-01-23 19:34:28 +00:00
Christophe Dumez
3238336e6e Updated Changelog 2011-01-23 08:50:09 +00:00
Christophe Dumez
bd8c03ecd8 BUGFIX: Fix renaming of single-file torrents (by Vladimir Golovnev) 2011-01-23 08:34:54 +00:00
Christophe Dumez
32ed944ac8 Make sure the main window is initially centered 2011-01-22 19:53:02 +00:00
Christophe Dumez
72fbf11f70 Make sure the properties panel is initially hidden 2011-01-22 19:41:39 +00:00
Christophe Dumez
0dc4b27cb6 Display legal notice on screen center 2011-01-22 19:32:44 +00:00
Christophe Dumez
a5aa1a5cab Code clean up 2011-01-22 19:20:22 +00:00
Christophe Dumez
2dbf418f5a Updated release date 2011-01-22 19:10:14 +00:00
Christophe Dumez
04f6d96575 Bump to v2.6.4 2011-01-22 19:04:32 +00:00
Christophe Dumez
25eb43d3bb Dropped dependency on libboost-thread 2011-01-22 19:03:23 +00:00
Christophe Dumez
cc785c4eea Improved host resolution code 2011-01-22 19:00:53 +00:00
Christophe Dumez
a589cb7fdc Fix possible status list height problem 2011-01-21 20:17:30 +00:00
Christophe Dumez
4704b50379 fix compilation with Qt < 4.7 2011-01-20 21:00:26 +00:00
Christophe Dumez
f43de35c33 Updated Changelog 2011-01-20 17:15:09 +00:00
Christophe Dumez
ec61870c9e I18N: Fix translation of size units (by Владимир Головнёв) 2011-01-20 17:12:07 +00:00
Christophe Dumez
746ffaf420 More UI buttons are now translated 2011-01-20 16:17:41 +00:00
Christophe Dumez
c60545977c Fix compilation on OS/2 2011-01-18 16:56:56 +00:00
Christophe Dumez
10020ed520 BUGFIX: Avoid main window flashing on startup (closes #703984) 2011-01-17 17:31:59 +00:00
Christophe Dumez
0aae5f947d Fixes to Polish translation 2011-01-16 09:53:36 +00:00
Christophe Dumez
11b5965b31 Fix RSS labeling 2011-01-15 18:27:32 +00:00
Christophe Dumez
35b2377e68 - BUGFIX: Added unicode support to email notification
- BUGFIX: Improved compatibility with various SMTP servers
2011-01-15 16:55:31 +00:00
Christophe Dumez
b0ab072aba Fix to Russian translation 2011-01-15 14:19:31 +00:00
130 changed files with 12226 additions and 8139 deletions

View File

@@ -2,6 +2,7 @@ Author:
* Christophe Dumez <chris@qbittorrent.org>
Contributors:
* Vladimir Golovnev <glassez@yandex.ru>
* Stefanos Antaris <santaris@csd.auth.gr>
* Mohammad Dib <mdib@qbittorrent.org>
* Mirco Chinelli <infinity89@fastwebmail.it>
@@ -88,7 +89,7 @@ Translations authors:
- Italian: Matteo Sechi (bu17714@gmail.com)
- Japanese: Nardog (alphisation@gmail.com)
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
- Norwegian: Tomaso
- Polish: Mariusz Fik (fisiu@opensuse.org)
- Portuguese: Nick Marinho (nickmarinho@gmail.com)
- Romanian: Obada Denis (obadadenis@users.sourceforge.net)

View File

@@ -1,3 +1,24 @@
* Thu Feb 3 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.5
- BUGFIX: Make sure the progress is not 100% unless the file is complete
- BUGFIX: Fix memory leak in HTTP torrent downloader
- BUGFIX: Use native file dialogs (by Vladimir Golovnev)
- BUGFIX: Fix encoding problem in torrent moving code (by Vladimir Golovnev)
- BUGFIX: Performance improvement on ARM
- BUGFIX: RSS code rewrite (more cpu/memory efficient)
- I18N: Updated Norwegian translation (Tomaso)
* Sun Jan 23 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.4
- BUGFIX: Added unicode support to email notification
- BUGFIX: Improved compatibility with various SMTP servers
- BUGFIX: Fix Labeling in RSS downloader
- BUGFIX: Avoid main window flashing on startup (closes #703984)
- BUGFIX: Improved hostname resolution code
- BUGFIX: Dropped dependency on libboost-thread
- BUGFIX: Display legal notice on screen center
- BUGFIX: Fix renaming of single-file torrents (by Vladimir Golovnev)
- I18N: More dialog buttons are now translated (by Vladimir Golovnev)
- I18N: Fix translation of size units (by Vladimir Golovnev)
* Sat Jan 15 2011 - Christophe Dumez <chris@qbittorrent.org> - v2.6.3
- BUGFIX: Fix possible crashes in full allocation mode
- BUGFIX: Fix icon size issues (Linux, icon theme)

View File

@@ -18,9 +18,9 @@ qBittorrent - A BitTorrent client in C++ / Qt4
-> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name.
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
- libboost 1.34.x (libboost-filesystem, libboost-date-time) + libasio
or
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-date-time)
- python >= 2.3 (needed by search engine)
* Run time only dependency

8
configure vendored
View File

@@ -451,9 +451,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/include";
@@ -474,9 +471,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}
conf->addIncludePath(s);
// Find library
@@ -487,7 +481,7 @@ public:
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";

View File

@@ -1,5 +1,3 @@
INCLUDEPATH += $$PWD
exists(conf.pri) {
# to the conf.pri goes all system dependent stuff
include(conf.pri)

View File

@@ -48,9 +48,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}else{
QStringList sl;
sl << "/usr/include";
@@ -71,9 +68,6 @@ public:
if(!conf->checkHeader(s, "boost/filesystem/path.hpp")) {
return false;
}
if(!conf->checkHeader(s, "boost/thread.hpp")) {
return false;
}
}
conf->addIncludePath(s);
// Find library
@@ -84,7 +78,7 @@ public:
#endif
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
// Not required by nox
required_libs << "filesystem" << "thread";
required_libs << "filesystem" ;
}
QStringList libDirs;
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";

View File

@@ -1,6 +1,6 @@
[Desktop Entry]
Categories=Qt;Network;P2P;
Comment=V2.6.3
Comment=V2.6.5
Exec=qbittorrent %f
GenericName=Bittorrent client
GenericName[ar]=العميل Bittorrent

View File

@@ -47,7 +47,7 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>2.6.3</string>
<string>2.6.5</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>

View File

@@ -78,7 +78,7 @@ class about : public QDialog, private Ui::AboutDlg{
<li><u>Italian:</u> Matteo Sechi (bu17714@gmail.com)</li>\
<li><u>Japanese:</u> Nardog (alphisation@gmail.com)</li>\
<li><u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)</li>\
<li><u>Norwegian:</u> Lars-Erik Labori (hamil@users.sourceforge.net)</li>\
<li><u>Norwegian:</u> Tomaso</li>\
<li><u>Polish:</u> Mariusz Fik (fisiu@opensuse.org)</li>\
<li><u>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)</li>\
<li><u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net)</li>\

View File

@@ -38,7 +38,7 @@
#include "downloadthread.h"
#include "preferences.h"
#ifndef DISABLE_GUI
#include "rsssettings.h"
#include "rsssettings.h"
#endif
#include "qinisettings.h"
@@ -54,48 +54,46 @@ downloadThread::downloadThread(QObject* parent) : QObject(parent) {
void downloadThread::processDlFinished(QNetworkReply* reply) {
QString url = reply->url().toString();
qDebug("Download finished: %s", qPrintable(url));
// Check if the request was successful
if(reply->error() != QNetworkReply::NoError) {
// Failure
qDebug("Download failure (%s), reason: %s", qPrintable(url), qPrintable(errorCodeToString(reply->error())));
emit downloadFailure(url, errorCodeToString(reply->error()));
} else {
QVariant redirection = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(redirection.isValid()) {
// We should redirect
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(redirection.toUrl().toString()));
m_redirectMapping.insert(redirection.toUrl().toString(), url);
downloadUrl(redirection.toUrl().toString());
return;
}
// Checking if it was redirecting, restoring initial URL
if(m_redirectMapping.contains(url)) {
url = m_redirectMapping.take(url);
}
// Success
QString filePath;
QTemporaryFile *tmpfile = new QTemporaryFile;
tmpfile->setAutoRemove(false);
if (tmpfile->open()) {
filePath = tmpfile->fileName();
qDebug("Temporary filename is: %s", qPrintable(filePath));
if(reply->open(QIODevice::ReadOnly)) {
// TODO: Support GZIP compression
tmpfile->write(reply->readAll());
reply->close();
tmpfile->close();
delete tmpfile;
// Send finished signal
emit downloadFinished(url, filePath);
} else {
// Error when reading the request
tmpfile->close();
delete tmpfile;
emit downloadFailure(url, tr("I/O Error"));
}
reply->deleteLater();
return;
}
// Check if the server ask us to redirect somewhere lese
const QVariant redirection = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if(redirection.isValid()) {
// We should redirect
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(redirection.toUrl().toString()));
m_redirectMapping.insert(redirection.toUrl().toString(), url);
downloadUrl(redirection.toUrl().toString());
reply->deleteLater();
return;
}
// Checking if it was redirected, restoring initial URL
if(m_redirectMapping.contains(url)) {
url = m_redirectMapping.take(url);
}
// Success
QTemporaryFile tmpfile;
tmpfile.setAutoRemove(false);
if (tmpfile.open()) {
QString filePath = tmpfile.fileName();
qDebug("Temporary filename is: %s", qPrintable(filePath));
if(reply->isOpen() || reply->open(QIODevice::ReadOnly)) {
// TODO: Support GZIP compression
tmpfile.write(reply->readAll());
tmpfile.close();
// Send finished signal
emit downloadFinished(url, filePath);
} else {
delete tmpfile;
// Error when reading the request
emit downloadFailure(url, tr("I/O Error"));
}
} else {
emit downloadFailure(url, tr("I/O Error"));
}
// Clean up
reply->deleteLater();
@@ -119,24 +117,18 @@ void downloadThread::loadCookies(const QString &host_name, QString url) {
}
#endif
void downloadThread::downloadTorrentUrl(QString url) {
#ifndef DISABLE_GUI
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
if(!host_name.isEmpty())
loadCookies(host_name, url);
#endif
void downloadThread::downloadTorrentUrl(const QString &url) {
// Process request
QNetworkReply *reply = downloadUrl(url);
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
}
QNetworkReply* downloadThread::downloadUrl(QString url){
QNetworkReply* downloadThread::downloadUrl(const QString &url){
// Update proxy settings
applyProxySettings();
#ifndef DISABLE_GUI
// Load cookies
QString host_name = QUrl::fromEncoded(url.toLocal8Bit()).host();
QString host_name = QUrl::fromEncoded(url.toUtf8()).host();
if(!host_name.isEmpty())
loadCookies(host_name, url);
#endif
@@ -157,20 +149,22 @@ QNetworkReply* downloadThread::downloadUrl(QString url){
}
void downloadThread::checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal) {
QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender());
if(!reply) return;
if(bytesTotal > 0) {
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
// Total number of bytes is available
if(bytesTotal > 1048576) {
// More than 1MB, this is probably not a torrent file, aborting...
reply->abort();
reply->deleteLater();
} else {
disconnect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(checkDownloadSize(qint64,qint64)));
}
} else {
if(bytesReceived > 1048576) {
// More than 1MB, this is probably not a torrent file, aborting...
QNetworkReply *reply = static_cast<QNetworkReply*>(sender());
reply->abort();
reply->deleteLater();
}
}
}
@@ -253,7 +247,7 @@ QString downloadThread::errorCodeToString(QNetworkReply::NetworkError status) {
}
#ifndef QT_NO_OPENSSL
void downloadThread::ignoreSslErrors(QNetworkReply* reply,QList<QSslError> errors) {
void downloadThread::ignoreSslErrors(QNetworkReply* reply, const QList<QSslError> &errors) {
Q_UNUSED(errors)
// Ignore all SSL errors
reply->ignoreSslErrors();

View File

@@ -43,19 +43,19 @@ class downloadThread : public QObject {
public:
downloadThread(QObject* parent = 0);
QNetworkReply* downloadUrl(QString url);
void downloadTorrentUrl(QString url);
QNetworkReply* downloadUrl(const QString &url);
void downloadTorrentUrl(const QString &url);
//void setProxy(QString IP, int port, QString username, QString password);
signals:
void downloadFinished(QString url, QString file_path);
void downloadFailure(QString url, QString reason);
void downloadFinished(const QString &url, const QString &file_path);
void downloadFailure(const QString &url, const QString &reason);
private slots:
void processDlFinished(QNetworkReply* reply);
void checkDownloadSize(qint64 bytesReceived, qint64 bytesTotal);
#ifndef QT_NO_OPENSSL
void ignoreSslErrors(QNetworkReply*,QList<QSslError>);
void ignoreSslErrors(QNetworkReply*,const QList<QSslError>&);
#endif
private:

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More