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

LibGUI: Allow passing working directory to spawn_or_show_error()

This commit is contained in:
MacDue 2023-03-14 19:57:51 +00:00 committed by Linus Groh
parent 62e8360dcf
commit b3edd83e0a
2 changed files with 11 additions and 11 deletions

View file

@ -9,28 +9,28 @@
#include <LibGUI/Process.h> #include <LibGUI/Process.h>
template<typename StringType> template<typename StringType>
void spawn_or_show_error(GUI::Window* parent_window, StringView path, ReadonlySpan<StringType> arguments) void spawn_or_show_error(GUI::Window* parent_window, StringView path, ReadonlySpan<StringType> arguments, StringView working_directory)
{ {
auto spawn_result = Core::Process::spawn(path, arguments); auto spawn_result = Core::Process::spawn(path, arguments, working_directory);
if (spawn_result.is_error()) if (spawn_result.is_error())
GUI::MessageBox::show_error(parent_window, DeprecatedString::formatted("Failed to spawn {}: {}", path, spawn_result.error())); GUI::MessageBox::show_error(parent_window, DeprecatedString::formatted("Failed to spawn {}: {}", path, spawn_result.error()));
} }
namespace GUI { namespace GUI {
void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<DeprecatedString> arguments) void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<DeprecatedString> arguments, StringView working_directory)
{ {
::spawn_or_show_error<DeprecatedString>(parent_window, path, arguments); ::spawn_or_show_error<DeprecatedString>(parent_window, path, arguments, working_directory);
} }
void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<StringView> arguments) void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<StringView> arguments, StringView working_directory)
{ {
::spawn_or_show_error<StringView>(parent_window, path, arguments); ::spawn_or_show_error<StringView>(parent_window, path, arguments, working_directory);
} }
void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<char const*> arguments) void Process::spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<char const*> arguments, StringView working_directory)
{ {
::spawn_or_show_error<char const*>(parent_window, path, arguments); ::spawn_or_show_error<char const*>(parent_window, path, arguments, working_directory);
} }
} }

View file

@ -12,9 +12,9 @@
namespace GUI { namespace GUI {
struct Process { struct Process {
static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<DeprecatedString> arguments); static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<DeprecatedString> arguments, StringView working_directory = {});
static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<StringView> arguments); static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<StringView> arguments, StringView working_directory = {});
static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<char const*> arguments = {}); static void spawn_or_show_error(Window* parent_window, StringView path, ReadonlySpan<char const*> arguments = {}, StringView working_directory = {});
}; };
} }