/* * Copyright (c) 2018-2022, Andreas Kling * Copyright (c) 2022, the SerenityOS developers. * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include namespace GUI { class MessageBox : public Dialog { C_OBJECT(MessageBox) public: enum class Type { None, Information, Warning, Error, Question }; enum class InputType { OK, OKCancel, YesNo, YesNoCancel, }; virtual ~MessageBox() override = default; static ExecResult show(Window* parent_window, StringView text, StringView title, Type type = Type::None, InputType input_type = InputType::OK); static ExecResult show_error(Window* parent_window, StringView text); static ExecResult ask_about_unsaved_changes(Window* parent_window, StringView path, Optional