1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:28:12 +00:00

Calendar: Add end date/time to events

This commit is contained in:
lanmonster 2023-10-06 15:45:18 -07:00 committed by Andreas Kling
parent 4984faa108
commit a7c3d39bab
2 changed files with 18 additions and 2 deletions

View file

@ -25,6 +25,7 @@ namespace Calendar {
AddEventDialog::AddEventDialog(Core::DateTime date_time, EventManager& event_manager, Window* parent_window)
: Dialog(parent_window)
, m_start_date_time(date_time)
, m_end_date_time(Core::DateTime::from_timestamp(date_time.timestamp() + (15 * 60)))
, m_event_manager(event_manager)
{
resize(158, 130);
@ -32,6 +33,9 @@ AddEventDialog::AddEventDialog(Core::DateTime date_time, EventManager& event_man
set_resizable(false);
set_icon(parent_window->icon());
dbgln("start time: {}", m_start_date_time.to_string().release_value_but_fixme_should_propagate_errors());
dbgln("end time: {}", m_end_date_time.to_string().release_value_but_fixme_should_propagate_errors());
m_start_date_time = Core::DateTime::create(m_start_date_time.year(), m_start_date_time.month(), m_start_date_time.day(), 12, 0);
auto widget = set_main_widget<GUI::Widget>();
@ -97,12 +101,23 @@ AddEventDialog::AddEventDialog(Core::DateTime date_time, EventManager& event_man
ErrorOr<void> AddEventDialog::add_event_to_calendar()
{
auto to_date_string = [](Core::DateTime date_time) -> ErrorOr<String> {
return String::formatted("{}-{:0>2d}-{:0>2d}", date_time.year(), date_time.month(), date_time.day());
};
auto to_time_string = [](Core::DateTime date_time) -> ErrorOr<String> {
return String::formatted("{}:{:0>2d}", date_time.hour(), date_time.minute());
};
JsonObject event;
auto start_date = TRY(String::formatted("{}-{:0>2d}-{:0>2d}", m_start_date_time.year(), m_start_date_time.month(), m_start_date_time.day()));
auto start_time = TRY(String::formatted("{}:{:0>2d}", m_start_date_time.hour(), m_start_date_time.minute()));
auto start_date = TRY(to_date_string(m_start_date_time));
auto start_time = TRY(to_time_string(m_start_date_time));
auto end_date = TRY(to_date_string(m_end_date_time));
auto end_time = TRY(to_time_string(m_end_date_time));
auto summary = find_descendant_of_type_named<GUI::TextBox>("event_title_textbox")->get_text();
event.set("start_date", JsonValue(start_date));
event.set("start_time", JsonValue(start_time));
event.set("end_date", JsonValue(end_date));
event.set("end_time", JsonValue(end_time));
event.set("summary", JsonValue(summary));
TRY(m_event_manager.add_event(event));
m_event_manager.set_dirty(true);

View file

@ -70,6 +70,7 @@ private:
};
Core::DateTime m_start_date_time;
Core::DateTime m_end_date_time;
EventManager& m_event_manager;
};