You've already forked qBittorrent
							
							
				mirror of
				https://github.com/qbittorrent/qBittorrent
				synced 2025-11-02 08:10:54 +01:00 
			
		
		
		
	Compare commits
	
		
			3 Commits
		
	
	
		
			release-1.
			...
			release-1.
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					7d565e7f97 | ||
| 
						 | 
					b1f15e8714 | ||
| 
						 | 
					1512630757 | 
@@ -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
 | 
				
			||||||
@@ -30,7 +27,6 @@
 | 
				
			|||||||
    - COSMETIC: Display "unpaused/total_torrent" in download/upload tabs
 | 
					    - COSMETIC: Display "unpaused/total_torrent" in download/upload tabs
 | 
				
			||||||
    - COSMETIC: Allow to resize RSS column
 | 
					    - COSMETIC: Allow to resize RSS column
 | 
				
			||||||
    - COSMETIC: Global UP/DL speeds and ratio are displayed above tabs
 | 
					    - COSMETIC: Global UP/DL speeds and ratio are displayed above tabs
 | 
				
			||||||
    - COSMETIC: Use infinity symbol for ETA when time is infinite
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
* Fri Apr 11 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.0.0
 | 
					* Fri Apr 11 2008 - Christophe Dumez <chris@qbittorrent.org> - v1.0.0
 | 
				
			||||||
    - FEATURE: Based on new libtorrent v0.13
 | 
					    - FEATURE: Based on new libtorrent v0.13
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								INSTALL
									
									
									
									
									
								
							@@ -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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										57
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										57
									
								
								TODO
									
									
									
									
									
								
							@@ -1,22 +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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// 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?
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// in v1.1.0
 | 
				
			||||||
 | 
					- Stop calculating ETAs when ETA column is hidden
 | 
				
			||||||
 | 
					-> See https://blueprints.launchpad.net/qbittorrent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Translations updated in v1.1.0:
 | 
					 | 
				
			||||||
- French
 | 
					 | 
				
			||||||
- Chinese
 | 
					 | 
				
			||||||
- Polish
 | 
					 | 
				
			||||||
- Portuguese
 | 
					 | 
				
			||||||
- Brazilian
 | 
					 | 
				
			||||||
- Slovak
 | 
					 | 
				
			||||||
- Swedish
 | 
					 | 
				
			||||||
- Romanian
 | 
					 | 
				
			||||||
- Finnish
 | 
					 | 
				
			||||||
- Italian
 | 
					 | 
				
			||||||
- Turkish
 | 
					 | 
				
			||||||
- Korean
 | 
					 | 
				
			||||||
- Hungarian
 | 
					 | 
				
			||||||
- German
 | 
					 | 
				
			||||||
- Spanish
 | 
					 | 
				
			||||||
- Russian
 | 
					 | 
				
			||||||
- Dutch
 | 
					 | 
				
			||||||
- Bulgarian
 | 
					 | 
				
			||||||
- Greek
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -247,7 +247,7 @@ void FinishedTorrents::updateFinishedList(){
 | 
				
			|||||||
      if (reponse == QMessageBox::Yes) {
 | 
					      if (reponse == QMessageBox::Yes) {
 | 
				
			||||||
        qDebug("Info: a torrent was moved from finished to download tab");
 | 
					        qDebug("Info: a torrent was moved from finished to download tab");
 | 
				
			||||||
        deleteTorrent(hash);
 | 
					        deleteTorrent(hash);
 | 
				
			||||||
        BTSession->setUnfinishedTorrent(hash);
 | 
					        BTSession->setFinishedTorrent(hash);
 | 
				
			||||||
        emit torrentMovedFromFinishedList(hash);
 | 
					        emit torrentMovedFromFinishedList(hash);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      else if (reponse == QMessageBox::No) {
 | 
					      else if (reponse == QMessageBox::No) {
 | 
				
			||||||
@@ -394,7 +394,7 @@ void FinishedTorrents::displayFinishedListMenu(const QPoint& pos){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  // Call menu
 | 
					  // Call menu
 | 
				
			||||||
  // XXX: why mapToGlobal() is not enough?
 | 
					  // XXX: why mapToGlobal() is not enough?
 | 
				
			||||||
  myFinishedListMenu.exec(mapToGlobal(pos)+QPoint(10,59));
 | 
					  myFinishedListMenu.exec(mapToGlobal(pos)+QPoint(10,55));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -410,7 +410,7 @@ void FinishedTorrents::displayFinishedHoSMenu(const QPoint& pos){
 | 
				
			|||||||
    hideshowColumn.addAction(getActionHoSCol(i));
 | 
					    hideshowColumn.addAction(getActionHoSCol(i));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  // Call menu
 | 
					  // Call menu
 | 
				
			||||||
  hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,32));
 | 
					  hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,55));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// toggle hide/show a column
 | 
					// toggle hide/show a column
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1461,9 +1461,9 @@ bool GUI::initWebUi(QString username, QString password, int port)
 | 
				
			|||||||
  httpServer->setAuthorization(username, password);
 | 
					  httpServer->setAuthorization(username, password);
 | 
				
			||||||
  bool success = httpServer->listen(QHostAddress::Any, port);
 | 
					  bool success = httpServer->listen(QHostAddress::Any, port);
 | 
				
			||||||
  if (success)
 | 
					  if (success)
 | 
				
			||||||
    qDebug("Web UI listening on port %d", port);
 | 
					    qDebug()<<"Web UI listening on port "<<port;
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    QMessageBox::critical(this, "Web User Interface Error", "Unable to initialize HTTP Server on port " + misc::toQString(port));
 | 
					    QMessageBox::critical(this, "Web User Interface Error", "Unable to initialize HTTP Server on port " + port);
 | 
				
			||||||
  return success;
 | 
					  return success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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  | 
@@ -41,7 +41,6 @@ SearchTab::SearchTab(SearchEngine *parent) : QWidget()
 | 
				
			|||||||
    box=new QVBoxLayout();
 | 
					    box=new QVBoxLayout();
 | 
				
			||||||
    results_lbl=new QLabel();
 | 
					    results_lbl=new QLabel();
 | 
				
			||||||
    resultsBrowser = new QTreeView();
 | 
					    resultsBrowser = new QTreeView();
 | 
				
			||||||
    resultsBrowser->setSelectionMode(QAbstractItemView::ExtendedSelection);
 | 
					 | 
				
			||||||
    box->addWidget(results_lbl);
 | 
					    box->addWidget(results_lbl);
 | 
				
			||||||
    box->addWidget(resultsBrowser);
 | 
					    box->addWidget(resultsBrowser);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@@ -187,4 +186,3 @@ bool SearchTab::loadColWidthSearchList(){
 | 
				
			|||||||
  qDebug("Search list columns width loaded");
 | 
					  qDebug("Search list columns width loaded");
 | 
				
			||||||
  return true;
 | 
					  return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,7 +44,7 @@ class about : public QDialog, private Ui::AboutDlg{
 | 
				
			|||||||
      // Thanks
 | 
					      // Thanks
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<a name='top'></a>"));
 | 
					      te_thanks->append(QString::fromUtf8("<a name='top'></a>"));
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li>"));
 | 
					      te_thanks->append(QString::fromUtf8("<ul><li>I would like to thank sourceforge.net for hosting qBittorrent project.</li>"));
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<li>I am happy that Ishan Arora and Arnaud Demaizière are contributing to the project as developers. Their help is greatly appreciated</li>"));
 | 
					      te_thanks->append(QString::fromUtf8("<li>I am happy that Arnaud Demaizière is contributing to the project as a developer. His help is greatly appreciated</li>"));
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<li>I also want to thank Jeffery Fernandez (jeffery@qbittorrent.org), project consultant, RPM packager, for his help and support.</li>"));
 | 
					      te_thanks->append(QString::fromUtf8("<li>I also want to thank Jeffery Fernandez (jeffery@qbittorrent.org), project consultant, RPM packager, for his help and support.</li>"));
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<li>I am grateful to Peter Koeleman (peter@qbittorrent.org) who is helping port qBittorrent to Windows.</li>"));
 | 
					      te_thanks->append(QString::fromUtf8("<li>I am grateful to Peter Koeleman (peter@qbittorrent.org) who is helping port qBittorrent to Windows.</li>"));
 | 
				
			||||||
      te_thanks->append(QString::fromUtf8("<li>Thanks a lot to our graphist Mateusz Toboła (tobejodok@qbittorrent.org) for his great work.</li></ul><br><br>"));
 | 
					      te_thanks->append(QString::fromUtf8("<li>Thanks a lot to our graphist Mateusz Toboła (tobejodok@qbittorrent.org) for his great work.</li></ul><br><br>"));
 | 
				
			||||||
@@ -58,11 +58,11 @@ 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>\
 | 
				
			||||||
          - <u>Hungarian:</u> Majoros Péter (majoros.peterj@gmail.com)<br>\
 | 
					          - <u>Hungarian:</u> Majoros Péter (majoros.j.p@t-online.hu)<br>\
 | 
				
			||||||
          - <u>Italian:</u> Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com)<br>\
 | 
					          - <u>Italian:</u> Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com)<br>\
 | 
				
			||||||
          - <u>Japanese:</u> Nardog (nardog@e2umail.com)<br>\
 | 
					          - <u>Japanese:</u> Nardog (nardog@e2umail.com)<br>\
 | 
				
			||||||
          - <u>Korean:</u> Jin Woo Sin (jin828sin@users.sourceforge.net)<br>\
 | 
					          - <u>Korean:</u> Jin Woo Sin (jin828sin@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>"));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -234,7 +234,7 @@ class arborescence {
 | 
				
			|||||||
    void addFile(QString path, size_type file_size, int index, float progress=0., int priority=1) {
 | 
					    void addFile(QString path, size_type file_size, int index, float progress=0., int priority=1) {
 | 
				
			||||||
      Q_ASSERT(root->isDir());
 | 
					      Q_ASSERT(root->isDir());
 | 
				
			||||||
      path = QDir::cleanPath(path);
 | 
					      path = QDir::cleanPath(path);
 | 
				
			||||||
      //Q_ASSERT(path.startsWith(root->path()));
 | 
					      Q_ASSERT(path.startsWith(root->path()));
 | 
				
			||||||
      QString relative_path = path.remove(0, root->path().size());
 | 
					      QString relative_path = path.remove(0, root->path().size());
 | 
				
			||||||
      if(relative_path.at(0) ==QDir::separator())
 | 
					      if(relative_path.at(0) ==QDir::separator())
 | 
				
			||||||
        relative_path.remove(0, 1);
 | 
					        relative_path.remove(0, 1);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,8 +24,6 @@
 | 
				
			|||||||
#include <QSettings>
 | 
					#include <QSettings>
 | 
				
			||||||
#include <stdio.h>
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define MAX_THREADS 3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// http://curl.rtin.bz/libcurl/c/libcurl-errors.html
 | 
					// http://curl.rtin.bz/libcurl/c/libcurl-errors.html
 | 
				
			||||||
QString subDownloadThread::errorCodeToString(CURLcode status) {
 | 
					QString subDownloadThread::errorCodeToString(CURLcode status) {
 | 
				
			||||||
  switch(status){
 | 
					  switch(status){
 | 
				
			||||||
@@ -152,7 +150,9 @@ downloadThread::~downloadThread(){
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void downloadThread::downloadUrl(QString url){
 | 
					void downloadThread::downloadUrl(QString url){
 | 
				
			||||||
  QMutexLocker locker(&mutex);
 | 
					  QMutexLocker locker(&mutex);
 | 
				
			||||||
  urls_queue.enqueue(url);
 | 
					  if(downloading_list.contains(url)) return;
 | 
				
			||||||
 | 
					  url_list << url;
 | 
				
			||||||
 | 
					  downloading_list << url;
 | 
				
			||||||
  if(!isRunning()){
 | 
					  if(!isRunning()){
 | 
				
			||||||
    start();
 | 
					    start();
 | 
				
			||||||
  }else{
 | 
					  }else{
 | 
				
			||||||
@@ -165,8 +165,8 @@ void downloadThread::run(){
 | 
				
			|||||||
    if(abort)
 | 
					    if(abort)
 | 
				
			||||||
      return;
 | 
					      return;
 | 
				
			||||||
    mutex.lock();
 | 
					    mutex.lock();
 | 
				
			||||||
    if(!urls_queue.empty() && subThreads.size() < MAX_THREADS){
 | 
					    if(url_list.size() != 0){
 | 
				
			||||||
      QString url = urls_queue.dequeue();
 | 
					      QString url = url_list.takeFirst();
 | 
				
			||||||
      mutex.unlock();
 | 
					      mutex.unlock();
 | 
				
			||||||
      subDownloadThread *st = new subDownloadThread(0, url);
 | 
					      subDownloadThread *st = new subDownloadThread(0, url);
 | 
				
			||||||
      subThreads << st;
 | 
					      subThreads << st;
 | 
				
			||||||
@@ -187,9 +187,9 @@ void downloadThread::propagateDownloadedFile(subDownloadThread* st, QString url,
 | 
				
			|||||||
  delete st;
 | 
					  delete st;
 | 
				
			||||||
  emit downloadFinished(url, path);
 | 
					  emit downloadFinished(url, path);
 | 
				
			||||||
  mutex.lock();
 | 
					  mutex.lock();
 | 
				
			||||||
  if(!urls_queue.empty()) {
 | 
					  index = downloading_list.indexOf(url);
 | 
				
			||||||
    condition.wakeOne();
 | 
					  Q_ASSERT(index != -1);
 | 
				
			||||||
  }
 | 
					  downloading_list.removeAt(index);
 | 
				
			||||||
  mutex.unlock();
 | 
					  mutex.unlock();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -200,8 +200,8 @@ void downloadThread::propagateDownloadFailure(subDownloadThread* st, QString url
 | 
				
			|||||||
  delete st;
 | 
					  delete st;
 | 
				
			||||||
  emit downloadFailure(url, reason);
 | 
					  emit downloadFailure(url, reason);
 | 
				
			||||||
  mutex.lock();
 | 
					  mutex.lock();
 | 
				
			||||||
  if(!urls_queue.empty()) {
 | 
					  index = downloading_list.indexOf(url);
 | 
				
			||||||
    condition.wakeOne();
 | 
					  Q_ASSERT(index != -1);
 | 
				
			||||||
  }
 | 
					  downloading_list.removeAt(index);
 | 
				
			||||||
  mutex.unlock();
 | 
					  mutex.unlock();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -30,7 +30,6 @@
 | 
				
			|||||||
#include <QWaitCondition>
 | 
					#include <QWaitCondition>
 | 
				
			||||||
#include <QStringList>
 | 
					#include <QStringList>
 | 
				
			||||||
#include <curl/curl.h>
 | 
					#include <curl/curl.h>
 | 
				
			||||||
#include <QQueue>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class subDownloadThread : public QThread {
 | 
					class subDownloadThread : public QThread {
 | 
				
			||||||
  Q_OBJECT
 | 
					  Q_OBJECT
 | 
				
			||||||
@@ -56,7 +55,8 @@ class downloadThread : public QThread {
 | 
				
			|||||||
  Q_OBJECT
 | 
					  Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  private:
 | 
					  private:
 | 
				
			||||||
    QQueue<QString> urls_queue;
 | 
					    QStringList url_list;
 | 
				
			||||||
 | 
					    QStringList downloading_list;
 | 
				
			||||||
    QMutex mutex;
 | 
					    QMutex mutex;
 | 
				
			||||||
    QWaitCondition condition;
 | 
					    QWaitCondition condition;
 | 
				
			||||||
    bool abort;
 | 
					    bool abort;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -311,7 +311,7 @@ void DownloadingTorrents::displayDLListMenu(const QPoint& pos) {
 | 
				
			|||||||
  myDLLlistMenu.addAction(actionBuy_it);
 | 
					  myDLLlistMenu.addAction(actionBuy_it);
 | 
				
			||||||
  // Call menu
 | 
					  // Call menu
 | 
				
			||||||
  // XXX: why mapToGlobal() is not enough?
 | 
					  // XXX: why mapToGlobal() is not enough?
 | 
				
			||||||
  myDLLlistMenu.exec(mapToGlobal(pos)+QPoint(10,35));
 | 
					  myDLLlistMenu.exec(mapToGlobal(pos)+QPoint(10,60));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -327,7 +327,7 @@ void DownloadingTorrents::displayDLHoSMenu(const QPoint& pos){
 | 
				
			|||||||
    hideshowColumn.addAction(getActionHoSCol(i));
 | 
					    hideshowColumn.addAction(getActionHoSCol(i));
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  // Call menu
 | 
					  // Call menu
 | 
				
			||||||
  hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,10));
 | 
					  hideshowColumn.exec(mapToGlobal(pos)+QPoint(10,55));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// toggle hide/show a column
 | 
					// toggle hide/show a column
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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())
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
@@ -71,17 +64,16 @@ void HttpConnection::read()
 | 
				
			|||||||
void HttpConnection::write()
 | 
					void HttpConnection::write()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	QByteArray output = generator.toByteArray();
 | 
						QByteArray output = generator.toByteArray();
 | 
				
			||||||
	/*qDebug(" --------");
 | 
						qDebug(" --------");
 | 
				
			||||||
	qDebug("|RESPONSE|");
 | 
						qDebug("|RESPONSE|");
 | 
				
			||||||
	qDebug(" --------");
 | 
						qDebug(" --------");
 | 
				
			||||||
	qDebug()<<output;*/
 | 
						qDebug()<<output;
 | 
				
			||||||
	socket->write(output);
 | 
						socket->write(output);
 | 
				
			||||||
	socket->disconnectFromHost();
 | 
						socket->disconnectFromHost();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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();
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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();
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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)));
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										184
									
								
								src/icons.qrc
									
									
									
									
									
								
							
							
						
						
									
										184
									
								
								src/icons.qrc
									
									
									
									
									
								
							@@ -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>
 | 
				
			||||||
							
								
								
									
										38
									
								
								src/lang.qrc
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								src/lang.qrc
									
									
									
									
									
								
							@@ -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.
										
									
								
							@@ -2738,12 +2738,12 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
        <translation type="obsolete">Motor per cercar</translation>
 | 
					        <translation type="obsolete">Motor per cercar</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Empty search pattern</source>
 | 
					        <source>Empty search pattern</source>
 | 
				
			||||||
        <translation type="unfinished">Busqueda pare buida</translation>
 | 
					        <translation type="unfinished">Busqueda pare buida</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Please type a search pattern first</source>
 | 
					        <source>Please type a search pattern first</source>
 | 
				
			||||||
        <translation type="unfinished">Si us plau introduïu una busqueda pare primer</translation>
 | 
					        <translation type="unfinished">Si us plau introduïu una busqueda pare primer</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2753,12 +2753,12 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
        <translation type="obsolete">Has de seleccionar un motor de busqueda.</translation>
 | 
					        <translation type="obsolete">Has de seleccionar un motor de busqueda.</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="231"/>
 | 
					        <location filename="../searchEngine.cpp" line="226"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <translation type="unfinished">Resultats</translation>
 | 
					        <translation type="unfinished">Resultats</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="194"/>
 | 
					        <location filename="../searchEngine.cpp" line="189"/>
 | 
				
			||||||
        <source>Searching...</source>
 | 
					        <source>Searching...</source>
 | 
				
			||||||
        <translation type="unfinished">Cercant...</translation>
 | 
					        <translation type="unfinished">Cercant...</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2799,38 +2799,38 @@ Log:
 | 
				
			|||||||
        <translation type="obsolete">El teu plugin de recerca torna a estar actualitzat.</translation>
 | 
					        <translation type="obsolete">El teu plugin de recerca torna a estar actualitzat.</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="303"/>
 | 
					        <location filename="../searchEngine.cpp" line="298"/>
 | 
				
			||||||
        <source>Search Engine</source>
 | 
					        <source>Search Engine</source>
 | 
				
			||||||
        <translation type="unfinished">Motor de Busqueda</translation>
 | 
					        <translation type="unfinished">Motor de Busqueda</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="314"/>
 | 
					        <location filename="../searchEngine.cpp" line="309"/>
 | 
				
			||||||
        <source>Search has finished</source>
 | 
					        <source>Search has finished</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="306"/>
 | 
					        <location filename="../searchEngine.cpp" line="301"/>
 | 
				
			||||||
        <source>An error occured during search...</source>
 | 
					        <source>An error occured during search...</source>
 | 
				
			||||||
        <translation type="unfinished">Hi ha hagut un error durant la recerca...</translation>
 | 
					        <translation type="unfinished">Hi ha hagut un error durant la recerca...</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="309"/>
 | 
					        <location filename="../searchEngine.cpp" line="304"/>
 | 
				
			||||||
        <source>Search aborted</source>
 | 
					        <source>Search aborted</source>
 | 
				
			||||||
        <translation type="unfinished">Recerca abortada</translation>
 | 
					        <translation type="unfinished">Recerca abortada</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="312"/>
 | 
					        <location filename="../searchEngine.cpp" line="307"/>
 | 
				
			||||||
        <source>Search returned no results</source>
 | 
					        <source>Search returned no results</source>
 | 
				
			||||||
        <translation type="unfinished">La recerca no ha tornat Resultats</translation>
 | 
					        <translation type="unfinished">La recerca no ha tornat Resultats</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="319"/>
 | 
					        <location filename="../searchEngine.cpp" line="314"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <comment>i.e: Search results</comment>
 | 
					        <comment>i.e: Search results</comment>
 | 
				
			||||||
        <translation type="unfinished">Resultats</translation>
 | 
					        <translation type="unfinished">Resultats</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="343"/>
 | 
					        <location filename="../searchEngine.cpp" line="338"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
        <translation type="unfinished">Desconegut</translation>
 | 
					        <translation type="unfinished">Desconegut</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2838,31 +2838,31 @@ Log:
 | 
				
			|||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>SearchTab</name>
 | 
					    <name>SearchTab</name>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="51"/>
 | 
					        <location filename="../SearchTab.cpp" line="50"/>
 | 
				
			||||||
        <source>Name</source>
 | 
					        <source>Name</source>
 | 
				
			||||||
        <comment>i.e: file name</comment>
 | 
					        <comment>i.e: file name</comment>
 | 
				
			||||||
        <translation type="unfinished">Nom</translation>
 | 
					        <translation type="unfinished">Nom</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="52"/>
 | 
					        <location filename="../SearchTab.cpp" line="51"/>
 | 
				
			||||||
        <source>Size</source>
 | 
					        <source>Size</source>
 | 
				
			||||||
        <comment>i.e: file size</comment>
 | 
					        <comment>i.e: file size</comment>
 | 
				
			||||||
        <translation type="unfinished">Mida</translation>
 | 
					        <translation type="unfinished">Mida</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="53"/>
 | 
					        <location filename="../SearchTab.cpp" line="52"/>
 | 
				
			||||||
        <source>Seeders</source>
 | 
					        <source>Seeders</source>
 | 
				
			||||||
        <comment>i.e: Number of full sources</comment>
 | 
					        <comment>i.e: Number of full sources</comment>
 | 
				
			||||||
        <translation type="unfinished">Seeders</translation>
 | 
					        <translation type="unfinished">Seeders</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="54"/>
 | 
					        <location filename="../SearchTab.cpp" line="53"/>
 | 
				
			||||||
        <source>Leechers</source>
 | 
					        <source>Leechers</source>
 | 
				
			||||||
        <comment>i.e: Number of partial sources</comment>
 | 
					        <comment>i.e: Number of partial sources</comment>
 | 
				
			||||||
        <translation type="unfinished">Leechers</translation>
 | 
					        <translation type="unfinished">Leechers</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="55"/>
 | 
					        <location filename="../SearchTab.cpp" line="54"/>
 | 
				
			||||||
        <source>Search engine</source>
 | 
					        <source>Search engine</source>
 | 
				
			||||||
        <translation type="unfinished">Motor per cercar</translation>
 | 
					        <translation type="unfinished">Motor per cercar</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -3800,7 +3800,7 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../misc.h" line="322"/>
 | 
					        <location filename="../misc.h" line="322"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
        <translation type="obsolete">Desconegut</translation>
 | 
					        <translation>Desconegut</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../misc.h" line="110"/>
 | 
					        <location filename="../misc.h" line="110"/>
 | 
				
			||||||
@@ -4509,6 +4509,11 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
        <source>Search engines...</source>
 | 
					        <source>Search engines...</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
 | 
					    <message>
 | 
				
			||||||
 | 
					        <location filename="../search.ui" line="225"/>
 | 
				
			||||||
 | 
					        <source>Close tab</source>
 | 
				
			||||||
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
 | 
					    </message>
 | 
				
			||||||
</context>
 | 
					</context>
 | 
				
			||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>seeding</name>
 | 
					    <name>seeding</name>
 | 
				
			||||||
@@ -4601,47 +4606,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.
										
									
								
							@@ -2181,12 +2181,12 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
        <translation type="obsolete">Søgemaskine</translation>
 | 
					        <translation type="obsolete">Søgemaskine</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Empty search pattern</source>
 | 
					        <source>Empty search pattern</source>
 | 
				
			||||||
        <translation type="unfinished">Tomt søge kriterie</translation>
 | 
					        <translation type="unfinished">Tomt søge kriterie</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Please type a search pattern first</source>
 | 
					        <source>Please type a search pattern first</source>
 | 
				
			||||||
        <translation type="unfinished">Indtast venligst et søge kriterie først</translation>
 | 
					        <translation type="unfinished">Indtast venligst et søge kriterie først</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2201,12 +2201,12 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
        <translation type="obsolete">Du skal vælge mindst en søgemaskine.</translation>
 | 
					        <translation type="obsolete">Du skal vælge mindst en søgemaskine.</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="231"/>
 | 
					        <location filename="../searchEngine.cpp" line="226"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <translation type="unfinished">Resultater</translation>
 | 
					        <translation type="unfinished">Resultater</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="194"/>
 | 
					        <location filename="../searchEngine.cpp" line="189"/>
 | 
				
			||||||
        <source>Searching...</source>
 | 
					        <source>Searching...</source>
 | 
				
			||||||
        <translation type="unfinished">Søger...</translation>
 | 
					        <translation type="unfinished">Søger...</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2257,38 +2257,38 @@ Changelog:
 | 
				
			|||||||
        <translation type="obsolete">Dit søge plugin er allerede opdateret fuldt ud.</translation>
 | 
					        <translation type="obsolete">Dit søge plugin er allerede opdateret fuldt ud.</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="303"/>
 | 
					        <location filename="../searchEngine.cpp" line="298"/>
 | 
				
			||||||
        <source>Search Engine</source>
 | 
					        <source>Search Engine</source>
 | 
				
			||||||
        <translation type="unfinished">Søgemaskine</translation>
 | 
					        <translation type="unfinished">Søgemaskine</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="314"/>
 | 
					        <location filename="../searchEngine.cpp" line="309"/>
 | 
				
			||||||
        <source>Search has finished</source>
 | 
					        <source>Search has finished</source>
 | 
				
			||||||
        <translation type="unfinished">Søgningen er færdig</translation>
 | 
					        <translation type="unfinished">Søgningen er færdig</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="306"/>
 | 
					        <location filename="../searchEngine.cpp" line="301"/>
 | 
				
			||||||
        <source>An error occured during search...</source>
 | 
					        <source>An error occured during search...</source>
 | 
				
			||||||
        <translation type="unfinished">Der opstod en fejl under søgningen...</translation>
 | 
					        <translation type="unfinished">Der opstod en fejl under søgningen...</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="309"/>
 | 
					        <location filename="../searchEngine.cpp" line="304"/>
 | 
				
			||||||
        <source>Search aborted</source>
 | 
					        <source>Search aborted</source>
 | 
				
			||||||
        <translation type="unfinished">Søgning afbrudt</translation>
 | 
					        <translation type="unfinished">Søgning afbrudt</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="312"/>
 | 
					        <location filename="../searchEngine.cpp" line="307"/>
 | 
				
			||||||
        <source>Search returned no results</source>
 | 
					        <source>Search returned no results</source>
 | 
				
			||||||
        <translation type="unfinished">Søgningen gav intet resultat</translation>
 | 
					        <translation type="unfinished">Søgningen gav intet resultat</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="319"/>
 | 
					        <location filename="../searchEngine.cpp" line="314"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <comment>i.e: Search results</comment>
 | 
					        <comment>i.e: Search results</comment>
 | 
				
			||||||
        <translation type="unfinished">Resultater</translation>
 | 
					        <translation type="unfinished">Resultater</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="343"/>
 | 
					        <location filename="../searchEngine.cpp" line="338"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
        <translation type="unfinished">Ukendt</translation>
 | 
					        <translation type="unfinished">Ukendt</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2296,31 +2296,31 @@ Changelog:
 | 
				
			|||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>SearchTab</name>
 | 
					    <name>SearchTab</name>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="51"/>
 | 
					        <location filename="../SearchTab.cpp" line="50"/>
 | 
				
			||||||
        <source>Name</source>
 | 
					        <source>Name</source>
 | 
				
			||||||
        <comment>i.e: file name</comment>
 | 
					        <comment>i.e: file name</comment>
 | 
				
			||||||
        <translation type="unfinished">Navn</translation>
 | 
					        <translation type="unfinished">Navn</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="52"/>
 | 
					        <location filename="../SearchTab.cpp" line="51"/>
 | 
				
			||||||
        <source>Size</source>
 | 
					        <source>Size</source>
 | 
				
			||||||
        <comment>i.e: file size</comment>
 | 
					        <comment>i.e: file size</comment>
 | 
				
			||||||
        <translation type="unfinished">Størrelse</translation>
 | 
					        <translation type="unfinished">Størrelse</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="53"/>
 | 
					        <location filename="../SearchTab.cpp" line="52"/>
 | 
				
			||||||
        <source>Seeders</source>
 | 
					        <source>Seeders</source>
 | 
				
			||||||
        <comment>i.e: Number of full sources</comment>
 | 
					        <comment>i.e: Number of full sources</comment>
 | 
				
			||||||
        <translation type="unfinished">Seedere</translation>
 | 
					        <translation type="unfinished">Seedere</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="54"/>
 | 
					        <location filename="../SearchTab.cpp" line="53"/>
 | 
				
			||||||
        <source>Leechers</source>
 | 
					        <source>Leechers</source>
 | 
				
			||||||
        <comment>i.e: Number of partial sources</comment>
 | 
					        <comment>i.e: Number of partial sources</comment>
 | 
				
			||||||
        <translation type="unfinished">Leechere</translation>
 | 
					        <translation type="unfinished">Leechere</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="55"/>
 | 
					        <location filename="../SearchTab.cpp" line="54"/>
 | 
				
			||||||
        <source>Search engine</source>
 | 
					        <source>Search engine</source>
 | 
				
			||||||
        <translation type="unfinished">Søgemaskine</translation>
 | 
					        <translation type="unfinished">Søgemaskine</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -3195,7 +3195,7 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../misc.h" line="322"/>
 | 
					        <location filename="../misc.h" line="322"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
        <translation type="obsolete">Ukendt</translation>
 | 
					        <translation>Ukendt</translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../misc.h" line="110"/>
 | 
					        <location filename="../misc.h" line="110"/>
 | 
				
			||||||
@@ -3734,6 +3734,11 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
        <source>Search engines...</source>
 | 
					        <source>Search engines...</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
 | 
					    <message>
 | 
				
			||||||
 | 
					        <location filename="../search.ui" line="225"/>
 | 
				
			||||||
 | 
					        <source>Close tab</source>
 | 
				
			||||||
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
 | 
					    </message>
 | 
				
			||||||
</context>
 | 
					</context>
 | 
				
			||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>seeding</name>
 | 
					    <name>seeding</name>
 | 
				
			||||||
@@ -3826,47 +3831,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.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							@@ -1486,58 +1486,58 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>SearchEngine</name>
 | 
					    <name>SearchEngine</name>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Empty search pattern</source>
 | 
					        <source>Empty search pattern</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="151"/>
 | 
					        <location filename="../searchEngine.cpp" line="146"/>
 | 
				
			||||||
        <source>Please type a search pattern first</source>
 | 
					        <source>Please type a search pattern first</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="231"/>
 | 
					        <location filename="../searchEngine.cpp" line="226"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="194"/>
 | 
					        <location filename="../searchEngine.cpp" line="189"/>
 | 
				
			||||||
        <source>Searching...</source>
 | 
					        <source>Searching...</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="303"/>
 | 
					        <location filename="../searchEngine.cpp" line="298"/>
 | 
				
			||||||
        <source>Search Engine</source>
 | 
					        <source>Search Engine</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="314"/>
 | 
					        <location filename="../searchEngine.cpp" line="309"/>
 | 
				
			||||||
        <source>Search has finished</source>
 | 
					        <source>Search has finished</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="306"/>
 | 
					        <location filename="../searchEngine.cpp" line="301"/>
 | 
				
			||||||
        <source>An error occured during search...</source>
 | 
					        <source>An error occured during search...</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="309"/>
 | 
					        <location filename="../searchEngine.cpp" line="304"/>
 | 
				
			||||||
        <source>Search aborted</source>
 | 
					        <source>Search aborted</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="312"/>
 | 
					        <location filename="../searchEngine.cpp" line="307"/>
 | 
				
			||||||
        <source>Search returned no results</source>
 | 
					        <source>Search returned no results</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="319"/>
 | 
					        <location filename="../searchEngine.cpp" line="314"/>
 | 
				
			||||||
        <source>Results</source>
 | 
					        <source>Results</source>
 | 
				
			||||||
        <comment>i.e: Search results</comment>
 | 
					        <comment>i.e: Search results</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../searchEngine.cpp" line="343"/>
 | 
					        <location filename="../searchEngine.cpp" line="338"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -1545,31 +1545,31 @@ Are you sure you want to quit qBittorrent?</source>
 | 
				
			|||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>SearchTab</name>
 | 
					    <name>SearchTab</name>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="51"/>
 | 
					        <location filename="../SearchTab.cpp" line="50"/>
 | 
				
			||||||
        <source>Name</source>
 | 
					        <source>Name</source>
 | 
				
			||||||
        <comment>i.e: file name</comment>
 | 
					        <comment>i.e: file name</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="52"/>
 | 
					        <location filename="../SearchTab.cpp" line="51"/>
 | 
				
			||||||
        <source>Size</source>
 | 
					        <source>Size</source>
 | 
				
			||||||
        <comment>i.e: file size</comment>
 | 
					        <comment>i.e: file size</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="53"/>
 | 
					        <location filename="../SearchTab.cpp" line="52"/>
 | 
				
			||||||
        <source>Seeders</source>
 | 
					        <source>Seeders</source>
 | 
				
			||||||
        <comment>i.e: Number of full sources</comment>
 | 
					        <comment>i.e: Number of full sources</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="54"/>
 | 
					        <location filename="../SearchTab.cpp" line="53"/>
 | 
				
			||||||
        <source>Leechers</source>
 | 
					        <source>Leechers</source>
 | 
				
			||||||
        <comment>i.e: Number of partial sources</comment>
 | 
					        <comment>i.e: Number of partial sources</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../SearchTab.cpp" line="55"/>
 | 
					        <location filename="../SearchTab.cpp" line="54"/>
 | 
				
			||||||
        <source>Search engine</source>
 | 
					        <source>Search engine</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
@@ -2278,6 +2278,11 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
        <comment>tebibytes (1024 gibibytes)</comment>
 | 
					        <comment>tebibytes (1024 gibibytes)</comment>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
 | 
					    <message>
 | 
				
			||||||
 | 
					        <location filename="../misc.h" line="322"/>
 | 
				
			||||||
 | 
					        <source>Unknown</source>
 | 
				
			||||||
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
 | 
					    </message>
 | 
				
			||||||
    <message>
 | 
					    <message>
 | 
				
			||||||
        <location filename="../misc.h" line="110"/>
 | 
					        <location filename="../misc.h" line="110"/>
 | 
				
			||||||
        <source>Unknown</source>
 | 
					        <source>Unknown</source>
 | 
				
			||||||
@@ -2677,6 +2682,11 @@ However, those plugins were disabled.</source>
 | 
				
			|||||||
        <source>Search engines...</source>
 | 
					        <source>Search engines...</source>
 | 
				
			||||||
        <translation type="unfinished"></translation>
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
    </message>
 | 
					    </message>
 | 
				
			||||||
 | 
					    <message>
 | 
				
			||||||
 | 
					        <location filename="../search.ui" line="225"/>
 | 
				
			||||||
 | 
					        <source>Close tab</source>
 | 
				
			||||||
 | 
					        <translation type="unfinished"></translation>
 | 
				
			||||||
 | 
					    </message>
 | 
				
			||||||
</context>
 | 
					</context>
 | 
				
			||||||
<context>
 | 
					<context>
 | 
				
			||||||
    <name>seeding</name>
 | 
					    <name>seeding</name>
 | 
				
			||||||
@@ -2769,47 +2779,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>
 | 
				
			||||||
 
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user