You've already forked qBittorrent
							
							
				mirror of
				https://github.com/qbittorrent/qBittorrent
				synced 2025-10-30 23:30:54 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			release-1.
			...
			release-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 7046915031 | 
| @@ -1,7 +1,4 @@ | ||||
| * Fri Aug 01 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.1.1 | ||||
|     - BUGFIX: Fixed bad resource file for icons | ||||
|  | ||||
| * Fri Aug 01 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.1.0 | ||||
| * Unknown - Christophe Dumez <chris@qbittorrent.org> - v1.1.0 | ||||
|     - FEATURE: Web interface to control qbittorrent (Ishan Arora) | ||||
|     - FEATURE: Can spoof Azureus peer id to avoid ban | ||||
|     - FEATURE: Allow to hide/show some columns in download and seeding lists | ||||
|   | ||||
							
								
								
									
										1
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								INSTALL
									
									
									
									
									
								
							| @@ -18,6 +18,7 @@ Dependencies: | ||||
|   Qt >= 4.4.0 is advised | ||||
|  | ||||
| - libtorrent-rasterbar by Arvid Norberg (>= v0.13.1 REQUIRED) | ||||
|     -> http://www.qbittorrent.org/download.php (advised) | ||||
|     -> http://www.libtorrent.net | ||||
|     Be careful: another library (the one used by rTorrent) uses a similar name. | ||||
|  | ||||
|   | ||||
							
								
								
									
										40
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								TODO
									
									
									
									
									
								
							| @@ -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 | ||||
| - Chinese | ||||
| - Polish | ||||
| @@ -15,8 +46,3 @@ Translations updated in v1.1.0: | ||||
| - Korean | ||||
| - Hungarian | ||||
| - German | ||||
| - Spanish | ||||
| - Russian | ||||
| - Dutch | ||||
| - Bulgarian | ||||
| - Greek | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| [Desktop Entry] | ||||
| Categories=Qt;Network;P2P | ||||
| Comment=V1.1.1 | ||||
| Exec=qbittorrent %f | ||||
| Categories=Qt;Application;Network;P2P | ||||
| Comment=V1.1.0 | ||||
| Exec=qbittorrent | ||||
| GenericName=Bittorrent client | ||||
| GenericName[bg]=Торент клиент | ||||
| GenericName[de]=Bittorren Client | ||||
| @@ -19,7 +19,7 @@ GenericName[tr]=Bittorrent istemcisi | ||||
| GenericName[uk]=Bittorrent-клієнт | ||||
| GenericName[zh]=Bittorrent之用户 | ||||
| Icon=qbittorrent | ||||
| MimeType=application/x-bittorrent; | ||||
| MimeType=application/x-bittorrent | ||||
| Name=qBittorrent | ||||
| Name[ko]=큐비토런트 | ||||
| Terminal=false | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 75 KiB | 
| @@ -58,7 +58,7 @@ class about : public QDialog, private Ui::AboutDlg{ | ||||
|           - <u>Catalan:</u> Gekko Dam Beer (gekko04@users.sourceforge.net)<br>\ | ||||
|           - <u>Chinese (Simplified):</u> Guo Yue (guoyue0418@hotmail.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>German:</u> Niels Hoffmann (zentralmaschine@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>Portuguese:</u> Nick Marinho (nickmarinho@gmail.com)<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>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>Turkish:</u> Erdem Bingöl (erdem84@gmail.com)<br>\ | ||||
|           - <u>Ukrainian:</u> Andrey Shpachenko (masterfix@users.sourceforge.net)<br><br>")); | ||||
|   | ||||
| @@ -30,7 +30,6 @@ | ||||
| #include <QHttpResponseHeader> | ||||
| #include <QFile> | ||||
| #include <QDebug> | ||||
| #include <QTemporaryFile> | ||||
|  | ||||
| HttpConnection::HttpConnection(QTcpSocket *socket, HttpServer *parent) | ||||
| 	: QObject(parent), socket(socket), parent(parent) | ||||
| @@ -46,17 +45,11 @@ HttpConnection::~HttpConnection() | ||||
|  | ||||
| void HttpConnection::read() | ||||
| { | ||||
| 	QByteArray input = socket->readAll(); | ||||
| 	QString input = socket->readAll(); | ||||
| 	qDebug(" -------"); | ||||
| 	qDebug("|REQUEST|"); | ||||
| 	qDebug(" -------"); | ||||
| 	//qDebug("%s", input.toAscii().constData()); | ||||
| 	if(input.size() > 100000) { | ||||
| 		qDebug("Request too big"); | ||||
| 		generator.setStatusLine(400, "Bad Request"); | ||||
| 		write(); | ||||
| 		return; | ||||
| 	} | ||||
| 	qDebug("%s", input.toAscii().constData()); | ||||
| 	parser.write(input); | ||||
| 	if(parser.isError()) | ||||
| 	{ | ||||
| @@ -81,7 +74,6 @@ void HttpConnection::write() | ||||
|  | ||||
| void HttpConnection::respond() | ||||
| { | ||||
| 	qDebug("Respond called"); | ||||
| 	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())) | ||||
| 	{ | ||||
| @@ -184,25 +176,6 @@ void HttpConnection::respondCommand(QString command) | ||||
| 		emit urlsReadyToBeDownloaded(url_list_cleaned); | ||||
| 		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") | ||||
| 	{ | ||||
| 		emit resumeAllTorrents(); | ||||
|   | ||||
| @@ -57,7 +57,6 @@ class HttpConnection : public QObject | ||||
|  | ||||
| 	signals: | ||||
| 		void urlsReadyToBeDownloaded(const QStringList&); | ||||
| 		void torrentReadyToBeDownloaded(QString, bool, QString, bool); | ||||
| 		void deleteTorrent(QString hash); | ||||
| 		void resumeTorrent(QString hash); | ||||
| 		void pauseTorrent(QString hash); | ||||
|   | ||||
| @@ -49,11 +49,11 @@ QString HttpRequestParser::url() const | ||||
| 	return path; | ||||
| } | ||||
|  | ||||
| QByteArray HttpRequestParser::message() const | ||||
| QString HttpRequestParser::message() const | ||||
| { | ||||
| 	if(isParsable()) | ||||
| 		return data; | ||||
| 	return QByteArray(); | ||||
| 	return QString(); | ||||
| } | ||||
|  | ||||
| QString HttpRequestParser::get(const QString key) const | ||||
| @@ -66,12 +66,7 @@ QString HttpRequestParser::post(const QString key) const | ||||
| 	return postMap[key]; | ||||
| } | ||||
|  | ||||
| QByteArray HttpRequestParser::torrent() const | ||||
| { | ||||
| 	return torrent_content; | ||||
| } | ||||
|  | ||||
| void HttpRequestParser::write(QByteArray str) | ||||
| void HttpRequestParser::write(QString str) | ||||
| { | ||||
| 	while (!headerDone && str.size()>0) | ||||
| 	{ | ||||
| @@ -116,7 +111,7 @@ void HttpRequestParser::write(QByteArray str) | ||||
| 				if(contentType() == "application/x-www-form-urlencoded") | ||||
| 				{ | ||||
| 					QUrl url; | ||||
| 					url.setEncodedQuery(data); | ||||
| 					url.setEncodedQuery(data.toAscii()); | ||||
| 					QListIterator<QPair<QString, QString> > i(url.queryItems()); | ||||
| 					while (i.hasNext()) | ||||
| 					{ | ||||
| @@ -125,15 +120,9 @@ void HttpRequestParser::write(QByteArray str) | ||||
| 						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 | ||||
| 			error = true; | ||||
| 	} | ||||
| 	qDebug() << "isError: " << isError(); | ||||
| } | ||||
|   | ||||
| @@ -30,11 +30,10 @@ class HttpRequestParser : public QHttpRequestHeader | ||||
| 		bool headerDone; | ||||
| 		bool messageDone; | ||||
| 		bool error; | ||||
| 		QByteArray data; | ||||
| 		QString data; | ||||
| 		QString path; | ||||
| 		QMap<QString, QString> postMap; | ||||
| 		QMap<QString, QString> getMap; | ||||
| 		QByteArray torrent_content; | ||||
|  | ||||
| 	public: | ||||
| 		HttpRequestParser(); | ||||
| @@ -42,11 +41,10 @@ class HttpRequestParser : public QHttpRequestHeader | ||||
| 		bool isParsable() const; | ||||
| 		bool isError() const; | ||||
| 		QString url() const; | ||||
| 		QByteArray message() const; | ||||
| 		QString message() const; | ||||
| 		QString get(const QString key) const; | ||||
| 		QString post(const QString key) const; | ||||
| 		QByteArray torrent() const; | ||||
| 		void write(QByteArray str); | ||||
| 		void write(QString str); | ||||
| }; | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -62,7 +62,6 @@ void HttpServer::newHttpConnection() | ||||
| 		HttpConnection *connection = new HttpConnection(socket, this); | ||||
| 		//connect connection to BTSession | ||||
| 		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(pauseTorrent(QString)), BTSession, SLOT(pauseTorrent(QString))); | ||||
| 		connect(connection, SIGNAL(resumeTorrent(QString)), BTSession, SLOT(resumeTorrent(QString))); | ||||
|   | ||||
							
								
								
									
										184
									
								
								src/icons.qrc
									
									
									
									
									
								
							
							
						
						
									
										184
									
								
								src/icons.qrc
									
									
									
									
									
								
							| @@ -1,106 +1,106 @@ | ||||
| <!DOCTYPE RCC><RCC version="1.0"> | ||||
| <qresource> | ||||
|   <file>Icons/add_file.png</file> | ||||
|   <file>Icons/add_folder.png</file> | ||||
|   <file>Icons/bt_settings.png</file> | ||||
|   <file>Icons/button_cancel.png</file> | ||||
|   <file>Icons/button_ok.png</file> | ||||
|   <file>Icons/folder.png</file> | ||||
|   <file>Icons/qbittorrent32.png</file> | ||||
|   <file>Icons/file.png</file> | ||||
|   <file>Icons/smile.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/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/time.png</file> | ||||
|   <file>Icons/unavailable.png</file> | ||||
|   <file>Icons/unhappy.png</file> | ||||
|   <file>Icons/unsubscribe.png</file> | ||||
|   <file>Icons/unsubscribe16.png</file> | ||||
|   <file>Icons/uparrow.png</file> | ||||
|   <file>Icons/url.png</file> | ||||
|   <file>Icons/sphere.png</file> | ||||
|   <file>Icons/add_folder.png</file> | ||||
|   <file>Icons/button_cancel.png</file> | ||||
|   <file>Icons/encrypted.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/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/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/italy.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/greece.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/turkey.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> | ||||
|   <file>Icons/flags/poland.png</file> | ||||
| </qresource> | ||||
| </RCC> | ||||
							
								
								
									
										38
									
								
								src/lang.qrc
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/lang.qrc
									
									
									
									
									
								
							| @@ -1,29 +1,29 @@ | ||||
| <!DOCTYPE RCC><RCC version="1.0"> | ||||
| <qresource> | ||||
|   <file>lang/qbittorrent_bg.qm</file> | ||||
|   <file>lang/qbittorrent_ca.qm</file> | ||||
|   <file>lang/qbittorrent_da.qm</file> | ||||
|   <file>lang/qbittorrent_uk.qm</file> | ||||
|   <file>lang/qbittorrent_tr.qm</file> | ||||
|   <file>lang/qbittorrent_nl.qm</file> | ||||
|   <file>lang/qbittorrent_de.qm</file> | ||||
|   <file>lang/qbittorrent_el.qm</file> | ||||
|   <file>lang/qbittorrent_en.qm</file> | ||||
|   <file>lang/qbittorrent_es.qm</file> | ||||
|   <file>lang/qbittorrent_fi.qm</file> | ||||
|   <file>lang/qbittorrent_ru.qm</file> | ||||
|   <file>lang/qbittorrent_fr.qm</file> | ||||
|   <file>lang/qbittorrent_hu.qm</file> | ||||
|   <file>lang/qbittorrent_it.qm</file> | ||||
|   <file>lang/qbittorrent_ja.qm</file> | ||||
|   <file>lang/qbittorrent_da.qm</file> | ||||
|   <file>lang/qbittorrent_fi.qm</file> | ||||
|   <file>lang/qbittorrent_pl.qm</file> | ||||
|   <file>lang/qbittorrent_ko.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_tr.qm</file> | ||||
|   <file>lang/qbittorrent_uk.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> | ||||
| </RCC> | ||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -4601,47 +4601,47 @@ However, those plugins were disabled.</source> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -3826,47 +3826,47 @@ However, those plugins were disabled.</source> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -4884,22 +4884,22 @@ Die Plugins wurden jedoch deaktiviert.</translation> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation>Host ist unerreichbar</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation>Datei nicht gefunden (404)</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation>Verbindung verweigert</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation>URL ist ungültig</translation> | ||||
|     </message> | ||||
| @@ -4919,27 +4919,27 @@ Die Plugins wurden jedoch deaktiviert.</translation> | ||||
|         <translation type="obsolete">Inhalt wurde verschoben (301)</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation>Verbindungs-Fehler</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation>Verbidung wurde unterbrochen</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation>Falsches Netzwerk Interface</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation>Unbekannter Fehler</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation>Der Proxy konnte nicht aufgelöst werden</translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -2769,47 +2769,47 @@ However, those plugins were disabled.</source> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation type="unfinished"></translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| @@ -4131,47 +4131,47 @@ Kyseiset liitänäiset poistettiin kuitenkin käytöstä.</translation> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation>Kohdekone ei ole saavutettavissa</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation>Tiedostoa ei löytynyt (404)</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation>Yhteys evättiin</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation>Osoite ei ole kelvollinen</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation>Yhteys epäonnistui</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation>Yhteys aikakatkaistiin</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation>Väärä verkkoliitäntä</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation>Tuntematon virhe</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation>Välityspalvelimen selvittäminen epäonnistui</translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							| @@ -5101,22 +5101,22 @@ Cependant, les greffons en question ont été désactivés.</translation> | ||||
| <context> | ||||
|     <name>subDownloadThread</name> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="34"/> | ||||
|         <location filename="../downloadThread.cpp" line="32"/> | ||||
|         <source>Host is unreachable</source> | ||||
|         <translation>L'hôte distant est injoignable</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="37"/> | ||||
|         <location filename="../downloadThread.cpp" line="35"/> | ||||
|         <source>File was not found (404)</source> | ||||
|         <translation>Fichier non trouvé (404)</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <location filename="../downloadThread.cpp" line="39"/> | ||||
|         <source>Connection was denied</source> | ||||
|         <translation>Connexion refusée</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <location filename="../downloadThread.cpp" line="41"/> | ||||
|         <source>Url is invalid</source> | ||||
|         <translation>Url invalide</translation> | ||||
|     </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> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <location filename="../downloadThread.cpp" line="51"/> | ||||
|         <source>Connection failure</source> | ||||
|         <translation>Echec de la connexion</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <location filename="../downloadThread.cpp" line="53"/> | ||||
|         <source>Connection was timed out</source> | ||||
|         <translation>Délai de connexion dépassé</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <location filename="../downloadThread.cpp" line="55"/> | ||||
|         <source>Incorrect network interface</source> | ||||
|         <translation>Interface réseau incorrecte</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="59"/> | ||||
|         <location filename="../downloadThread.cpp" line="57"/> | ||||
|         <source>Unknown error</source> | ||||
|         <translation>Erreur inconnue</translation> | ||||
|     </message> | ||||
|     <message> | ||||
|         <location filename="../downloadThread.cpp" line="45"/> | ||||
|         <location filename="../downloadThread.cpp" line="43"/> | ||||
|         <source>Could not resolve proxy</source> | ||||
|         <translation>Impossible de résoudre le nom du serveur mandataire</translation> | ||||
|     </message> | ||||
|   | ||||
										
											Binary file not shown.
										
									
								
							Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user