diff options
author | Ken Moore <ken@ixsystems.com> | 2016-11-28 08:07:29 -0500 |
---|---|---|
committer | Ken Moore <ken@ixsystems.com> | 2016-11-28 08:07:29 -0500 |
commit | 102f7c729e55ae92b1bb4b0928dde030a2766b79 (patch) | |
tree | d56786fb79588dadeb3092431cd0ce297196172b /src-qt5/core-utils/lumina-search | |
parent | Fix up the scaling options in the UI for lumina-screenshot. (diff) | |
download | lumina-102f7c729e55ae92b1bb4b0928dde030a2766b79.tar.gz lumina-102f7c729e55ae92b1bb4b0928dde030a2766b79.tar.bz2 lumina-102f7c729e55ae92b1bb4b0928dde030a2766b79.zip |
A few important fixes for lumina-search:
1) Ensure the background search process gets stopped when the app is closed.
2) Add a limit of 100 items to the search results (any more than that and the user should refine their search term)
3) Make sure that any "proc" directory on the system is always excluded from the search. This directory heirarchy is highly recursive in nature and should never really be used for searches anyway.
4) Increase the time delay before starting any live search to 1/2 second (used to be 1/3 second).
Diffstat (limited to 'src-qt5/core-utils/lumina-search')
-rw-r--r-- | src-qt5/core-utils/lumina-search/MainUI.cpp | 4 | ||||
-rw-r--r-- | src-qt5/core-utils/lumina-search/Worker.cpp | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src-qt5/core-utils/lumina-search/MainUI.cpp b/src-qt5/core-utils/lumina-search/MainUI.cpp index 93ee7411..b3e28f8a 100644 --- a/src-qt5/core-utils/lumina-search/MainUI.cpp +++ b/src-qt5/core-utils/lumina-search/MainUI.cpp @@ -17,7 +17,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI){ ui->tool_configure->setVisible(false); //app search initially set livetime = new QTimer(this); - livetime->setInterval(300); //1/3 second for live searches + livetime->setInterval(500); //1/2 second for live searches livetime->setSingleShot(true); workthread = new QThread(this); @@ -56,6 +56,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI){ } MainUI::~MainUI(){ + searcher->StopSearch(); workthread->quit(); workthread->wait(); } @@ -189,6 +190,7 @@ void MainUI::foundSearchItem(QString path){ } //Now add it to the widget ui->listWidget->addItem(it); + if(ui->listWidget->count()>100){ searcher->StopSearch(); } //just in case } void MainUI::stopSearch(){ diff --git a/src-qt5/core-utils/lumina-search/Worker.cpp b/src-qt5/core-utils/lumina-search/Worker.cpp index 677d2b4b..df1a0c3c 100644 --- a/src-qt5/core-utils/lumina-search/Worker.cpp +++ b/src-qt5/core-utils/lumina-search/Worker.cpp @@ -52,7 +52,8 @@ bool Worker::searchDir(QString dirpath){ tmp = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot , QDir::Name); for(int i=0; i<tmp.length(); i++){ if(stopsearch){ return true; } - if( skipDirs.contains(dir.absoluteFilePath(tmp[i])) ){ continue; } //this dir is skipped + if( skipDirs.contains(dir.absoluteFilePath(tmp[i])) || tmp[i]=="proc" ){ continue; } //this dir is skipped + //Special case - skip the "proc" directory heirarchy (highly-recursive layout for *every* process which is running) if( searchDir(dir.absoluteFilePath(tmp[i])) ){ return true; } } return false; |