mirror of
https://github.com/RGBCube/serenity
synced 2025-05-24 01:05:08 +00:00
HackStudio: Fix FormEditor widget icons loading
Previously, when resolving the paths for the FormEditor widget icons we didn't take into the account that calling class_name() returns the widget name with a "GUI::" prefix. Also, we now skip over widgets that we don't have an icon for.
This commit is contained in:
parent
8f34b493e4
commit
6c73fdf8d1
1 changed files with 4 additions and 1 deletions
|
@ -677,7 +677,10 @@ void HackStudioWidget::create_form_editor(GUI::Widget& parent)
|
|||
form_widgets_toolbar.add_action(cursor_tool_action);
|
||||
|
||||
GUI::WidgetClassRegistration::for_each([&, this](const GUI::WidgetClassRegistration& reg) {
|
||||
auto icon_path = String::format("/res/icons/hackstudio/G%s.png", reg.class_name().characters());
|
||||
constexpr size_t gui_namespace_prefix_length = sizeof("GUI::") - 1;
|
||||
auto icon_path = String::format("/res/icons/hackstudio/G%s.png", reg.class_name().substring(gui_namespace_prefix_length, reg.class_name().length() - gui_namespace_prefix_length).characters());
|
||||
if (!Core::File::exists(icon_path))
|
||||
return;
|
||||
auto action = GUI::Action::create_checkable(reg.class_name(), Gfx::Bitmap::load_from_file(icon_path), [®, this](auto&) {
|
||||
m_form_editor_widget->set_tool(make<WidgetTool>(*m_form_editor_widget, reg));
|
||||
auto widget = reg.construct();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue