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>
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())
GUI::MessageBox::show_error(parent_window, DeprecatedString::formatted("Failed to spawn {}: {}", path, spawn_result.error()));
}
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 {
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<StringView> arguments);
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<DeprecatedString> arguments, StringView working_directory = {});
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 = {}, StringView working_directory = {});
};
}