From 3f0cf7d271ac980d2653e8247552b043c9a84266 Mon Sep 17 00:00:00 2001 From: Zwarf Date: Wed, 15 Jun 2022 23:31:54 +0200 Subject: [PATCH] Add milky way disturbance feature --- src/window/milky-way-page/milky-way-view.c | 57 ++++++++++++++++++--- src/window/milky-way-page/milky-way-view.h | 3 +- src/window/milky-way-page/milky-way-view.ui | 6 ++- src/window/picplanner-window.c | 7 +-- 4 files changed, 61 insertions(+), 12 deletions(-) diff --git a/src/window/milky-way-page/milky-way-view.c b/src/window/milky-way-page/milky-way-view.c index 3db9ec0..c434104 100644 --- a/src/window/milky-way-page/milky-way-view.c +++ b/src/window/milky-way-page/milky-way-view.c @@ -127,9 +127,13 @@ picplanner_milky_way_set_disturbance (PicplannerMilkyway *milky_way, int *dark_blue_golden_index_sun, int *rise_upper_set_index_moon, int *rise_upper_set_index_milky_way, - double illumination_moon) + double elevation_sun, + double elevation_moon) { + + g_print("Elevation Sun: %f, Elevation Moon: %f", elevation_sun, elevation_moon); char *char_label_disturbance_sun; + char *char_label_disturbance_moon; char *char_label_visibility_time; GDateTime *date_time_dark_end; @@ -145,17 +149,58 @@ picplanner_milky_way_set_disturbance (PicplannerMilkyway *milky_way, dark_blue_golden_index_sun[0]*24*60/NUM_DATA_POINTS-12*60); date_time_dark_begin = g_date_time_add_minutes (date_time_noon, dark_blue_golden_index_sun[7]*24*60/NUM_DATA_POINTS-12*60); - char_label_disturbance_sun = g_strdup_printf ("%02d:%02d - %02d:%02d", - g_date_time_get_hour (date_time_dark_end), - g_date_time_get_minute (date_time_dark_end), - g_date_time_get_hour (date_time_dark_begin), - g_date_time_get_minute (date_time_dark_begin)); + + if (dark_blue_golden_index_sun[0]>=0 && dark_blue_golden_index_sun[7]>=0) + { + if (dark_blue_golden_index_sun[7]>=0) + { + char_label_disturbance_sun = g_strdup_printf ("%02d:%02d", + g_date_time_get_hour (date_time_dark_begin), + g_date_time_get_minute (date_time_dark_begin)); + } + else + { + char_label_disturbance_sun = g_strdup_printf ("00:00"); + } + if (dark_blue_golden_index_sun[0]>=0) + { + char_label_disturbance_sun = g_strdup_printf ("%s - %02d:%02d", + char_label_disturbance_sun, + g_date_time_get_hour (date_time_dark_end), + g_date_time_get_minute (date_time_dark_end)); + } + else + { + char_label_disturbance_sun = g_strdup_printf ("%s - 23:59", + char_label_disturbance_sun); + } + } + else + { + if (elevation_sun < 0) + { + char_label_disturbance_sun = g_strdup_printf ("00:00 - 23:59"); + } + else + { + char_label_disturbance_sun = g_strdup_printf ("--:-- - --:--"); + } + } + + gtk_label_set_text (GTK_LABEL (milky_way->label_disturbance_sun), char_label_disturbance_sun); date_time_rise_moon = g_date_time_add_minutes (date_time_noon, rise_upper_set_index_moon[0]*24*60/NUM_DATA_POINTS-12*60); date_time_set_moon = g_date_time_add_minutes (date_time_noon, rise_upper_set_index_moon[2]*24*60/NUM_DATA_POINTS-12*60); + char_label_disturbance_moon = g_strdup_printf ("%02d:%02d - %02d:%02d", + g_date_time_get_hour (date_time_set_moon), + g_date_time_get_minute (date_time_set_moon), + g_date_time_get_hour (date_time_rise_moon), + g_date_time_get_minute (date_time_rise_moon)); + gtk_label_set_text (GTK_LABEL (milky_way->label_disturbance_moon), char_label_disturbance_moon); + date_time_rise_milky_way = g_date_time_add_minutes (date_time_noon, rise_upper_set_index_milky_way[0]*24*60/NUM_DATA_POINTS-12*60); diff --git a/src/window/milky-way-page/milky-way-view.h b/src/window/milky-way-page/milky-way-view.h index 4090a8f..4906932 100644 --- a/src/window/milky-way-page/milky-way-view.h +++ b/src/window/milky-way-page/milky-way-view.h @@ -39,7 +39,8 @@ picplanner_milky_way_set_disturbance (PicplannerMilkyway *milky_way, int *dark_blue_golden_index_sun, int *rise_upper_set_index_moon, int *rise_upper_set_index_milky_way, - double illumination_moon); + double elevation_sun, + double elevation_moon); PicplannerMilkyway *picplanner_milkyway_new (); diff --git a/src/window/milky-way-page/milky-way-view.ui b/src/window/milky-way-page/milky-way-view.ui index c45764a..b136564 100644 --- a/src/window/milky-way-page/milky-way-view.ui +++ b/src/window/milky-way-page/milky-way-view.ui @@ -147,7 +147,8 @@ 5 - Disturbance by Sun + No disturbance by Sun + Begin - End vertical @@ -164,7 +165,8 @@ - Disturbance by Moon + No disturbance by Moon + Begin - End vertical diff --git a/src/window/picplanner-window.c b/src/window/picplanner-window.c index afbe0b6..832771c 100644 --- a/src/window/picplanner-window.c +++ b/src/window/picplanner-window.c @@ -349,14 +349,15 @@ calculate_positions (PicplannerWindow *window) array_coordinates_milky_way, rise_upper_set_index_milky_way); -/* + picplanner_milky_way_set_disturbance (PICPLANNER_MILKYWAY (window->milky_way_box), date_time_noon, dark_blue_golden_index, rise_upper_set_index_moon, rise_upper_set_index_milky_way, - illumination_moon); -*/ + array_coordinates_sun[NUM_DATA_POINTS+1], + array_coordinates_moon[NUM_DATA_POINTS+1]); + /* * Update Shumate Map