mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 12:12:45 +00:00 
			
		
		
		
	Calendar: Add end date/time to events
This commit is contained in:
		
							parent
							
								
									4984faa108
								
							
						
					
					
						commit
						a7c3d39bab
					
				
					 2 changed files with 18 additions and 2 deletions
				
			
		|  | @ -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); | ||||
|  |  | |||
|  | @ -70,6 +70,7 @@ private: | |||
|     }; | ||||
| 
 | ||||
|     Core::DateTime m_start_date_time; | ||||
|     Core::DateTime m_end_date_time; | ||||
|     EventManager& m_event_manager; | ||||
| }; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 lanmonster
						lanmonster