Browse Source

- Added a 3 minutes search timeout

adaptive-webui-19844
Christophe Dumez 17 years ago
parent
commit
fd4ce53eb1
  1. 10
      src/searchEngine.cpp
  2. 2
      src/searchEngine.h

10
src/searchEngine.cpp

@ -28,6 +28,7 @@ @@ -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 @@ -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(){ @@ -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(){ @@ -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(){ @@ -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(){ @@ -448,6 +457,7 @@ void SearchEngine::on_stop_search_button_clicked(){
// Kill process
searchProcess->terminate();
search_stopped = true;
searchTimeout->stop();
}
// Clear search results list

2
src/searchEngine.h

@ -33,6 +33,7 @@ class SearchListDelegate; @@ -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{ @@ -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…
Cancel
Save