1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:18:12 +00:00

Everywhere: Stop using NonnullOwnPtrVector

Same as NonnullRefPtrVector: weird semantics, questionable benefits.
This commit is contained in:
Andreas Kling 2023-03-06 17:16:25 +01:00
parent 689ca370d4
commit 359d6e7b0b
111 changed files with 517 additions and 503 deletions

View file

@ -73,14 +73,14 @@ int Menu::content_width() const
int widest_text = 0;
int widest_shortcut = 0;
for (auto& item : m_items) {
if (!item.is_visible())
if (!item->is_visible())
continue;
if (item.type() != MenuItem::Text)
if (item->type() != MenuItem::Text)
continue;
auto& use_font = item.is_default() ? font().bold_variant() : font();
int text_width = use_font.width(Gfx::parse_ampersand_string(item.text()));
if (!item.shortcut_text().is_empty()) {
int shortcut_width = use_font.width(item.shortcut_text());
auto& use_font = item->is_default() ? font().bold_variant() : font();
int text_width = use_font.width(Gfx::parse_ampersand_string(item->text()));
if (!item->shortcut_text().is_empty()) {
int shortcut_width = use_font.width(item->shortcut_text());
widest_shortcut = max(shortcut_width, widest_shortcut);
}
widest_text = max(widest_text, text_width);
@ -129,7 +129,7 @@ Window& Menu::ensure_menu_window(Gfx::IntPoint position)
auto calculate_window_rect = [&]() -> Gfx::IntRect {
int window_height_available = screen.height() - frame_thickness() * 2;
int max_window_height = (window_height_available / item_height()) * item_height() + frame_thickness() * 2;
int content_height = m_items.is_empty() ? 0 : (m_items.last().rect().bottom() + 1) + frame_thickness();
int content_height = m_items.is_empty() ? 0 : (m_items.last()->rect().bottom() + 1) + frame_thickness();
int window_height = min(max_window_height, content_height);
if (window_height < content_height) {
m_scrollable = true;
@ -140,14 +140,14 @@ Window& Menu::ensure_menu_window(Gfx::IntPoint position)
Gfx::IntPoint next_item_location(frame_thickness(), frame_thickness());
for (auto& item : m_items) {
if (!item.is_visible())
if (!item->is_visible())
continue;
int height = 0;
if (item.type() == MenuItem::Text)
if (item->type() == MenuItem::Text)
height = item_height();
else if (item.type() == MenuItem::Separator)
else if (item->type() == MenuItem::Separator)
height = 8;
item.set_rect({ next_item_location, { width - frame_thickness() * 2, height } });
item->set_rect({ next_item_location, { width - frame_thickness() * 2, height } });
next_item_location.translate_by(0, height);
}
@ -217,7 +217,7 @@ void Menu::draw()
int visible_item_count = this->visible_item_count();
for (int i = 0; i < visible_item_count; ++i)
draw(m_items.at(m_scroll_offset + i), true);
draw(*m_items[m_scroll_offset + i], true);
}
void Menu::draw(MenuItem const& item, bool is_drawing_all)
@ -407,9 +407,9 @@ void Menu::event(Core::Event& event)
// Default to the last enabled, non-separator item on key press if one has not been selected yet
for (auto i = static_cast<int>(m_items.size()) - 1; i >= 0; i--) {
auto& item = m_items.at(i);
if (!item.is_visible())
if (!item->is_visible())
continue;
if (item.type() != MenuItem::Separator && item.is_enabled()) {
if (item->type() != MenuItem::Separator && item->is_enabled()) {
set_hovered_index(i, key == Key_Right);
break;
}
@ -418,9 +418,9 @@ void Menu::event(Core::Event& event)
// Default to the first enabled, non-separator item on key press if one has not been selected yet
int counter = 0;
for (auto const& item : m_items) {
if (!item.is_visible())
if (!item->is_visible())
continue;
if (item.type() != MenuItem::Separator && item.is_enabled()) {
if (item->type() != MenuItem::Separator && item->is_enabled()) {
set_hovered_index(counter, key == Key_Right);
break;
}
@ -562,12 +562,12 @@ void Menu::did_activate(MenuItem& item, bool leave_menu_open)
bool Menu::activate_default()
{
for (auto& item : m_items) {
if (!item.is_visible())
if (!item->is_visible())
continue;
if (item.type() == MenuItem::Type::Separator)
if (item->type() == MenuItem::Type::Separator)
continue;
if (item.is_enabled() && item.is_default()) {
did_activate(item, false);
if (item->is_enabled() && item->is_default()) {
did_activate(*item, false);
return true;
}
}
@ -577,8 +577,8 @@ bool Menu::activate_default()
MenuItem* Menu::item_with_identifier(unsigned identifier)
{
for (auto& item : m_items) {
if (item.identifier() == identifier)
return &item;
if (item->identifier() == identifier)
return item;
}
return nullptr;
}
@ -592,9 +592,9 @@ int Menu::item_index_at(Gfx::IntPoint position)
{
for (int i = 0; i < static_cast<int>(m_items.size()); ++i) {
auto const& item = m_items[i];
if (!item.is_visible())
if (!item->is_visible())
continue;
if (item.rect().contains(position))
if (item->rect().contains(position))
return i;
}
return -1;
@ -684,9 +684,9 @@ void Menu::do_popup(Gfx::IntPoint position, bool make_input, bool as_submenu)
bool Menu::is_menu_ancestor_of(Menu const& other) const
{
for (auto& item : m_items) {
if (!item.is_submenu())
if (!item->is_submenu())
continue;
auto& submenu = *item.submenu();
auto& submenu = *item->submenu();
if (&submenu == &other)
return true;
if (submenu.is_menu_ancestor_of(other))
@ -711,7 +711,7 @@ void Menu::update_alt_shortcuts_for_items()
m_alt_shortcut_character_to_item_indices.clear();
int i = 0;
for (auto& item : m_items) {
if (auto alt_shortcut = find_ampersand_shortcut_character(item.text())) {
if (auto alt_shortcut = find_ampersand_shortcut_character(item->text())) {
m_alt_shortcut_character_to_item_indices.ensure(to_ascii_lowercase(alt_shortcut)).append(i);
}
++i;