diff options
author | Andreas Kling <kling@serenityos.org> | 2020-08-16 11:20:49 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-08-16 16:44:09 +0200 |
commit | 4c23e75d2f09ed1baedc696a23196ff999c60a71 (patch) | |
tree | fc871b77bb2b6d130ec59bc6369cfe9c56a2523c /Libraries/LibGUI | |
parent | b9ae937279e00fff4a8654db2a78e04cfd4096bb (diff) | |
download | serenity-4c23e75d2f09ed1baedc696a23196ff999c60a71.zip |
LibGUI: Enable using a ColumnsView inside MultiView :^)
Now that SortingProxyModel has greatly improved support for hierarchies
we can enable this without crashing.
Diffstat (limited to 'Libraries/LibGUI')
-rw-r--r-- | Libraries/LibGUI/MultiView.cpp | 23 | ||||
-rw-r--r-- | Libraries/LibGUI/MultiView.h | 12 |
2 files changed, 1 insertions, 34 deletions
diff --git a/Libraries/LibGUI/MultiView.cpp b/Libraries/LibGUI/MultiView.cpp index 78360cdeac..3123e74ae2 100644 --- a/Libraries/LibGUI/MultiView.cpp +++ b/Libraries/LibGUI/MultiView.cpp @@ -41,21 +41,16 @@ MultiView::MultiView() set_content_margins({ 2, 2, 2, 2 }); m_icon_view = add<IconView>(); m_table_view = add<TableView>(); - -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view = add<ColumnsView>(); -#endif m_icon_view->on_activation = [&](auto& index) { if (on_activation) on_activation(index); }; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view->on_activation = [&](auto& index) { if (on_activation) on_activation(index); }; -#endif m_table_view->on_activation = [&](auto& index) { if (on_activation) on_activation(index); @@ -69,12 +64,10 @@ MultiView::MultiView() if (on_selection_change) on_selection_change(); }; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view->on_selection_change = [this] { if (on_selection_change) on_selection_change(); }; -#endif m_table_view->on_context_menu_request = [this](auto& index, auto& event) { if (on_context_menu_request) @@ -84,12 +77,10 @@ MultiView::MultiView() if (on_context_menu_request) on_context_menu_request(index, event); }; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view->on_context_menu_request = [this](auto& index, auto& event) { if (on_context_menu_request) on_context_menu_request(index, event); }; -#endif m_table_view->on_drop = [this](auto& index, auto& event) { if (on_drop) @@ -99,12 +90,10 @@ MultiView::MultiView() if (on_drop) on_drop(index, event); }; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view->on_drop = [this](auto& index, auto& event) { if (on_drop) on_drop(index, event); }; -#endif build_actions(); set_view_mode(ViewMode::Icon); @@ -126,13 +115,11 @@ void MultiView::set_view_mode(ViewMode mode) m_view_as_table_action->set_checked(true); return; } -#ifdef MULTIVIEW_WITH_COLUMNSVIEW if (mode == ViewMode::Columns) { set_active_widget(m_columns_view); m_view_as_columns_action->set_checked(true); return; } -#endif if (mode == ViewMode::Icon) { set_active_widget(m_icon_view); m_view_as_icons_action->set_checked(true); @@ -157,9 +144,7 @@ void MultiView::set_model_column(int column) return; m_model_column = column; m_icon_view->set_model_column(column); -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_columns_view->set_model_column(column); -#endif } void MultiView::set_column_hidden(int column_index, bool hidden) @@ -179,29 +164,23 @@ void MultiView::build_actions() set_view_mode(ViewMode::Icon); }); -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_view_as_columns_action = Action::create_checkable( "Columns view", Gfx::Bitmap::load_from_file("/res/icons/16x16/columns-view.png"), [this](auto&) { set_view_mode(ViewMode::Columns); }); -#endif m_view_type_action_group = make<ActionGroup>(); m_view_type_action_group->set_exclusive(true); m_view_type_action_group->add_action(*m_view_as_table_action); m_view_type_action_group->add_action(*m_view_as_icons_action); -#ifdef MULTIVIEW_WITH_COLUMNSVIEW m_view_type_action_group->add_action(*m_view_as_columns_action); -#endif } void MultiView::apply_multi_select() { m_table_view->set_multi_select(m_multi_select); m_icon_view->set_multi_select(m_multi_select); -#ifdef MULTIVIEW_WITH_COLUMNSVIEW - //m_columns_view->set_multi_select(m_multi_select); -#endif + m_columns_view->set_multi_select(m_multi_select); } void MultiView::set_multi_select(bool multi_select) diff --git a/Libraries/LibGUI/MultiView.h b/Libraries/LibGUI/MultiView.h index 5d9e9d4b8b..8ab093e9c2 100644 --- a/Libraries/LibGUI/MultiView.h +++ b/Libraries/LibGUI/MultiView.h @@ -32,8 +32,6 @@ #include <LibGUI/StackWidget.h> #include <LibGUI/TableView.h> -//#define MULTIVIEW_WITH_COLUMNSVIEW - namespace GUI { class MultiView final : public GUI::StackWidget { @@ -70,10 +68,8 @@ public: switch (m_view_mode) { case ViewMode::Table: return *m_table_view; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW case ViewMode::Columns: return *m_columns_view; -#endif case ViewMode::Icon: return *m_icon_view; default: @@ -89,9 +85,7 @@ public: { callback(*m_table_view); callback(*m_icon_view); -#ifdef MULTIVIEW_WITH_COLUMNSVIEW callback(*m_columns_view); -#endif } Model* model() { return m_model; } @@ -101,9 +95,7 @@ public: Action& view_as_table_action() { return *m_view_as_table_action; } Action& view_as_icons_action() { return *m_view_as_icons_action; } -#ifdef MULTIVIEW_WITH_COLUMNSVIEW Action& view_as_columns_action() { return *m_view_as_columns_action; } -#endif bool is_multi_select() const { return m_multi_select; } void set_multi_select(bool); @@ -121,15 +113,11 @@ private: RefPtr<TableView> m_table_view; RefPtr<IconView> m_icon_view; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW RefPtr<ColumnsView> m_columns_view; -#endif RefPtr<Action> m_view_as_table_action; RefPtr<Action> m_view_as_icons_action; -#ifdef MULTIVIEW_WITH_COLUMNSVIEW RefPtr<Action> m_view_as_columns_action; -#endif OwnPtr<ActionGroup> m_view_type_action_group; |