mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 12:27:35 +00:00
LibGUI+Userland: Improve error and font handling for InputBox
Adds fallible factories, ports DeprecatedString, and rebuilds the layout to accomodate system font changes.
This commit is contained in:
parent
9c2bcffe83
commit
02a9e5d3f6
19 changed files with 135 additions and 124 deletions
|
@ -121,7 +121,7 @@ RefPtr<GUI::Menu> DebugInfoWidget::get_context_menu_for_variable(const GUI::Mode
|
|||
auto* variable = static_cast<Debug::DebugInfo::VariableInfo const*>(index.internal_data());
|
||||
if (does_variable_support_writing(variable)) {
|
||||
context_menu->add_action(GUI::Action::create("Change value", [&](auto&) {
|
||||
DeprecatedString value;
|
||||
String value;
|
||||
if (GUI::InputBox::show(window(), value, "Enter new value:"sv, "Set variable value"sv) == GUI::InputBox::ExecResult::OK) {
|
||||
auto& model = static_cast<VariablesModel&>(*m_variables_view->model());
|
||||
model.set_variable_value(index, value, window());
|
||||
|
|
|
@ -522,12 +522,12 @@ ErrorOr<NonnullRefPtr<GUI::Action>> HackStudioWidget::create_new_file_action(Dep
|
|||
{
|
||||
auto icon_no_shadow = TRY(Gfx::Bitmap::load_from_file(icon));
|
||||
return GUI::Action::create(label, icon_no_shadow, [this, extension](const GUI::Action&) {
|
||||
DeprecatedString filename;
|
||||
String filename;
|
||||
if (GUI::InputBox::show(window(), filename, "Enter name of new file:"sv, "Add new file to project"sv) != GUI::InputBox::ExecResult::OK)
|
||||
return;
|
||||
|
||||
if (!extension.is_empty() && !filename.ends_with(DeprecatedString::formatted(".{}", extension))) {
|
||||
filename = DeprecatedString::formatted("{}.{}", filename, extension);
|
||||
if (!extension.is_empty() && !AK::StringUtils::ends_with(filename, DeprecatedString::formatted(".{}", extension), CaseSensitivity::CaseSensitive)) {
|
||||
filename = String::formatted("{}.{}", filename, extension).release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
auto path_to_selected = selected_file_paths();
|
||||
|
@ -564,7 +564,7 @@ ErrorOr<NonnullRefPtr<GUI::Action>> HackStudioWidget::create_new_directory_actio
|
|||
{
|
||||
auto icon = TRY(Gfx::Bitmap::load_from_file("/res/icons/16x16/mkdir.png"sv));
|
||||
return GUI::Action::create("&Directory...", { Mod_Ctrl | Mod_Shift, Key_N }, icon, [this](const GUI::Action&) {
|
||||
DeprecatedString directory_name;
|
||||
String directory_name;
|
||||
if (GUI::InputBox::show(window(), directory_name, "Enter name of new directory:"sv, "Add new folder to project"sv) != GUI::InputBox::ExecResult::OK)
|
||||
return;
|
||||
|
||||
|
@ -580,7 +580,7 @@ ErrorOr<NonnullRefPtr<GUI::Action>> HackStudioWidget::create_new_directory_actio
|
|||
else
|
||||
dir_path = selected.dirname();
|
||||
|
||||
directory_name = DeprecatedString::formatted("{}/{}", dir_path, directory_name);
|
||||
directory_name = String::formatted("{}/{}", dir_path, directory_name).release_value_but_fixme_should_propagate_errors();
|
||||
}
|
||||
|
||||
auto formatted_dir_name = LexicalPath::canonicalized_path(DeprecatedString::formatted("{}/{}", m_project->model().root_path(), directory_name));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue