2020-03-19 18:55:25 +00:00
|
|
|
/*
|
|
|
|
* Copyright (c) 2019-2020, Ryan Grieb <ryan.m.grieb@gmail.com>
|
2023-06-29 01:17:31 +00:00
|
|
|
* Copyright (c) 2022-2023, the SerenityOS developers.
|
2023-11-17 20:51:13 +00:00
|
|
|
* Copyright (c) 2023, David Ganz <david.g.ganz@gmail.com>
|
2020-03-19 18:55:25 +00:00
|
|
|
*
|
2021-04-22 08:24:48 +00:00
|
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
2020-03-19 18:55:25 +00:00
|
|
|
*/
|
|
|
|
|
2020-03-10 21:41:48 +00:00
|
|
|
#pragma once
|
|
|
|
|
2023-06-29 01:17:31 +00:00
|
|
|
#include "EventManager.h"
|
2020-08-19 13:29:43 +00:00
|
|
|
#include <LibGUI/Calendar.h>
|
2020-03-10 21:41:48 +00:00
|
|
|
#include <LibGUI/Dialog.h>
|
|
|
|
#include <LibGUI/Window.h>
|
|
|
|
|
2023-06-29 01:17:31 +00:00
|
|
|
namespace Calendar {
|
|
|
|
|
2020-03-10 21:41:48 +00:00
|
|
|
class AddEventDialog final : public GUI::Dialog {
|
|
|
|
C_OBJECT(AddEventDialog)
|
|
|
|
public:
|
2022-02-10 19:28:48 +00:00
|
|
|
virtual ~AddEventDialog() override = default;
|
2020-03-10 21:41:48 +00:00
|
|
|
|
2023-06-29 01:17:31 +00:00
|
|
|
static void show(Core::DateTime date_time, EventManager& event_manager, Window* parent_window = nullptr)
|
2020-03-10 21:41:48 +00:00
|
|
|
{
|
2023-06-29 01:17:31 +00:00
|
|
|
auto dialog = AddEventDialog::construct(date_time, event_manager, parent_window);
|
2020-03-10 21:41:48 +00:00
|
|
|
dialog->exec();
|
|
|
|
}
|
|
|
|
|
2023-05-26 19:32:20 +00:00
|
|
|
ErrorOr<bool> add_event_to_calendar(Core::DateTime start_date_time, Core::DateTime end_date_time);
|
|
|
|
|
2020-03-10 21:41:48 +00:00
|
|
|
private:
|
2023-06-29 01:17:31 +00:00
|
|
|
AddEventDialog(Core::DateTime date_time, EventManager& event_manager, Window* parent_window = nullptr);
|
|
|
|
|
|
|
|
EventManager& m_event_manager;
|
2020-03-10 21:41:48 +00:00
|
|
|
};
|
2023-06-29 01:17:31 +00:00
|
|
|
|
|
|
|
}
|