1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 00:57:45 +00:00

FileManager: Pluralize empty selection statusbar message properly

"item(s)" is silly, we can be more specific. :^)
This commit is contained in:
Linus Groh 2021-04-18 00:48:07 +02:00
parent f07efa1640
commit 0d4912826b

View file

@ -457,11 +457,13 @@ void DirectoryView::update_statusbar()
if (m_view_mode == ViewMode::Invalid) if (m_view_mode == ViewMode::Invalid)
return; return;
size_t total_size = model().node({}).total_size; StringBuilder builder;
if (current_view().selection().is_empty()) { if (current_view().selection().is_empty()) {
set_status_message(String::formatted("{} item(s) ({})", int total_item_count = model().row_count();
model().row_count(), size_t total_size = model().node({}).total_size;
human_readable_size(total_size))); builder.appendff("{} item{} ({})", total_item_count, total_item_count != 1 ? "s" : "", human_readable_size(total_size));
set_status_message(builder.string_view());
return; return;
} }
@ -473,14 +475,7 @@ void DirectoryView::update_statusbar()
selected_byte_count += node.size; selected_byte_count += node.size;
}); });
StringBuilder builder; builder.appendff("{} item{} selected ({})", selected_item_count, selected_item_count != 1 ? "s" : "", human_readable_size(selected_byte_count));
builder.append(String::number(selected_item_count));
builder.append(" item");
if (selected_item_count != 1)
builder.append('s');
builder.append(" selected (");
builder.append(human_readable_size(selected_byte_count).characters());
builder.append(')');
if (selected_item_count == 1) { if (selected_item_count == 1) {
auto& node = this->node(current_view().selection().first()); auto& node = this->node(current_view().selection().first());
@ -490,7 +485,7 @@ void DirectoryView::update_statusbar()
} }
} }
set_status_message(builder.to_string()); set_status_message(builder.string_view());
} }
void DirectoryView::set_should_show_dotfiles(bool show_dotfiles) void DirectoryView::set_should_show_dotfiles(bool show_dotfiles)