mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2024-11-23 17:56:50 +03:00
- Added a 3 minutes search timeout
This commit is contained in:
parent
b4f0fbdbc4
commit
fd4ce53eb1
2 changed files with 12 additions and 0 deletions
|
@ -28,6 +28,7 @@
|
|||
#include <QTemporaryFile>
|
||||
#include <QSystemTrayIcon>
|
||||
#include <iostream>
|
||||
#include <QTimer>
|
||||
|
||||
#include "SearchListDelegate.h"
|
||||
#include "searchEngine.h"
|
||||
|
@ -79,6 +80,9 @@ SearchEngine::SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, b
|
|||
connect(searchProcess, SIGNAL(started()), this, SLOT(searchStarted()));
|
||||
connect(searchProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(readSearchOutput()));
|
||||
connect(searchProcess, SIGNAL(finished(int, QProcess::ExitStatus)), this, SLOT(searchFinished(int,QProcess::ExitStatus)));
|
||||
searchTimeout = new QTimer(this);
|
||||
searchTimeout->setSingleShot(true);
|
||||
connect(searchTimeout, SIGNAL(timeout()), this, SLOT(on_stop_search_button_clicked()));
|
||||
// Check last enabled search engines
|
||||
loadEngineSettings();
|
||||
// Update nova.py search plugin if necessary
|
||||
|
@ -92,6 +96,7 @@ SearchEngine::~SearchEngine(){
|
|||
saveColWidthSearchList();
|
||||
searchProcess->kill();
|
||||
searchProcess->waitForFinished();
|
||||
delete searchTimeout;
|
||||
delete searchProcess;
|
||||
delete searchCompleter;
|
||||
delete SearchListModel;
|
||||
|
@ -245,6 +250,9 @@ void SearchEngine::on_search_button_clicked(){
|
|||
searchProcess->kill();
|
||||
searchProcess->waitForFinished();
|
||||
}
|
||||
if(searchTimeout->isActive()) {
|
||||
searchTimeout->stop();
|
||||
}
|
||||
QString pattern = search_pattern->text().trimmed();
|
||||
// No search pattern entered
|
||||
if(pattern.isEmpty()){
|
||||
|
@ -279,6 +287,7 @@ void SearchEngine::on_search_button_clicked(){
|
|||
results_lbl->setText(tr("Results")+" <i>(0)</i>:");
|
||||
// Launch search
|
||||
searchProcess->start(misc::qBittorrentPath()+"search_engine"+QDir::separator()+"nova2.py", params, QIODevice::ReadOnly);
|
||||
searchTimeout->start(180000); // 3min
|
||||
}
|
||||
|
||||
void SearchEngine::searchStarted(){
|
||||
|
@ -448,6 +457,7 @@ void SearchEngine::on_stop_search_button_clicked(){
|
|||
// Kill process
|
||||
searchProcess->terminate();
|
||||
search_stopped = true;
|
||||
searchTimeout->stop();
|
||||
}
|
||||
|
||||
// Clear search results list
|
||||
|
|
|
@ -33,6 +33,7 @@ class SearchListDelegate;
|
|||
class bittorrent;
|
||||
class QSystemTrayIcon;
|
||||
class downloadThread;
|
||||
class QTimer;
|
||||
|
||||
class SearchEngine : public QWidget, public Ui::search_engine{
|
||||
Q_OBJECT
|
||||
|
@ -54,6 +55,7 @@ class SearchEngine : public QWidget, public Ui::search_engine{
|
|||
bool systrayIntegration;
|
||||
downloadThread *downloader;
|
||||
QStringList enabled_engines;
|
||||
QTimer *searchTimeout;
|
||||
|
||||
public:
|
||||
SearchEngine(bittorrent *BTSession, QSystemTrayIcon *myTrayIcon, bool systrayIntegration);
|
||||
|
|
Loading…
Reference in a new issue