1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:07:34 +00:00

LibGUI+Userland: Port StatusBar::text() and set_text functions to String

This commit is contained in:
Karol Kosek 2023-06-04 10:24:38 +02:00 committed by Sam Atkins
parent 2064f544c6
commit 2029750519
27 changed files with 88 additions and 88 deletions

View file

@ -91,7 +91,7 @@ void Tab::view_source(const URL& url, DeprecatedString const& source)
window->show(); window->show();
} }
void Tab::update_status(Optional<DeprecatedString> text_override, i32 count_waiting) void Tab::update_status(Optional<String> text_override, i32 count_waiting)
{ {
if (text_override.has_value()) { if (text_override.has_value()) {
m_statusbar->set_text(*text_override); m_statusbar->set_text(*text_override);
@ -99,7 +99,7 @@ void Tab::update_status(Optional<DeprecatedString> text_override, i32 count_wait
} }
if (m_loaded) { if (m_loaded) {
m_statusbar->set_text(""); m_statusbar->set_text({});
return; return;
} }
@ -107,10 +107,10 @@ void Tab::update_status(Optional<DeprecatedString> text_override, i32 count_wait
if (count_waiting == 0) { if (count_waiting == 0) {
// ex: "Loading google.com" // ex: "Loading google.com"
m_statusbar->set_text(DeprecatedString::formatted("Loading {}", m_navigating_url->host())); m_statusbar->set_text(String::formatted("Loading {}", m_navigating_url->host()).release_value_but_fixme_should_propagate_errors());
} else { } else {
// ex: "google.com is waiting on 5 resources" // ex: "google.com is waiting on 5 resources"
m_statusbar->set_text(DeprecatedString::formatted("{} is waiting on {} resource{}", m_navigating_url->host(), count_waiting, count_waiting == 1 ? ""sv : "s"sv)); m_statusbar->set_text(String::formatted("{} is waiting on {} resource{}", m_navigating_url->host(), count_waiting, count_waiting == 1 ? ""sv : "s"sv).release_value_but_fixme_should_propagate_errors());
} }
} }
@ -509,7 +509,7 @@ Tab::Tab(BrowserWindow& window)
m_statusbar = *find_descendant_of_type_named<GUI::Statusbar>("statusbar"); m_statusbar = *find_descendant_of_type_named<GUI::Statusbar>("statusbar");
view().on_link_hover = [this](auto& url) { view().on_link_hover = [this](auto& url) {
update_status(url.to_deprecated_string()); update_status(String::from_deprecated_string(url.to_deprecated_string()).release_value_but_fixme_should_propagate_errors());
}; };
view().on_link_unhover = [this]() { view().on_link_unhover = [this]() {
@ -704,7 +704,7 @@ void Tab::did_become_active()
}; };
BookmarksBarWidget::the().on_bookmark_hover = [this](auto&, auto& url) { BookmarksBarWidget::the().on_bookmark_hover = [this](auto&, auto& url) {
m_statusbar->set_text(url); m_statusbar->set_text(String::from_deprecated_string(url).release_value_but_fixme_should_propagate_errors());
}; };
BookmarksBarWidget::the().on_bookmark_change = [this]() { BookmarksBarWidget::the().on_bookmark_change = [this]() {

View file

@ -111,7 +111,7 @@ private:
void update_bookmark_button(StringView url); void update_bookmark_button(StringView url);
void start_download(const URL& url); void start_download(const URL& url);
void view_source(const URL& url, DeprecatedString const& source); void view_source(const URL& url, DeprecatedString const& source);
void update_status(Optional<DeprecatedString> text_override = {}, i32 count_waiting = 0); void update_status(Optional<String> text_override = {}, i32 count_waiting = 0);
void close_sub_widgets(); void close_sub_widgets();
enum class MayAppendTLD { enum class MayAppendTLD {

View file

@ -179,5 +179,5 @@ void CharacterMapWidget::update_statusbar()
builder.appendff("U+{:04X}", code_point); builder.appendff("U+{:04X}", code_point);
if (auto display_name = Unicode::code_point_display_name(code_point); display_name.has_value()) if (auto display_name = Unicode::code_point_display_name(code_point); display_name.has_value())
builder.appendff(" - {}", display_name.value()); builder.appendff(" - {}", display_name.value());
m_statusbar->set_text(builder.to_deprecated_string()); m_statusbar->set_text(builder.to_string().release_value_but_fixme_should_propagate_errors());
} }

View file

@ -1135,7 +1135,7 @@ ErrorOr<int> run_in_windowed_mode(DeprecatedString const& initial_location, Depr
}; };
directory_view->on_status_message = [&](StringView message) { directory_view->on_status_message = [&](StringView message) {
statusbar.set_text(message); statusbar.set_text(String::from_utf8(message).release_value_but_fixme_should_propagate_errors());
}; };
directory_view->on_thumbnail_progress = [&](int done, int total) { directory_view->on_thumbnail_progress = [&](int done, int total) {

View file

@ -963,7 +963,7 @@ void MainWidget::update_statusbar()
else if (Gfx::Emoji::emoji_for_code_point(glyph)) else if (Gfx::Emoji::emoji_for_code_point(glyph))
TRY(builder.try_appendff(" [emoji]")); TRY(builder.try_appendff(" [emoji]"));
m_statusbar->set_text(0, builder.to_deprecated_string()); m_statusbar->set_text(0, TRY(builder.to_string()));
builder.clear(); builder.clear();
@ -972,7 +972,7 @@ void MainWidget::update_statusbar()
TRY(builder.try_appendff("{} glyphs selected", selection.size())); TRY(builder.try_appendff("{} glyphs selected", selection.size()));
else else
TRY(builder.try_appendff("U+{:04X}-U+{:04X}", m_range.first, m_range.last)); TRY(builder.try_appendff("U+{:04X}-U+{:04X}", m_range.first, m_range.last));
m_statusbar->set_text(1, builder.to_deprecated_string()); m_statusbar->set_text(1, TRY(builder.to_string()));
return {}; return {};
}(); }();

View file

@ -134,7 +134,7 @@ MainWidget::MainWidget()
}; };
m_web_view->on_link_hover = [this](URL const& url) { m_web_view->on_link_hover = [this](URL const& url) {
if (url.is_valid()) if (url.is_valid())
m_statusbar->set_text(url.to_deprecated_string()); m_statusbar->set_text(String::from_deprecated_string(url.to_deprecated_string()).release_value_but_fixme_should_propagate_errors());
else else
m_statusbar->set_text({}); m_statusbar->set_text({});
}; };

View file

@ -84,8 +84,8 @@ int GoToOffsetDialog::calculate_new_offset(int input_offset)
void GoToOffsetDialog::update_statusbar() void GoToOffsetDialog::update_statusbar()
{ {
auto new_offset = calculate_new_offset(process_input()); auto new_offset = calculate_new_offset(process_input());
m_statusbar->set_text(0, DeprecatedString::formatted("HEX: {:#08X}", new_offset)); m_statusbar->set_text(0, String::formatted("HEX: {:#08X}", new_offset).release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(1, DeprecatedString::formatted("DEC: {}", new_offset)); m_statusbar->set_text(1, String::formatted("DEC: {}", new_offset).release_value_but_fixme_should_propagate_errors());
} }
GoToOffsetDialog::GoToOffsetDialog() GoToOffsetDialog::GoToOffsetDialog()

View file

@ -61,11 +61,11 @@ HexEditorWidget::HexEditorWidget()
}; };
m_editor->on_status_change = [this](int position, HexEditor::EditMode edit_mode, int selection_start, int selection_end) { m_editor->on_status_change = [this](int position, HexEditor::EditMode edit_mode, int selection_start, int selection_end) {
m_statusbar->set_text(0, DeprecatedString::formatted("Offset: {:#08X}", position)); m_statusbar->set_text(0, String::formatted("Offset: {:#08X}", position).release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(1, DeprecatedString::formatted("Edit Mode: {}", edit_mode == HexEditor::EditMode::Hex ? "Hex" : "Text")); m_statusbar->set_text(1, String::formatted("Edit Mode: {}", edit_mode == HexEditor::EditMode::Hex ? "Hex" : "Text").release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(2, DeprecatedString::formatted("Selection Start: {}", selection_start)); m_statusbar->set_text(2, String::formatted("Selection Start: {}", selection_start).release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(3, DeprecatedString::formatted("Selection End: {}", selection_end)); m_statusbar->set_text(3, String::formatted("Selection End: {}", selection_end).release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(4, DeprecatedString::formatted("Selected Bytes: {}", m_editor->selection_size())); m_statusbar->set_text(4, String::formatted("Selected Bytes: {}", m_editor->selection_size()).release_value_but_fixme_should_propagate_errors());
bool has_selection = m_editor->has_selection(); bool has_selection = m_editor->has_selection();
m_copy_hex_action->set_enabled(has_selection); m_copy_hex_action->set_enabled(has_selection);

View file

@ -55,9 +55,9 @@ MailWidget::MailWidget()
m_web_view->on_link_hover = [this](auto& url) { m_web_view->on_link_hover = [this](auto& url) {
if (url.is_valid()) if (url.is_valid())
m_statusbar->set_text(url.to_deprecated_string()); m_statusbar->set_text(String::from_deprecated_string(url.to_deprecated_string()).release_value_but_fixme_should_propagate_errors());
else else
m_statusbar->set_text(""); m_statusbar->set_text({});
}; };
m_link_context_menu = GUI::Menu::construct(); m_link_context_menu = GUI::Menu::construct();

View file

@ -133,7 +133,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
} }
auto& app = *(NonnullRefPtr<Desktop::AppFile>*)index.internal_data(); auto& app = *(NonnullRefPtr<Desktop::AppFile>*)index.internal_data();
statusbar->set_text(app->description()); statusbar->set_text(String::from_deprecated_string(app->description()).release_value_but_fixme_should_propagate_errors());
}; };
window->set_icon(app_icon.bitmap_for_size(16)); window->set_icon(app_icon.bitmap_for_size(16));

View file

@ -394,7 +394,7 @@ static ErrorOr<void> fill_mounts(Vector<MountInfo>& output)
ErrorOr<void> TreeMapWidget::analyze(GUI::Statusbar& statusbar) ErrorOr<void> TreeMapWidget::analyze(GUI::Statusbar& statusbar)
{ {
statusbar.set_text(""); statusbar.set_text({});
auto progress_window = TRY(ProgressWindow::try_create("Space Analyzer"sv)); auto progress_window = TRY(ProgressWindow::try_create("Space Analyzer"sv));
progress_window->show(); progress_window->show();
@ -431,9 +431,9 @@ ErrorOr<void> TreeMapWidget::analyze(GUI::Statusbar& statusbar)
builder.append(')'); builder.append(')');
first = false; first = false;
} }
statusbar.set_text(builder.to_deprecated_string()); statusbar.set_text(TRY(builder.to_string()));
} else { } else {
statusbar.set_text("No errors"); statusbar.set_text(TRY("No errors"_string));
} }
m_tree = move(tree); m_tree = move(tree);

View file

@ -291,8 +291,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto process_model = ProcessModel::create(); auto process_model = ProcessModel::create();
process_model->on_state_update = [&](int process_count, int thread_count) { process_model->on_state_update = [&](int process_count, int thread_count) {
statusbar->set_text(0, DeprecatedString::formatted("Processes: {}", process_count)); statusbar->set_text(0, String::formatted("Processes: {}", process_count).release_value_but_fixme_should_propagate_errors());
statusbar->set_text(1, DeprecatedString::formatted("Threads: {}", thread_count)); statusbar->set_text(1, String::formatted("Threads: {}", thread_count).release_value_but_fixme_should_propagate_errors());
}; };
auto& performance_widget = *tabwidget.find_descendant_of_type_named<GUI::Widget>("performance"); auto& performance_widget = *tabwidget.find_descendant_of_type_named<GUI::Widget>("performance");
@ -605,7 +605,7 @@ ErrorOr<void> build_performance_tab(GUI::Widget& graphs_container)
sum_cpu += cpus[i]->total_cpu_percent; sum_cpu += cpus[i]->total_cpu_percent;
} }
float cpu_usage = sum_cpu / (float)cpus.size(); float cpu_usage = sum_cpu / (float)cpus.size();
statusbar->set_text(2, DeprecatedString::formatted("CPU usage: {}%", (int)roundf(cpu_usage))); statusbar->set_text(2, String::formatted("CPU usage: {}%", (int)roundf(cpu_usage)).release_value_but_fixme_should_propagate_errors());
}; };
auto& memory_graph = *graphs_container.find_descendant_of_type_named<SystemMonitor::GraphWidget>("memory_graph"); auto& memory_graph = *graphs_container.find_descendant_of_type_named<SystemMonitor::GraphWidget>("memory_graph");

View file

@ -350,7 +350,7 @@ WebView::OutOfProcessWebView& MainWidget::ensure_web_view()
m_page_view = web_view_container.add<WebView::OutOfProcessWebView>(); m_page_view = web_view_container.add<WebView::OutOfProcessWebView>();
m_page_view->on_link_hover = [this](auto& url) { m_page_view->on_link_hover = [this](auto& url) {
if (url.is_valid()) if (url.is_valid())
m_statusbar->set_text(url.to_deprecated_string()); m_statusbar->set_text(String::from_deprecated_string(url.to_deprecated_string()).release_value_but_fixme_should_propagate_errors());
else else
update_statusbar(); update_statusbar();
}; };
@ -600,12 +600,12 @@ ErrorOr<void> MainWidget::initialize_menubar(GUI::Window& window)
auto syntax_menu = TRY(view_menu->try_add_submenu("&Syntax"_short_string)); auto syntax_menu = TRY(view_menu->try_add_submenu("&Syntax"_short_string));
m_plain_text_highlight = GUI::Action::create_checkable("&Plain Text", [&](auto&) { m_plain_text_highlight = GUI::Action::create_checkable("&Plain Text", [&](auto&) {
m_statusbar->set_text(1, "Plain Text"); m_statusbar->set_text(1, "Plain Text"_string.release_value_but_fixme_should_propagate_errors());
m_editor->set_syntax_highlighter({}); m_editor->set_syntax_highlighter({});
m_editor->update(); m_editor->update();
}); });
m_plain_text_highlight->set_checked(true); m_plain_text_highlight->set_checked(true);
m_statusbar->set_text(1, "Plain Text"); m_statusbar->set_text(1, TRY("Plain Text"_string));
syntax_actions.add_action(*m_plain_text_highlight); syntax_actions.add_action(*m_plain_text_highlight);
TRY(syntax_menu->try_add_action(*m_plain_text_highlight)); TRY(syntax_menu->try_add_action(*m_plain_text_highlight));
@ -940,13 +940,13 @@ void MainWidget::update_statusbar()
auto word_count = m_editor->number_of_words(); auto word_count = m_editor->number_of_words();
builder.appendff("{:'d} {} ({:'d} {})", text.length(), text.length() == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word"); builder.appendff("{:'d} {} ({:'d} {})", text.length(), text.length() == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word");
} }
m_statusbar->set_text(0, builder.to_deprecated_string()); m_statusbar->set_text(0, builder.to_string().release_value_but_fixme_should_propagate_errors());
if (m_editor && m_editor->syntax_highlighter()) { if (m_editor && m_editor->syntax_highlighter()) {
auto language = m_editor->syntax_highlighter()->language(); auto language = m_editor->syntax_highlighter()->language();
m_statusbar->set_text(1, Syntax::language_to_string(language)); m_statusbar->set_text(1, String::from_utf8(Syntax::language_to_string(language)).release_value_but_fixme_should_propagate_errors());
} }
m_statusbar->set_text(2, DeprecatedString::formatted("Ln {:'d} Col {:'d}", m_editor->cursor().line() + 1, m_editor->cursor().column())); m_statusbar->set_text(2, String::formatted("Ln {:'d} Col {:'d}", m_editor->cursor().line() + 1, m_editor->cursor().column()).release_value_but_fixme_should_propagate_errors());
} }
void MainWidget::find_text(GUI::TextEditor::SearchDirection direction, ShowMessageIfNoResults show_message) void MainWidget::find_text(GUI::TextEditor::SearchDirection direction, ShowMessageIfNoResults show_message)

View file

@ -33,10 +33,10 @@ ErrorOr<void> GalleryWidget::load_basic_model_tab()
m_basic_model->on_invalidate = [&] { m_basic_model->on_invalidate = [&] {
m_invalidation_count++; m_invalidation_count++;
m_statusbar->set_text(DeprecatedString::formatted("Times invalidated: {}", m_invalidation_count)); m_statusbar->set_text(String::formatted("Times invalidated: {}", m_invalidation_count).release_value_but_fixme_should_propagate_errors());
}; };
m_statusbar->set_text(DeprecatedString::formatted("Times invalidated: {}", m_invalidation_count)); m_statusbar->set_text(TRY(String::formatted("Times invalidated: {}", m_invalidation_count)));
m_basic_model->add_item("Well..."); m_basic_model->add_item("Well...");
m_basic_model->add_item("...hello..."); m_basic_model->add_item("...hello...");

View file

@ -1615,9 +1615,9 @@ void HackStudioWidget::update_statusbar()
builder.appendff("Selected: {:'d} {} ({:'d} {})", selected_text.length(), selected_text.length() == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word"); builder.appendff("Selected: {:'d} {} ({:'d} {})", selected_text.length(), selected_text.length() == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word");
} }
m_statusbar->set_text(0, builder.to_deprecated_string()); m_statusbar->set_text(0, builder.to_string().release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(1, Syntax::language_to_string(current_editor_wrapper().editor().code_document().language().value_or(Syntax::Language::PlainText))); m_statusbar->set_text(1, String::from_utf8(Syntax::language_to_string(current_editor_wrapper().editor().code_document().language().value_or(Syntax::Language::PlainText))).release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(2, DeprecatedString::formatted("Ln {:'d} Col {:'d}", current_editor().cursor().line() + 1, current_editor().cursor().column())); m_statusbar->set_text(2, String::formatted("Ln {:'d} Col {:'d}", current_editor().cursor().line() + 1, current_editor().cursor().column()).release_value_but_fixme_should_propagate_errors());
} }
void HackStudioWidget::handle_external_file_deletion(DeprecatedString const& filepath) void HackStudioWidget::handle_external_file_deletion(DeprecatedString const& filepath)

View file

@ -251,7 +251,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
builder.appendff(", Duration: {} ms", end - start); builder.appendff(", Duration: {} ms", end - start);
} }
} }
statusbar->set_text(builder.to_deprecated_string()); statusbar->set_text(builder.to_string().release_value_but_fixme_should_propagate_errors());
}; };
timeline_view->on_selection_change = [&] { statusbar_update(); }; timeline_view->on_selection_change = [&] { statusbar_update(); };
flamegraph_view->on_hover_change = [&] { statusbar_update(); }; flamegraph_view->on_hover_change = [&] { statusbar_update(); };

View file

@ -164,7 +164,7 @@ ErrorOr<void> MainWidget::setup()
return; return;
m_run_script_action->set_enabled(false); m_run_script_action->set_enabled(false);
m_statusbar->set_text(1, "Disconnected"sv); m_statusbar->set_text(1, "Disconnected"_string.release_value_but_fixme_should_propagate_errors());
if (m_connection_id.has_value()) { if (m_connection_id.has_value()) {
m_sql_client->disconnect(*m_connection_id); m_sql_client->disconnect(*m_connection_id);
@ -172,7 +172,7 @@ ErrorOr<void> MainWidget::setup()
} }
if (auto connection_id = m_sql_client->connect(database_name); connection_id.has_value()) { if (auto connection_id = m_sql_client->connect(database_name); connection_id.has_value()) {
m_statusbar->set_text(1, DeprecatedString::formatted("Connected to: {}", database_name)); m_statusbar->set_text(1, String::formatted("Connected to: {}", database_name).release_value_but_fixme_should_propagate_errors());
m_connection_id = *connection_id; m_connection_id = *connection_id;
m_run_script_action->set_enabled(true); m_run_script_action->set_enabled(true);
} else { } else {
@ -245,7 +245,7 @@ ErrorOr<void> MainWidget::setup()
m_statusbar = find_descendant_of_type_named<GUI::Statusbar>("statusbar"sv); m_statusbar = find_descendant_of_type_named<GUI::Statusbar>("statusbar"sv);
m_statusbar->segment(1).set_mode(GUI::Statusbar::Segment::Mode::Auto); m_statusbar->segment(1).set_mode(GUI::Statusbar::Segment::Mode::Auto);
m_statusbar->set_text(1, "Disconnected"sv); m_statusbar->set_text(1, TRY("Disconnected"_string));
m_statusbar->segment(2).set_mode(GUI::Statusbar::Segment::Mode::Fixed); m_statusbar->segment(2).set_mode(GUI::Statusbar::Segment::Mode::Fixed);
m_statusbar->segment(2).set_fixed_width(font().width("Ln 0,000 Col 000"sv) + font().max_glyph_width()); m_statusbar->segment(2).set_fixed_width(font().width("Ln 0,000 Col 000"sv) + font().max_glyph_width());
@ -425,8 +425,8 @@ void MainWidget::on_editor_change()
void MainWidget::update_statusbar(ScriptEditor* editor) void MainWidget::update_statusbar(ScriptEditor* editor)
{ {
if (!editor) { if (!editor) {
m_statusbar->set_text(0, ""); m_statusbar->set_text(0, {});
m_statusbar->set_text(2, ""); m_statusbar->set_text(2, {});
return; return;
} }
@ -437,8 +437,8 @@ void MainWidget::update_statusbar(ScriptEditor* editor)
builder.appendff("Selected: {:'d} {} ({:'d} {})", character_count, character_count == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word"); builder.appendff("Selected: {:'d} {} ({:'d} {})", character_count, character_count == 1 ? "character" : "characters", word_count, word_count != 1 ? "words" : "word");
} }
m_statusbar->set_text(0, builder.to_deprecated_string()); m_statusbar->set_text(0, builder.to_string().release_value_but_fixme_should_propagate_errors());
m_statusbar->set_text(2, DeprecatedString::formatted("Ln {:'d} Col {:'d}", editor->cursor().line() + 1, editor->cursor().column())); m_statusbar->set_text(2, String::formatted("Ln {:'d} Col {:'d}", editor->cursor().line() + 1, editor->cursor().column()).release_value_but_fixme_should_propagate_errors());
} }
void MainWidget::update_editor_actions(ScriptEditor* editor) void MainWidget::update_editor_actions(ScriptEditor* editor)

View file

@ -89,7 +89,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto update = [&]() { auto update = [&]() {
board_view->set_board(&game.board()); board_view->set_board(&game.board());
board_view->update(); board_view->update();
statusbar->set_text(DeprecatedString::formatted("Score: {}", game.score())); statusbar->set_text(String::formatted("Score: {}", game.score()).release_value_but_fixme_should_propagate_errors());
}; };
update(); update();

View file

@ -105,7 +105,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto update = [&]() { auto update = [&]() {
board_widget->update(); board_widget->update();
statusbar->set_text(DeprecatedString::formatted("Moves remaining: {}", ai_moves - moves_made)); statusbar->set_text(String::formatted("Moves remaining: {}", ai_moves - moves_made).release_value_but_fixme_should_propagate_errors());
}; };
update(); update();

View file

@ -24,8 +24,6 @@
#include <LibGUI/Window.h> #include <LibGUI/Window.h>
#include <LibMain/Main.h> #include <LibMain/Main.h>
char const* click_tip = "Tip: click the board to toggle individual cells, or click+drag to toggle multiple cells";
ErrorOr<int> serenity_main(Main::Arguments arguments) ErrorOr<int> serenity_main(Main::Arguments arguments)
{ {
TRY(Core::System::pledge("stdio rpath recvfd sendfd unix")); TRY(Core::System::pledge("stdio rpath recvfd sendfd unix"));
@ -41,6 +39,8 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
TRY(Core::System::unveil("/res", "r")); TRY(Core::System::unveil("/res", "r"));
TRY(Core::System::unveil(nullptr, nullptr)); TRY(Core::System::unveil(nullptr, nullptr));
auto click_tip = TRY("Tip: click the board to toggle individual cells, or click+drag to toggle multiple cells"_string);
auto app_icon = TRY(GUI::Icon::try_create_default_icon("app-gameoflife"sv)); auto app_icon = TRY(GUI::Icon::try_create_default_icon("app-gameoflife"sv));
auto window = TRY(GUI::Window::try_create()); auto window = TRY(GUI::Window::try_create());
@ -147,7 +147,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
board_widget->on_running_state_change = [&]() { board_widget->on_running_state_change = [&]() {
if (board_widget->is_running()) { if (board_widget->is_running()) {
statusbar.set_text("Running..."); statusbar.set_text("Running..."_string.release_value_but_fixme_should_propagate_errors());
toggle_running_toolbar_button->set_icon(*paused_icon); toggle_running_toolbar_button->set_icon(*paused_icon);
main_widget->set_override_cursor(Gfx::StandardCursor::None); main_widget->set_override_cursor(Gfx::StandardCursor::None);
} else { } else {
@ -171,7 +171,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
board_widget->on_stall = [&] { board_widget->on_stall = [&] {
toggle_running_action->activate(); toggle_running_action->activate();
statusbar.set_text("Stalled..."); statusbar.set_text("Stalled..."_string.release_value_but_fixme_should_propagate_errors());
}; };
board_widget->on_cell_toggled = [&](auto, auto, auto) { board_widget->on_cell_toggled = [&](auto, auto, auto) {

View file

@ -57,7 +57,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
game.set_focus(true); game.set_focus(true);
auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar"); auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar");
statusbar.set_text(0, "Score: 0"); statusbar.set_text(0, TRY("Score: 0"_string));
DeprecatedString player_name = Config::read_string("Hearts"sv, ""sv, "player_name"sv, "Gunnar"sv); DeprecatedString player_name = Config::read_string("Hearts"sv, ""sv, "player_name"sv, "Gunnar"sv);

View file

@ -130,9 +130,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
game.on_message = [&](auto message) { game.on_message = [&](auto message) {
if (!message.has_value()) if (!message.has_value())
statusbar.set_text(""); statusbar.set_text({});
else else
statusbar.set_text(*message); statusbar.set_text(String::from_utf8(*message).release_value_but_fixme_should_propagate_errors());
}; };
window->show(); window->show();

View file

@ -62,15 +62,15 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto snake_skin_name = Config::read_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, "Classic"sv); auto snake_skin_name = Config::read_string("Snake"sv, "Snake"sv, "SnakeSkin"sv, "Classic"sv);
auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar"sv); auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar"sv);
statusbar.set_text(0, "Score: 0"sv); statusbar.set_text(0, TRY("Score: 0"_string));
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", high_score)); statusbar.set_text(1, TRY(String::formatted("High Score: {}", high_score)));
game.on_score_update = [&](auto score) { game.on_score_update = [&](auto score) {
statusbar.set_text(0, DeprecatedString::formatted("Score: {}", score)); statusbar.set_text(0, String::formatted("Score: {}", score).release_value_but_fixme_should_propagate_errors());
if (score <= high_score) if (score <= high_score)
return false; return false;
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", score)); statusbar.set_text(1, String::formatted("High Score: {}", score).release_value_but_fixme_should_propagate_errors());
Config::write_u32("Snake"sv, "Snake"sv, "HighScore"sv, score); Config::write_u32("Snake"sv, "Snake"sv, "HighScore"sv, score);
high_score = score; high_score = score;

View file

@ -90,9 +90,9 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
game.set_focus(true); game.set_focus(true);
auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar"); auto& statusbar = *widget->find_descendant_of_type_named<GUI::Statusbar>("statusbar");
statusbar.set_text(0, "Score: 0"); statusbar.set_text(0, TRY("Score: 0"_string));
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", high_score())); statusbar.set_text(1, TRY(String::formatted("High Score: {}", high_score())));
statusbar.set_text(2, "Time: 00:00:00"); statusbar.set_text(2, TRY("Time: 00:00:00"_string));
app->on_action_enter = [&](GUI::Action& action) { app->on_action_enter = [&](GUI::Action& action) {
auto text = action.status_tip(); auto text = action.status_tip();
@ -106,7 +106,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
}; };
game.on_score_update = [&](uint32_t score) { game.on_score_update = [&](uint32_t score) {
statusbar.set_text(0, DeprecatedString::formatted("Score: {}", score)); statusbar.set_text(0, String::formatted("Score: {}", score).release_value_but_fixme_should_propagate_errors());
}; };
uint64_t seconds_elapsed = 0; uint64_t seconds_elapsed = 0;
@ -118,13 +118,13 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
uint64_t minutes = (seconds_elapsed / 60) % 60; uint64_t minutes = (seconds_elapsed / 60) % 60;
uint64_t seconds = seconds_elapsed % 60; uint64_t seconds = seconds_elapsed % 60;
statusbar.set_text(2, DeprecatedString::formatted("Time: {:02}:{:02}:{:02}", hours, minutes, seconds)); statusbar.set_text(2, String::formatted("Time: {:02}:{:02}:{:02}", hours, minutes, seconds).release_value_but_fixme_should_propagate_errors());
})); }));
game.on_game_start = [&]() { game.on_game_start = [&]() {
seconds_elapsed = 0; seconds_elapsed = 0;
timer->start(); timer->start();
statusbar.set_text(2, "Time: 00:00:00"); statusbar.set_text(2, "Time: 00:00:00"_string.release_value_but_fixme_should_propagate_errors());
}; };
game.on_game_end = [&](Solitaire::GameOverReason reason, uint32_t score) { game.on_game_end = [&](Solitaire::GameOverReason reason, uint32_t score) {
if (timer->is_active()) if (timer->is_active())
@ -133,16 +133,16 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
if (reason == Solitaire::GameOverReason::Victory) { if (reason == Solitaire::GameOverReason::Victory) {
if (seconds_elapsed >= 30) { if (seconds_elapsed >= 30) {
uint32_t bonus = (20'000 / seconds_elapsed) * 35; uint32_t bonus = (20'000 / seconds_elapsed) * 35;
statusbar.set_text(0, DeprecatedString::formatted("Score: {} (Bonus: {})", score, bonus)); statusbar.set_text(0, String::formatted("Score: {} (Bonus: {})", score, bonus).release_value_but_fixme_should_propagate_errors());
score += bonus; score += bonus;
} }
if (score > high_score()) { if (score > high_score()) {
update_high_score(score); update_high_score(score);
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", score)); statusbar.set_text(1, String::formatted("High Score: {}", score).release_value_but_fixme_should_propagate_errors());
} }
} }
statusbar.set_text(2, "Timer starts after your first move"); statusbar.set_text(2, "Timer starts after your first move"_string.release_value_but_fixme_should_propagate_errors());
}; };
auto confirm_end_current_game = [&]() { auto confirm_end_current_game = [&]() {
@ -175,7 +175,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
if (!confirm_end_current_game()) if (!confirm_end_current_game())
return; return;
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", high_score())); statusbar.set_text(1, String::formatted("High Score: {}", high_score()).release_value_but_fixme_should_propagate_errors());
game.setup(mode); game.setup(mode);
}); });
single_card_draw_action->set_checked(mode == Solitaire::Mode::SingleCardDraw); single_card_draw_action->set_checked(mode == Solitaire::Mode::SingleCardDraw);
@ -188,7 +188,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
if (!confirm_end_current_game()) if (!confirm_end_current_game())
return; return;
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", high_score())); statusbar.set_text(1, String::formatted("High Score: {}", high_score()).release_value_but_fixme_should_propagate_errors());
game.setup(mode); game.setup(mode);
}); });
three_card_draw_action->set_checked(mode == Solitaire::Mode::ThreeCardDraw); three_card_draw_action->set_checked(mode == Solitaire::Mode::ThreeCardDraw);

View file

@ -127,19 +127,19 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto reset_statistic_status = [&]() { auto reset_statistic_status = [&]() {
switch (statistic_display) { switch (statistic_display) {
case StatisticDisplay::HighScore: case StatisticDisplay::HighScore:
statusbar.set_text(1, DeprecatedString::formatted("High Score: {}", high_score())); statusbar.set_text(1, String::formatted("High Score: {}", high_score()).release_value_but_fixme_should_propagate_errors());
break; break;
case StatisticDisplay::BestTime: case StatisticDisplay::BestTime:
statusbar.set_text(1, DeprecatedString::formatted("Best Time: {}", format_seconds(best_time()))); statusbar.set_text(1, String::formatted("Best Time: {}", format_seconds(best_time())).release_value_but_fixme_should_propagate_errors());
break; break;
default: default:
VERIFY_NOT_REACHED(); VERIFY_NOT_REACHED();
} }
}; };
statusbar.set_text(0, "Score: 0"); statusbar.set_text(0, TRY("Score: 0"_string));
reset_statistic_status(); reset_statistic_status();
statusbar.set_text(2, "Time: 00:00:00"); statusbar.set_text(2, TRY("Time: 00:00:00"_string));
app->on_action_enter = [&](GUI::Action& action) { app->on_action_enter = [&](GUI::Action& action) {
auto text = action.status_tip(); auto text = action.status_tip();
@ -153,7 +153,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
}; };
game.on_score_update = [&](uint32_t score) { game.on_score_update = [&](uint32_t score) {
statusbar.set_text(0, DeprecatedString::formatted("Score: {}", score)); statusbar.set_text(0, String::formatted("Score: {}", score).release_value_but_fixme_should_propagate_errors());
}; };
uint64_t seconds_elapsed = 0; uint64_t seconds_elapsed = 0;
@ -161,13 +161,13 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
auto timer = TRY(Core::Timer::create_repeating(1000, [&]() { auto timer = TRY(Core::Timer::create_repeating(1000, [&]() {
++seconds_elapsed; ++seconds_elapsed;
statusbar.set_text(2, DeprecatedString::formatted("Time: {}", format_seconds(seconds_elapsed))); statusbar.set_text(2, String::formatted("Time: {}", format_seconds(seconds_elapsed)).release_value_but_fixme_should_propagate_errors());
})); }));
game.on_game_start = [&]() { game.on_game_start = [&]() {
seconds_elapsed = 0; seconds_elapsed = 0;
timer->start(); timer->start();
statusbar.set_text(2, "Time: 00:00:00"); statusbar.set_text(2, "Time: 00:00:00"_string.release_value_but_fixme_should_propagate_errors());
}; };
game.on_game_end = [&](Spider::GameOverReason reason, uint32_t score) { game.on_game_end = [&](Spider::GameOverReason reason, uint32_t score) {
auto game_was_in_progress = timer->is_active(); auto game_was_in_progress = timer->is_active();
@ -192,7 +192,7 @@ ErrorOr<int> serenity_main(Main::Arguments arguments)
reset_statistic_status(); reset_statistic_status();
} }
statusbar.set_text(2, "Timer starts after your first move"); statusbar.set_text(2, "Timer starts after your first move"_string.release_value_but_fixme_should_propagate_errors());
}; };
auto confirm_end_current_game = [&]() { auto confirm_end_current_game = [&]() {

View file

@ -25,7 +25,7 @@ Statusbar::Statusbar(int count)
m_corner = add<ResizeCorner>(); m_corner = add<ResizeCorner>();
set_segment_count(count); set_segment_count(count);
REGISTER_DEPRECATED_STRING_PROPERTY("text", text, set_text); REGISTER_STRING_PROPERTY("text", text, set_text);
REGISTER_INT_PROPERTY("segment_count", segment_count, set_segment_count); REGISTER_INT_PROPERTY("segment_count", segment_count, set_segment_count);
} }
@ -100,19 +100,19 @@ void Statusbar::update_segment(size_t index)
} }
} }
DeprecatedString Statusbar::text(size_t index) const String Statusbar::text(size_t index) const
{ {
return m_segments[index]->text().to_deprecated_string(); return m_segments[index]->text();
} }
void Statusbar::set_text(DeprecatedString text) void Statusbar::set_text(String text)
{ {
set_text(0, move(text)); set_text(0, move(text));
} }
void Statusbar::set_text(size_t index, DeprecatedString text) void Statusbar::set_text(size_t index, String text)
{ {
m_segments[index]->m_restored_text = String::from_deprecated_string(text).release_value_but_fixme_should_propagate_errors(); m_segments[index]->m_restored_text = move(text);
update_segment(index); update_segment(index);
} }

View file

@ -19,9 +19,9 @@ class Statusbar : public Widget {
public: public:
virtual ~Statusbar() override = default; virtual ~Statusbar() override = default;
DeprecatedString text(size_t index = 0) const; String text(size_t index = 0) const;
void set_text(DeprecatedString); void set_text(String);
void set_text(size_t index, DeprecatedString); void set_text(size_t index, String);
void set_override_text(DeprecatedString); void set_override_text(DeprecatedString);
class Segment final : public Button { class Segment final : public Button {