LibGUI: Convert various little things to GModelSelection

All the little things that were using the per-model seletion are now
moving over to GModelSelection.
This commit is contained in:
Andreas Kling 2019-09-07 20:35:31 +02:00
parent d2d1a30d61
commit fb18613e8a
Notes: sideshowbarker 2024-07-19 12:13:28 +09:00
3 changed files with 6 additions and 9 deletions

View file

@ -31,16 +31,16 @@ void GAbstractView::set_model(RefPtr<GModel>&& model)
void GAbstractView::did_update_model()
{
if (!model() || model()->selected_index() != m_edit_index)
if (!model() || selection().first() != m_edit_index)
stop_editing();
}
void GAbstractView::did_update_selection()
{
if (!model() || model()->selected_index() != m_edit_index)
if (!model() || selection().first() != m_edit_index)
stop_editing();
if (model() && on_selection && model()->selected_index().is_valid())
on_selection(model()->selected_index());
if (model() && on_selection && selection().first().is_valid())
on_selection(selection().first());
}
void GAbstractView::did_scroll()

View file

@ -12,7 +12,7 @@ GComboBox::GComboBox(GWidget* parent)
m_editor = new GTextEditor(GTextEditor::Type::SingleLine, this);
m_editor->on_change = [this] {
if (on_change)
on_change(m_editor->text(), model()->selected_index());
on_change(m_editor->text(), m_list_view->selection().first());
};
m_editor->on_return_pressed = [this] {
if (on_return_pressed)

View file

@ -194,11 +194,8 @@ GVariant GFileSystemModel::data(const GModelIndex& index, Role role) const
if (role == GModel::Role::Display)
return node.name;
if (role == GModel::Role::Icon) {
if (node.type == Node::Directory) {
if (selected_index() == index)
return m_open_folder_icon;
if (node.type == Node::Directory)
return m_closed_folder_icon;
}
return m_file_icon;
}
return {};