|
@@ -27,6 +27,7 @@ Toolbar::Toolbar(Orientation orientation, int button_size)
|
|
, m_button_size(button_size)
|
|
, m_button_size(button_size)
|
|
{
|
|
{
|
|
REGISTER_BOOL_PROPERTY("collapsible", is_collapsible, set_collapsible);
|
|
REGISTER_BOOL_PROPERTY("collapsible", is_collapsible, set_collapsible);
|
|
|
|
+ REGISTER_BOOL_PROPERTY("grouped", is_grouped, set_grouped);
|
|
|
|
|
|
if (m_orientation == Orientation::Horizontal)
|
|
if (m_orientation == Orientation::Horizontal)
|
|
set_fixed_height(button_size);
|
|
set_fixed_height(button_size);
|
|
@@ -202,6 +203,16 @@ ErrorOr<void> Toolbar::update_overflow_menu()
|
|
return {};
|
|
return {};
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if (m_grouped) {
|
|
|
|
+ for (size_t i = marginal_index.value(); i > 0; --i) {
|
|
|
|
+ auto& item = m_items.at(i);
|
|
|
|
+ if (item.type == Item::Type::Separator)
|
|
|
|
+ break;
|
|
|
|
+ item.widget->set_visible(false);
|
|
|
|
+ marginal_index = i;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
if (!m_overflow_action)
|
|
if (!m_overflow_action)
|
|
TRY(create_overflow_objects());
|
|
TRY(create_overflow_objects());
|
|
m_overflow_action->set_enabled(true);
|
|
m_overflow_action->set_enabled(true);
|