GFilePicker: More work on the file picker, adding a location textbox.

This commit is contained in:
Andreas Kling 2019-05-09 16:47:45 +02:00
parent e569ef6412
commit 7c6784f50c
Notes: sideshowbarker 2024-07-19 14:11:14 +09:00

View file

@ -23,15 +23,31 @@ GFilePicker::GFilePicker(const String& path, CObject* parent)
main_widget()->set_background_color(Color::LightGray);
auto* upper_container = new GWidget(main_widget());
upper_container->set_layout(make<GBoxLayout>(Orientation::Vertical));
upper_container->set_layout(make<GBoxLayout>(Orientation::Horizontal));
upper_container->layout()->set_spacing(4);
upper_container->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
upper_container->set_preferred_size({ 0, 26 });
auto* toolbar = new GToolBar(upper_container);
toolbar->set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
toolbar->set_preferred_size({ 32, 0 });
m_view = new GTableView(upper_container);
auto* location_textbox = new GTextBox(upper_container);
location_textbox->set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
location_textbox->set_preferred_size({ 0, 20 });
m_view = new GTableView(main_widget());
m_view->set_model(GSortingProxyModel::create(*m_model));
m_view->set_column_hidden(GDirectoryModel::Column::Owner, true);
m_view->set_column_hidden(GDirectoryModel::Column::Group, true);
m_view->set_column_hidden(GDirectoryModel::Column::Permissions, true);
m_view->set_column_hidden(GDirectoryModel::Column::Inode, true);
m_model->open(path);
location_textbox->on_return_pressed = [&] {
m_model->open(location_textbox->text());
};
auto open_parent_directory_action = GAction::create("Open parent directory", { Mod_Alt, Key_Up }, GraphicsBitmap::load_from_file("/res/icons/16x16/open-parent-directory.png"), [this] (const GAction&) {
m_model->open(String::format("%s/..", m_model->path().characters()));
});