mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-08-16 13:24:02 +02:00
Make file browser respond to search query changes while loading files (#866)
This commit is contained in:
@@ -83,6 +83,7 @@ FileBrowserActivity::FileBrowserActivity(ByteString directory, OnSelected onSele
|
|||||||
WindowActivity(ui::Point(-1, -1), ui::Point(500, 350)),
|
WindowActivity(ui::Point(-1, -1), ui::Point(500, 350)),
|
||||||
onSelected(onSelected_),
|
onSelected(onSelected_),
|
||||||
directory(directory),
|
directory(directory),
|
||||||
|
hasQueuedSearch(false),
|
||||||
totalFiles(0)
|
totalFiles(0)
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -127,7 +128,12 @@ FileBrowserActivity::FileBrowserActivity(ByteString directory, OnSelected onSele
|
|||||||
|
|
||||||
void FileBrowserActivity::DoSearch(ByteString search)
|
void FileBrowserActivity::DoSearch(ByteString search)
|
||||||
{
|
{
|
||||||
if(!loadFiles)
|
if (loadFiles)
|
||||||
|
{
|
||||||
|
hasQueuedSearch = true;
|
||||||
|
queuedSearch = search;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
loadDirectory(directory, search);
|
loadDirectory(directory, search);
|
||||||
}
|
}
|
||||||
@@ -221,6 +227,12 @@ void FileBrowserActivity::NotifyDone(Task * task)
|
|||||||
delete components[i];
|
delete components[i];
|
||||||
}
|
}
|
||||||
components.clear();
|
components.clear();
|
||||||
|
|
||||||
|
if (hasQueuedSearch)
|
||||||
|
{
|
||||||
|
hasQueuedSearch = false;
|
||||||
|
loadDirectory(directory, queuedSearch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileBrowserActivity::OnMouseDown(int x, int y, unsigned button)
|
void FileBrowserActivity::OnMouseDown(int x, int y, unsigned button)
|
||||||
|
@@ -30,6 +30,8 @@ class FileBrowserActivity: public TaskListener, public WindowActivity
|
|||||||
std::vector<ui::Component*> components;
|
std::vector<ui::Component*> components;
|
||||||
std::vector<ui::Component*> componentsQueue;
|
std::vector<ui::Component*> componentsQueue;
|
||||||
ByteString directory;
|
ByteString directory;
|
||||||
|
bool hasQueuedSearch;
|
||||||
|
ByteString queuedSearch;
|
||||||
|
|
||||||
ui::ProgressBar * progressBar;
|
ui::ProgressBar * progressBar;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user