mirror of
https://github.com/aseprite/aseprite.git
synced 2025-03-13 01:13:22 +00:00
Add FinishLoading signal to ResourcesListBox to detect when the resources were loaded
In this way we avoid using ui::ListBox::Change signal as a workaround (which is a signal that should be fired only from ui::ListBox::onChange()).
This commit is contained in:
parent
78fc63c3f8
commit
de22d69678
@ -42,7 +42,7 @@ PalettePopup::PalettePopup()
|
||||
addChild(m_popup);
|
||||
|
||||
m_paletteListBox.DoubleClickItem.connect(base::Bind<void>(&PalettePopup::onLoadPal, this));
|
||||
m_paletteListBox.Change.connect(base::Bind<void>(&PalettePopup::onSearchChange, this));
|
||||
m_paletteListBox.FinishLoading.connect(base::Bind<void>(&PalettePopup::onSearchChange, this));
|
||||
m_popup->search()->Change.connect(base::Bind<void>(&PalettePopup::onSearchChange, this));
|
||||
m_popup->loadPal()->Click.connect(base::Bind<void>(&PalettePopup::onLoadPal, this));
|
||||
m_popup->openFolder()->Click.connect(base::Bind<void>(&PalettePopup::onOpenFolder, this));
|
||||
|
@ -210,10 +210,11 @@ void ResourcesListBox::onTick()
|
||||
resource.release();
|
||||
listItem.release();
|
||||
}
|
||||
Change();
|
||||
|
||||
if (m_resourcesLoader->isDone())
|
||||
if (m_resourcesLoader->isDone()) {
|
||||
FinishLoading();
|
||||
stop();
|
||||
}
|
||||
}
|
||||
|
||||
void ResourcesListBox::stop()
|
||||
|
@ -9,6 +9,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "app/res/resources_loader.h"
|
||||
#include "obs/signal.h"
|
||||
#include "ui/listbox.h"
|
||||
#include "ui/listitem.h"
|
||||
#include "ui/timer.h"
|
||||
@ -43,6 +44,8 @@ class ResourceListItem : public ui::ListItem {
|
||||
|
||||
void reload();
|
||||
|
||||
obs::signal<void()> FinishLoading;
|
||||
|
||||
protected:
|
||||
virtual bool onProcessMessage(ui::Message* msg) override;
|
||||
virtual void onChange() override;
|
||||
|
Loading…
x
Reference in New Issue
Block a user