mirror of
https://github.com/RGBCube/serenity
synced 2025-07-24 19:47:42 +00:00
LibGUI: Only show FilePicker preview pane on demand
FilePicker::set_preview() and FilePicker::clear_preview() now show and hide the preview pane respectively.
This commit is contained in:
parent
6b61d4656f
commit
5acc457c06
2 changed files with 12 additions and 8 deletions
|
@ -242,23 +242,24 @@ FilePicker::FilePicker(Mode mode, const StringView& file_name, const StringView&
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
auto& preview_container = horizontal_container.add<Frame>();
|
m_preview_container = horizontal_container.add<Frame>();
|
||||||
preview_container.set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
|
m_preview_container->set_visible(false);
|
||||||
preview_container.set_preferred_size(180, 0);
|
m_preview_container->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
|
||||||
preview_container.set_layout<VerticalBoxLayout>();
|
m_preview_container->set_preferred_size(180, 0);
|
||||||
preview_container.layout()->set_margins({ 8, 8, 8, 8 });
|
m_preview_container->set_layout<VerticalBoxLayout>();
|
||||||
|
m_preview_container->layout()->set_margins({ 8, 8, 8, 8 });
|
||||||
|
|
||||||
m_preview_image = preview_container.add<Image>();
|
m_preview_image = m_preview_container->add<Image>();
|
||||||
m_preview_image->set_should_stretch(true);
|
m_preview_image->set_should_stretch(true);
|
||||||
m_preview_image->set_auto_resize(false);
|
m_preview_image->set_auto_resize(false);
|
||||||
m_preview_image->set_preferred_size(160, 160);
|
m_preview_image->set_preferred_size(160, 160);
|
||||||
|
|
||||||
m_preview_name_label = preview_container.add<Label>();
|
m_preview_name_label = m_preview_container->add<Label>();
|
||||||
m_preview_name_label->set_font(Gfx::Font::default_bold_font());
|
m_preview_name_label->set_font(Gfx::Font::default_bold_font());
|
||||||
m_preview_name_label->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
m_preview_name_label->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||||
m_preview_name_label->set_preferred_size(0, m_preview_name_label->font().glyph_height());
|
m_preview_name_label->set_preferred_size(0, m_preview_name_label->font().glyph_height());
|
||||||
|
|
||||||
m_preview_geometry_label = preview_container.add<Label>();
|
m_preview_geometry_label = m_preview_container->add<Label>();
|
||||||
m_preview_geometry_label->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
m_preview_geometry_label->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||||
m_preview_geometry_label->set_preferred_size(0, m_preview_name_label->font().glyph_height());
|
m_preview_geometry_label->set_preferred_size(0, m_preview_name_label->font().glyph_height());
|
||||||
}
|
}
|
||||||
|
@ -280,6 +281,7 @@ void FilePicker::set_preview(const LexicalPath& path)
|
||||||
m_preview_geometry_label->set_text(bitmap->size().to_string());
|
m_preview_geometry_label->set_text(bitmap->size().to_string());
|
||||||
m_preview_image->set_should_stretch(should_stretch);
|
m_preview_image->set_should_stretch(should_stretch);
|
||||||
m_preview_image->set_bitmap(move(bitmap));
|
m_preview_image->set_bitmap(move(bitmap));
|
||||||
|
m_preview_container->set_visible(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,6 +290,7 @@ void FilePicker::clear_preview()
|
||||||
m_preview_image->set_bitmap(nullptr);
|
m_preview_image->set_bitmap(nullptr);
|
||||||
m_preview_name_label->set_text(String::empty());
|
m_preview_name_label->set_text(String::empty());
|
||||||
m_preview_geometry_label->set_text(String::empty());
|
m_preview_geometry_label->set_text(String::empty());
|
||||||
|
m_preview_container->set_visible(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FilePicker::on_file_return()
|
void FilePicker::on_file_return()
|
||||||
|
|
|
@ -74,6 +74,7 @@ private:
|
||||||
LexicalPath m_selected_file;
|
LexicalPath m_selected_file;
|
||||||
|
|
||||||
RefPtr<TextBox> m_filename_textbox;
|
RefPtr<TextBox> m_filename_textbox;
|
||||||
|
RefPtr<Frame> m_preview_container;
|
||||||
RefPtr<Image> m_preview_image;
|
RefPtr<Image> m_preview_image;
|
||||||
RefPtr<Label> m_preview_name_label;
|
RefPtr<Label> m_preview_name_label;
|
||||||
RefPtr<Label> m_preview_geometry_label;
|
RefPtr<Label> m_preview_geometry_label;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue