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