1
mirror of https://github.com/qbittorrent/qBittorrent synced 2025-11-09 10:02:39 +01:00

Compare commits

..

1 Commits

Author SHA1 Message Date
Christophe Dumez
7046915031 - Tagged rc2 release 2008-07-27 18:21:16 +00:00
69 changed files with 1976 additions and 2045 deletions

View File

@@ -1,7 +1,4 @@
* Fri Aug 01 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.1.1 * Unknown - Christophe Dumez <chris@qbittorrent.org> - v1.1.0
- BUGFIX: Fixed bad resource file for icons
* Fri Aug 01 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.1.0
- FEATURE: Web interface to control qbittorrent (Ishan Arora) - FEATURE: Web interface to control qbittorrent (Ishan Arora)
- FEATURE: Can spoof Azureus peer id to avoid ban - FEATURE: Can spoof Azureus peer id to avoid ban
- FEATURE: Allow to hide/show some columns in download and seeding lists - FEATURE: Allow to hide/show some columns in download and seeding lists

View File

@@ -18,6 +18,7 @@ Dependencies:
Qt >= 4.4.0 is advised Qt >= 4.4.0 is advised
- libtorrent-rasterbar by Arvid Norberg (>= v0.13.1 REQUIRED) - libtorrent-rasterbar by Arvid Norberg (>= v0.13.1 REQUIRED)
-> http://www.qbittorrent.org/download.php (advised)
-> http://www.libtorrent.net -> http://www.libtorrent.net
Be careful: another library (the one used by rTorrent) uses a similar name. Be careful: another library (the one used by rTorrent) uses a similar name.

40
TODO
View File

@@ -1,6 +1,37 @@
See https://blueprints.launchpad.net/qbittorrent/ // Easy
- Translations into as many languages as possible
- Use Launchpad/Rosetta for translations once it supports TS files
Translations updated in v1.1.0: // Intermediate
- Port on MacOS, Windows (and create an installer for Windows) - Slow progress
- Add some transparency (menus,...), improve look / usabilty
- Skins support? (contact Mateusz)
// Harder
- Torrent scheduler ala µtorrent/Bitcomet
// Waiting for libtorrent
- Allow to prioritize torrents (may code this in qBittorrent?)
// Unsure
- Display the peers we are connected to for each torrent with infos (like flag, dl/up speeds, ...)
- Azureus spoofing to prevent ban from trackers?
- Option to shutdown computer when downloads are finished
- NAT checker/Tester
- Display hard drive space left?
- Make use of dbus on Linux for the single instance instead of socket communication?
(http://techbase.kde.org/Development/Tutorials/D-Bus/Accessing_Interfaces)
- When favicon can't be downloaded, try to parse the webpage for:
<link rel="icon" href="http://example.com/favicon.ico" type="image/vnd.microsoft.icon">
* Be careful, the link can be relative
- Improve search plugin install (choose in a list taken from plugins.qbittorrent.org)
- support zipped torrents? (useful?)
- Allow to limit the number of downloading torrents simultaneously (other are paused until a download finishes)
// in v1.2.0
- Allow user to organize the downloads into categories/folders?
Translations updated:
- French - French
- Chinese - Chinese
- Polish - Polish
@@ -15,8 +46,3 @@ Translations updated in v1.1.0:
- Korean - Korean
- Hungarian - Hungarian
- German - German
- Spanish
- Russian
- Dutch
- Bulgarian
- Greek

View File

@@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Categories=Qt;Network;P2P Categories=Qt;Application;Network;P2P
Comment=V1.1.1 Comment=V1.1.0
Exec=qbittorrent %f Exec=qbittorrent
GenericName=Bittorrent client GenericName=Bittorrent client
GenericName[bg]=Торент клиент GenericName[bg]=Торент клиент
GenericName[de]=Bittorren Client GenericName[de]=Bittorren Client
@@ -19,7 +19,7 @@ GenericName[tr]=Bittorrent istemcisi
GenericName[uk]=Bittorrent-клієнт GenericName[uk]=Bittorrent-клієнт
GenericName[zh]=Bittorrent之用户 GenericName[zh]=Bittorrent之用户
Icon=qbittorrent Icon=qbittorrent
MimeType=application/x-bittorrent; MimeType=application/x-bittorrent
Name=qBittorrent Name=qBittorrent
Name[ko]=큐비토런트 Name[ko]=큐비토런트
Terminal=false Terminal=false

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -58,7 +58,7 @@ class about : public QDialog, private Ui::AboutDlg{
- <u>Catalan:</u> Gekko Dam Beer (gekko04@users.sourceforge.net)<br>\ - <u>Catalan:</u> Gekko Dam Beer (gekko04@users.sourceforge.net)<br>\
- <u>Chinese (Simplified):</u> Guo Yue (guoyue0418@hotmail.com)<br>\ - <u>Chinese (Simplified):</u> Guo Yue (guoyue0418@hotmail.com)<br>\
- <u>Danish:</u> Mathias Nielsen (comoneo@gmail.com)<br>\ - <u>Danish:</u> Mathias Nielsen (comoneo@gmail.com)<br>\
- <u>Dutch:</u> Joost Schipper (heavyjoost@users.sourceforge.net) and Peter Koeleman (peter@peerweb.nl)<br>\ - <u>Dutch:</u> Joost Schipper (heavyjoost@users.sourceforge.net)<br>\
- <u>Finnish:</u> Niklas Laxström (nikerabbit@users.sourceforge.net)<br>\ - <u>Finnish:</u> Niklas Laxström (nikerabbit@users.sourceforge.net)<br>\
- <u>German:</u> Niels Hoffmann (zentralmaschine@users.sourceforge.net)<br>\ - <u>German:</u> Niels Hoffmann (zentralmaschine@users.sourceforge.net)<br>\
- <u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)<br>\ - <u>Greek:</u> Tsvetan Bankov (emerge_life@users.sourceforge.net)<br>\
@@ -70,9 +70,9 @@ class about : public QDialog, private Ui::AboutDlg{
- <u>Polish:</u> Jarek Smieja (ajep9691@wp.pl)<br>\ - <u>Polish:</u> Jarek Smieja (ajep9691@wp.pl)<br>\
- <u>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)<br>\ - <u>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)<br>\
- <u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net)<br>\ - <u>Romanian:</u> Obada Denis (obadadenis@users.sourceforge.net)<br>\
- <u>Russian:</u> Nick Khazov (m2k3d0n@users.sourceforge.net) and Alexey Morsov (samurai@ricom.ru)<br>\ - <u>Russian:</u> Nick Khazov (m2k3d0n at users.sourceforge.net)<br>\
- <u>Slovak:</u> helix84<br>\ - <u>Slovak:</u> helix84<br>\
- <u>Spanish:</u> Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net) and Gabriel de Oliveira (deadloop@hotmail.com)<br>\ - <u>Spanish:</u> Vicente Raul Plata Fonseca (silverxnt@users.sourceforge.net)<br>\
- <u>Swedish:</u> Daniel Nylander (po@danielnylander.se)<br>\ - <u>Swedish:</u> Daniel Nylander (po@danielnylander.se)<br>\
- <u>Turkish:</u> Erdem Bingöl (erdem84@gmail.com)<br>\ - <u>Turkish:</u> Erdem Bingöl (erdem84@gmail.com)<br>\
- <u>Ukrainian:</u> Andrey Shpachenko (masterfix@users.sourceforge.net)<br><br>")); - <u>Ukrainian:</u> Andrey Shpachenko (masterfix@users.sourceforge.net)<br><br>"));

View File

@@ -30,7 +30,6 @@
#include <QHttpResponseHeader> #include <QHttpResponseHeader>
#include <QFile> #include <QFile>
#include <QDebug> #include <QDebug>
#include <QTemporaryFile>
HttpConnection::HttpConnection(QTcpSocket *socket, HttpServer *parent) HttpConnection::HttpConnection(QTcpSocket *socket, HttpServer *parent)
: QObject(parent), socket(socket), parent(parent) : QObject(parent), socket(socket), parent(parent)
@@ -46,17 +45,11 @@ HttpConnection::~HttpConnection()
void HttpConnection::read() void HttpConnection::read()
{ {
QByteArray input = socket->readAll(); QString input = socket->readAll();
qDebug(" -------"); qDebug(" -------");
qDebug("|REQUEST|"); qDebug("|REQUEST|");
qDebug(" -------"); qDebug(" -------");
//qDebug("%s", input.toAscii().constData()); qDebug("%s", input.toAscii().constData());
if(input.size() > 100000) {
qDebug("Request too big");
generator.setStatusLine(400, "Bad Request");
write();
return;
}
parser.write(input); parser.write(input);
if(parser.isError()) if(parser.isError())
{ {
@@ -81,7 +74,6 @@ void HttpConnection::write()
void HttpConnection::respond() void HttpConnection::respond()
{ {
qDebug("Respond called");
QStringList auth = parser.value("Authorization").split(" ", QString::SkipEmptyParts); QStringList auth = parser.value("Authorization").split(" ", QString::SkipEmptyParts);
if (auth.size() != 2 || QString::compare(auth[0], "Basic", Qt::CaseInsensitive) != 0 || !parent->isAuthorized(auth[1].toUtf8())) if (auth.size() != 2 || QString::compare(auth[0], "Basic", Qt::CaseInsensitive) != 0 || !parent->isAuthorized(auth[1].toUtf8()))
{ {
@@ -184,25 +176,6 @@ void HttpConnection::respondCommand(QString command)
emit urlsReadyToBeDownloaded(url_list_cleaned); emit urlsReadyToBeDownloaded(url_list_cleaned);
return; return;
} }
if(command == "upload")
{
QByteArray torrentfile = parser.torrent();
// XXX: Trick to get a unique filename
QString filePath;
QTemporaryFile *tmpfile = new QTemporaryFile();
if (tmpfile->open()) {
filePath = tmpfile->fileName();
}
delete tmpfile;
// write it to HD
QFile torrent(filePath);
if(torrent.open(QIODevice::WriteOnly)) {
torrent.write(torrentfile);
torrent.close();
}
emit torrentReadyToBeDownloaded(filePath, false, QString(), false);
return;
}
if(command == "resumeall") if(command == "resumeall")
{ {
emit resumeAllTorrents(); emit resumeAllTorrents();

View File

@@ -57,7 +57,6 @@ class HttpConnection : public QObject
signals: signals:
void urlsReadyToBeDownloaded(const QStringList&); void urlsReadyToBeDownloaded(const QStringList&);
void torrentReadyToBeDownloaded(QString, bool, QString, bool);
void deleteTorrent(QString hash); void deleteTorrent(QString hash);
void resumeTorrent(QString hash); void resumeTorrent(QString hash);
void pauseTorrent(QString hash); void pauseTorrent(QString hash);

View File

@@ -49,11 +49,11 @@ QString HttpRequestParser::url() const
return path; return path;
} }
QByteArray HttpRequestParser::message() const QString HttpRequestParser::message() const
{ {
if(isParsable()) if(isParsable())
return data; return data;
return QByteArray(); return QString();
} }
QString HttpRequestParser::get(const QString key) const QString HttpRequestParser::get(const QString key) const
@@ -66,12 +66,7 @@ QString HttpRequestParser::post(const QString key) const
return postMap[key]; return postMap[key];
} }
QByteArray HttpRequestParser::torrent() const void HttpRequestParser::write(QString str)
{
return torrent_content;
}
void HttpRequestParser::write(QByteArray str)
{ {
while (!headerDone && str.size()>0) while (!headerDone && str.size()>0)
{ {
@@ -116,7 +111,7 @@ void HttpRequestParser::write(QByteArray str)
if(contentType() == "application/x-www-form-urlencoded") if(contentType() == "application/x-www-form-urlencoded")
{ {
QUrl url; QUrl url;
url.setEncodedQuery(data); url.setEncodedQuery(data.toAscii());
QListIterator<QPair<QString, QString> > i(url.queryItems()); QListIterator<QPair<QString, QString> > i(url.queryItems());
while (i.hasNext()) while (i.hasNext())
{ {
@@ -125,15 +120,9 @@ void HttpRequestParser::write(QByteArray str)
qDebug() << pair.first << "=" << post(pair.first); qDebug() << pair.first << "=" << post(pair.first);
} }
} }
if(contentType() == "multipart/form-data")
{
//qDebug() << data.right(data.size()-data.indexOf("\r\n\r\n")-QByteArray("\r\n\r\n").size());
torrent_content = data.right(data.size()-data.indexOf("\r\n\r\n")-QByteArray("\r\n\r\n").size());
}
} }
} }
else else
error = true; error = true;
} }
qDebug() << "isError: " << isError();
} }

View File

@@ -30,11 +30,10 @@ class HttpRequestParser : public QHttpRequestHeader
bool headerDone; bool headerDone;
bool messageDone; bool messageDone;
bool error; bool error;
QByteArray data; QString data;
QString path; QString path;
QMap<QString, QString> postMap; QMap<QString, QString> postMap;
QMap<QString, QString> getMap; QMap<QString, QString> getMap;
QByteArray torrent_content;
public: public:
HttpRequestParser(); HttpRequestParser();
@@ -42,11 +41,10 @@ class HttpRequestParser : public QHttpRequestHeader
bool isParsable() const; bool isParsable() const;
bool isError() const; bool isError() const;
QString url() const; QString url() const;
QByteArray message() const; QString message() const;
QString get(const QString key) const; QString get(const QString key) const;
QString post(const QString key) const; QString post(const QString key) const;
QByteArray torrent() const; void write(QString str);
void write(QByteArray str);
}; };
#endif #endif

View File

@@ -62,7 +62,6 @@ void HttpServer::newHttpConnection()
HttpConnection *connection = new HttpConnection(socket, this); HttpConnection *connection = new HttpConnection(socket, this);
//connect connection to BTSession //connect connection to BTSession
connect(connection, SIGNAL(urlsReadyToBeDownloaded(const QStringList&)), BTSession, SLOT(downloadFromURLList(const QStringList&))); connect(connection, SIGNAL(urlsReadyToBeDownloaded(const QStringList&)), BTSession, SLOT(downloadFromURLList(const QStringList&)));
connect(connection, SIGNAL(torrentReadyToBeDownloaded(QString, bool, QString, bool)), BTSession, SLOT(addTorrent(QString, bool, QString, bool)));
connect(connection, SIGNAL(deleteTorrent(QString)), BTSession, SLOT(deleteTorrent(QString))); connect(connection, SIGNAL(deleteTorrent(QString)), BTSession, SLOT(deleteTorrent(QString)));
connect(connection, SIGNAL(pauseTorrent(QString)), BTSession, SLOT(pauseTorrent(QString))); connect(connection, SIGNAL(pauseTorrent(QString)), BTSession, SLOT(pauseTorrent(QString)));
connect(connection, SIGNAL(resumeTorrent(QString)), BTSession, SLOT(resumeTorrent(QString))); connect(connection, SIGNAL(resumeTorrent(QString)), BTSession, SLOT(resumeTorrent(QString)));

View File

@@ -1,106 +1,106 @@
<!DOCTYPE RCC><RCC version="1.0"> <!DOCTYPE RCC><RCC version="1.0">
<qresource> <qresource>
<file>Icons/add_file.png</file> <file>Icons/folder.png</file>
<file>Icons/add_folder.png</file> <file>Icons/qbittorrent32.png</file>
<file>Icons/bt_settings.png</file> <file>Icons/file.png</file>
<file>Icons/button_cancel.png</file> <file>Icons/smile.png</file>
<file>Icons/button_ok.png</file> <file>Icons/qbittorrent22.png</file>
<file>Icons/mascot.png</file>
<file>Icons/downarrow.png</file>
<file>Icons/unavailable.png</file>
<file>Icons/proxy.png</file>
<file>Icons/description.png</file>
<file>Icons/log.png</file>
<file>Icons/uparrow.png</file>
<file>Icons/home.png</file>
<file>Icons/unsubscribe.png</file>
<file>Icons/url.png</file>
<file>Icons/unsubscribe16.png</file>
<file>Icons/stare.png</file>
<file>Icons/qbittorrent16.png</file>
<file>Icons/locale.png</file>
<file>Icons/splash.png</file>
<file>Icons/subscribe16.png</file>
<file>Icons/loading.png</file>
<file>Icons/star.png</file>
<file>Icons/gnome-shutdown.png</file>
<file>Icons/style.png</file>
<file>Icons/rss16.png</file>
<file>Icons/configure.png</file> <file>Icons/configure.png</file>
<file>Icons/connection.png</file> <file>Icons/connection.png</file>
<file>Icons/description.png</file>
<file>Icons/downarrow.png</file>
<file>Icons/download.png</file>
<file>Icons/edit_clear.png</file>
<file>Icons/encrypted.png</file>
<file>Icons/file.png</file>
<file>Icons/filter.png</file>
<file>Icons/folder.png</file>
<file>Icons/gear.png</file>
<file>Icons/gnome-shutdown.png</file>
<file>Icons/home.png</file>
<file>Icons/loading.png</file>
<file>Icons/locale.png</file>
<file>Icons/log.png</file>
<file>Icons/mascot.png</file>
<file>Icons/money.png</file>
<file>Icons/newmsg.png</file>
<file>Icons/password.png</file>
<file>Icons/proxy.png</file>
<file>Icons/qbittorrent16.png</file>
<file>Icons/qbittorrent22.png</file>
<file>Icons/qbittorrent32.png</file>
<file>Icons/refresh.png</file>
<file>Icons/rss16.png</file>
<file>Icons/rss32.png</file>
<file>Icons/smile.png</file>
<file>Icons/sphere.png</file>
<file>Icons/sphere2.png</file>
<file>Icons/splash.png</file>
<file>Icons/star.png</file>
<file>Icons/stare.png</file>
<file>Icons/style.png</file>
<file>Icons/subscribe.png</file>
<file>Icons/subscribe16.png</file>
<file>Icons/systemtray.png</file> <file>Icons/systemtray.png</file>
<file>Icons/time.png</file> <file>Icons/sphere.png</file>
<file>Icons/unavailable.png</file> <file>Icons/add_folder.png</file>
<file>Icons/unhappy.png</file> <file>Icons/button_cancel.png</file>
<file>Icons/unsubscribe.png</file> <file>Icons/encrypted.png</file>
<file>Icons/unsubscribe16.png</file>
<file>Icons/uparrow.png</file>
<file>Icons/url.png</file>
<file>Icons/wizard.png</file> <file>Icons/wizard.png</file>
<file>Icons/flags/brazil.png</file> <file>Icons/edit_clear.png</file>
<file>Icons/rss32.png</file>
<file>Icons/subscribe.png</file>
<file>Icons/bt_settings.png</file>
<file>Icons/password.png</file>
<file>Icons/newmsg.png</file>
<file>Icons/sphere2.png</file>
<file>Icons/button_ok.png</file>
<file>Icons/unhappy.png</file>
<file>Icons/add_file.png</file>
<file>Icons/filter.png</file>
<file>Icons/money.png</file>
<file>Icons/download.png</file>
<file>Icons/time.png</file>
<file>Icons/refresh.png</file>
<file>Icons/gear.png</file>
<file>Icons/skin/new.png</file>
<file>Icons/skin/qb_question.png</file>
<file>Icons/skin/play.png</file>
<file>Icons/skin/connecting.png</file>
<file>Icons/skin/settings.png</file>
<file>Icons/skin/add.png</file>
<file>Icons/skin/open.png</file>
<file>Icons/skin/play_all.png</file>
<file>Icons/skin/info.png</file>
<file>Icons/skin/connected.png</file>
<file>Icons/skin/search.png</file>
<file>Icons/skin/url.png</file>
<file>Icons/skin/firewalled.png</file>
<file>Icons/skin/properties.png</file>
<file>Icons/skin/preview.png</file>
<file>Icons/skin/remove.png</file>
<file>Icons/skin/delete_perm.png</file>
<file>Icons/skin/pause_all.png</file>
<file>Icons/skin/delete_all.png</file>
<file>Icons/skin/stalled.png</file>
<file>Icons/skin/downloading.png</file>
<file>Icons/skin/delete.png</file>
<file>Icons/skin/exit.png</file>
<file>Icons/skin/seeding.png</file>
<file>Icons/skin/paused.png</file>
<file>Icons/skin/disconnected.png</file>
<file>Icons/skin/pause.png</file>
<file>Icons/flags/turkey.png</file>
<file>Icons/flags/portugal.png</file>
<file>Icons/flags/finland.png</file>
<file>Icons/flags/ukraine.png</file>
<file>Icons/flags/bulgaria.png</file> <file>Icons/flags/bulgaria.png</file>
<file>Icons/flags/spain_catalunya.png</file>
<file>Icons/flags/brazil.png</file>
<file>Icons/flags/norway.png</file>
<file>Icons/flags/slovakia.png</file>
<file>Icons/flags/romania.png</file>
<file>Icons/flags/united_kingdom.png</file>
<file>Icons/flags/netherlands.png</file>
<file>Icons/flags/china.png</file> <file>Icons/flags/china.png</file>
<file>Icons/flags/denmark.png</file> <file>Icons/flags/denmark.png</file>
<file>Icons/flags/finland.png</file>
<file>Icons/flags/france.png</file>
<file>Icons/flags/germany.png</file>
<file>Icons/flags/greece.png</file>
<file>Icons/flags/hungary.png</file> <file>Icons/flags/hungary.png</file>
<file>Icons/flags/italy.png</file> <file>Icons/flags/greece.png</file>
<file>Icons/flags/japan.png</file>
<file>Icons/flags/netherlands.png</file>
<file>Icons/flags/norway.png</file>
<file>Icons/flags/poland.png</file>
<file>Icons/flags/portugal.png</file>
<file>Icons/flags/romania.png</file>
<file>Icons/flags/russia.png</file>
<file>Icons/flags/slovakia.png</file>
<file>Icons/flags/south_korea.png</file>
<file>Icons/flags/spain.png</file> <file>Icons/flags/spain.png</file>
<file>Icons/flags/spain_catalunya.png</file> <file>Icons/flags/italy.png</file>
<file>Icons/flags/germany.png</file>
<file>Icons/flags/russia.png</file>
<file>Icons/flags/japan.png</file>
<file>Icons/flags/south_korea.png</file>
<file>Icons/flags/france.png</file>
<file>Icons/flags/sweden.png</file> <file>Icons/flags/sweden.png</file>
<file>Icons/flags/turkey.png</file> <file>Icons/flags/poland.png</file>
<file>Icons/flags/ukraine.png</file>
<file>Icons/flags/united_kingdom.png</file>
<file>Icons/skin/add.png</file>
<file>Icons/skin/connected.png</file>
<file>Icons/skin/connecting.png</file>
<file>Icons/skin/delete.png</file>
<file>Icons/skin/delete_all.png</file>
<file>Icons/skin/delete_perm.png</file>
<file>Icons/skin/disconnected.png</file>
<file>Icons/skin/downloading.png</file>
<file>Icons/skin/exit.png</file>
<file>Icons/skin/firewalled.png</file>
<file>Icons/skin/info.png</file>
<file>Icons/skin/new.png</file>
<file>Icons/skin/open.png</file>
<file>Icons/skin/pause.png</file>
<file>Icons/skin/pause_all.png</file>
<file>Icons/skin/paused.png</file>
<file>Icons/skin/play.png</file>
<file>Icons/skin/play_all.png</file>
<file>Icons/skin/preview.png</file>
<file>Icons/skin/properties.png</file>
<file>Icons/skin/qb_question.png</file>
<file>Icons/skin/remove.png</file>
<file>Icons/skin/search.png</file>
<file>Icons/skin/seeding.png</file>
<file>Icons/skin/settings.png</file>
<file>Icons/skin/stalled.png</file>
<file>Icons/skin/url.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@@ -1,29 +1,29 @@
<!DOCTYPE RCC><RCC version="1.0"> <!DOCTYPE RCC><RCC version="1.0">
<qresource> <qresource>
<file>lang/qbittorrent_bg.qm</file> <file>lang/qbittorrent_uk.qm</file>
<file>lang/qbittorrent_ca.qm</file> <file>lang/qbittorrent_tr.qm</file>
<file>lang/qbittorrent_da.qm</file> <file>lang/qbittorrent_nl.qm</file>
<file>lang/qbittorrent_de.qm</file> <file>lang/qbittorrent_de.qm</file>
<file>lang/qbittorrent_el.qm</file> <file>lang/qbittorrent_ru.qm</file>
<file>lang/qbittorrent_en.qm</file>
<file>lang/qbittorrent_es.qm</file>
<file>lang/qbittorrent_fi.qm</file>
<file>lang/qbittorrent_fr.qm</file> <file>lang/qbittorrent_fr.qm</file>
<file>lang/qbittorrent_hu.qm</file> <file>lang/qbittorrent_da.qm</file>
<file>lang/qbittorrent_it.qm</file> <file>lang/qbittorrent_fi.qm</file>
<file>lang/qbittorrent_ja.qm</file> <file>lang/qbittorrent_pl.qm</file>
<file>lang/qbittorrent_ko.qm</file> <file>lang/qbittorrent_ko.qm</file>
<file>lang/qbittorrent_nb.qm</file> <file>lang/qbittorrent_nb.qm</file>
<file>lang/qbittorrent_nl.qm</file>
<file>lang/qbittorrent_pl.qm</file>
<file>lang/qbittorrent_pt.qm</file>
<file>lang/qbittorrent_pt_BR.qm</file>
<file>lang/qbittorrent_ro.qm</file>
<file>lang/qbittorrent_ru.qm</file>
<file>lang/qbittorrent_sk.qm</file>
<file>lang/qbittorrent_sv.qm</file> <file>lang/qbittorrent_sv.qm</file>
<file>lang/qbittorrent_tr.qm</file>
<file>lang/qbittorrent_uk.qm</file>
<file>lang/qbittorrent_zh.qm</file> <file>lang/qbittorrent_zh.qm</file>
<file>lang/qbittorrent_el.qm</file>
<file>lang/qbittorrent_sk.qm</file>
<file>lang/qbittorrent_ca.qm</file>
<file>lang/qbittorrent_hu.qm</file>
<file>lang/qbittorrent_bg.qm</file>
<file>lang/qbittorrent_it.qm</file>
<file>lang/qbittorrent_pt.qm</file>
<file>lang/qbittorrent_en.qm</file>
<file>lang/qbittorrent_pt_BR.qm</file>
<file>lang/qbittorrent_ja.qm</file>
<file>lang/qbittorrent_ro.qm</file>
<file>lang/qbittorrent_es.qm</file>
</qresource> </qresource>
</RCC> </RCC>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -4601,47 +4601,47 @@ However, those plugins were disabled.</source>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

Binary file not shown.

View File

@@ -3826,47 +3826,47 @@ However, those plugins were disabled.</source>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

Binary file not shown.

View File

@@ -4884,22 +4884,22 @@ Die Plugins wurden jedoch deaktiviert.</translation>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation>Host ist unerreichbar</translation> <translation>Host ist unerreichbar</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation>Datei nicht gefunden (404)</translation> <translation>Datei nicht gefunden (404)</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation>Verbindung verweigert</translation> <translation>Verbindung verweigert</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation>URL ist ungültig</translation> <translation>URL ist ungültig</translation>
</message> </message>
@@ -4919,27 +4919,27 @@ Die Plugins wurden jedoch deaktiviert.</translation>
<translation type="obsolete">Inhalt wurde verschoben (301)</translation> <translation type="obsolete">Inhalt wurde verschoben (301)</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation>Verbindungs-Fehler</translation> <translation>Verbindungs-Fehler</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation>Verbidung wurde unterbrochen</translation> <translation>Verbidung wurde unterbrochen</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation>Falsches Netzwerk Interface</translation> <translation>Falsches Netzwerk Interface</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation>Unbekannter Fehler</translation> <translation>Unbekannter Fehler</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation>Der Proxy konnte nicht aufgelöst werden</translation> <translation>Der Proxy konnte nicht aufgelöst werden</translation>
</message> </message>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -2769,47 +2769,47 @@ However, those plugins were disabled.</source>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@@ -4131,47 +4131,47 @@ Kyseiset liitänäiset poistettiin kuitenkin käytöstä.</translation>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation>Kohdekone ei ole saavutettavissa</translation> <translation>Kohdekone ei ole saavutettavissa</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation>Tiedostoa ei löytynyt (404)</translation> <translation>Tiedostoa ei löytynyt (404)</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation>Yhteys evättiin</translation> <translation>Yhteys evättiin</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation>Osoite ei ole kelvollinen</translation> <translation>Osoite ei ole kelvollinen</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation>Yhteys epäonnistui</translation> <translation>Yhteys epäonnistui</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation>Yhteys aikakatkaistiin</translation> <translation>Yhteys aikakatkaistiin</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation>Väärä verkkoliitäntä</translation> <translation>Väärä verkkoliitäntä</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation>Tuntematon virhe</translation> <translation>Tuntematon virhe</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation>Välityspalvelimen selvittäminen epäonnistui</translation> <translation>Välityspalvelimen selvittäminen epäonnistui</translation>
</message> </message>

Binary file not shown.

View File

@@ -5101,22 +5101,22 @@ Cependant, les greffons en question ont été désactivés.</translation>
<context> <context>
<name>subDownloadThread</name> <name>subDownloadThread</name>
<message> <message>
<location filename="../downloadThread.cpp" line="34"/> <location filename="../downloadThread.cpp" line="32"/>
<source>Host is unreachable</source> <source>Host is unreachable</source>
<translation>L&apos;hôte distant est injoignable</translation> <translation>L&apos;hôte distant est injoignable</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="37"/> <location filename="../downloadThread.cpp" line="35"/>
<source>File was not found (404)</source> <source>File was not found (404)</source>
<translation>Fichier non trouvé (404)</translation> <translation>Fichier non trouvé (404)</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="41"/> <location filename="../downloadThread.cpp" line="39"/>
<source>Connection was denied</source> <source>Connection was denied</source>
<translation>Connexion refusée</translation> <translation>Connexion refusée</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="43"/> <location filename="../downloadThread.cpp" line="41"/>
<source>Url is invalid</source> <source>Url is invalid</source>
<translation>Url invalide</translation> <translation>Url invalide</translation>
</message> </message>
@@ -5136,27 +5136,27 @@ Cependant, les greffons en question ont été désactivés.</translation>
<translation type="obsolete">Le contenu a été déplacé (301)</translation> <translation type="obsolete">Le contenu a été déplacé (301)</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="53"/> <location filename="../downloadThread.cpp" line="51"/>
<source>Connection failure</source> <source>Connection failure</source>
<translation>Echec de la connexion</translation> <translation>Echec de la connexion</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="55"/> <location filename="../downloadThread.cpp" line="53"/>
<source>Connection was timed out</source> <source>Connection was timed out</source>
<translation>Délai de connexion dépassé</translation> <translation>Délai de connexion dépassé</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="57"/> <location filename="../downloadThread.cpp" line="55"/>
<source>Incorrect network interface</source> <source>Incorrect network interface</source>
<translation>Interface réseau incorrecte</translation> <translation>Interface réseau incorrecte</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="59"/> <location filename="../downloadThread.cpp" line="57"/>
<source>Unknown error</source> <source>Unknown error</source>
<translation>Erreur inconnue</translation> <translation>Erreur inconnue</translation>
</message> </message>
<message> <message>
<location filename="../downloadThread.cpp" line="45"/> <location filename="../downloadThread.cpp" line="43"/>
<source>Could not resolve proxy</source> <source>Could not resolve proxy</source>
<translation>Impossible de résoudre le nom du serveur mandataire</translation> <translation>Impossible de résoudre le nom du serveur mandataire</translation>
</message> </message>

Binary file not shown.

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