Commit graph

4 commits

Author SHA1 Message Date
Andreas Kling
705cee528a LibGUI: Make it easier to create checkable GUI::Actions
This patch adds GUI::Action::create_checkable() helpers that work just
like the existing create() helpers, but the actions become checkable(!)

Clients are no longer required to manage the checked state of their
actions manually, but instead they will be checked/unchecked as needed
by GUI::Action itself before the activation hook is fired.
2020-04-21 17:21:28 +02:00
Andreas Kling
3523071bb7 LibGUI: Disable the ColumnsView subview in MultiView for now
This is causing FilePicker to log a bunch of debug noise due to the
missing support for tree models in SortingProxyModel and it's not
helping anyone so let's just disable it.

This needs fixing in SortingProxyModel.
2020-02-27 14:43:35 +01:00
Andreas Kling
9c6f7d3e7d LibGUI: Actually store the column in MultiView::set_model_column()
We were only forwarding the value to the subviews, but not storing it
in m_model_column. This would cause MultiView::model_column() to return
the wrong value.

Thanks to Daniel Bos for spotting this! :^)
2020-02-25 10:47:30 +01:00
Andreas Kling
1b2b35cc40 LibGUI: Add a MultiView widget, based on FileManager's "DirectoryView"
A MultiView is a combination of ItemView, TableView and ColumnsView
smashed into a single widget. You can switch between the view modes
by calling MultiView::set_view_mode().

Note that MultiView inherits from StackWidget, not AbstractView.
That's purely for practical reasons, although I'm not entirely sure
if there would be some benefit to having it inherit from AbstractView.
2020-02-24 20:48:42 +01:00