event-editor/time-selector: Properly diff times
Helps: https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues/1133
This commit is contained in:
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#define G_LOG_DOMAIN "GcalTimeSelector"
|
#define G_LOG_DOMAIN "GcalTimeSelector"
|
||||||
|
|
||||||
|
#include "gcal-date-time-utils.h"
|
||||||
#include "gcal-time-selector.h"
|
#include "gcal-time-selector.h"
|
||||||
|
|
||||||
#include <glib/gi18n.h>
|
#include <glib/gi18n.h>
|
||||||
@@ -250,13 +251,16 @@ gcal_time_selector_set_time (GcalTimeSelector *selector,
|
|||||||
{
|
{
|
||||||
gint hour, minute;
|
gint hour, minute;
|
||||||
|
|
||||||
g_clear_pointer (&selector->time, g_date_time_unref);
|
if (selector->time &&
|
||||||
selector->time = g_date_time_new_local (g_date_time_get_year (time),
|
time &&
|
||||||
g_date_time_get_month (time),
|
g_date_time_get_hour (selector->time) == g_date_time_get_hour (time) &&
|
||||||
g_date_time_get_day_of_month (time),
|
g_date_time_get_minute (selector->time) == g_date_time_get_minute (time) &&
|
||||||
g_date_time_get_hour (time),
|
g_date_time_get_second (selector->time) == g_date_time_get_second (time))
|
||||||
g_date_time_get_minute (time),
|
{
|
||||||
0);
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
gcal_set_date_time (&selector->time, time);
|
||||||
|
|
||||||
/* Update the spinners */
|
/* Update the spinners */
|
||||||
g_signal_handlers_block_by_func (selector->hour_adjustment, update_time, selector);
|
g_signal_handlers_block_by_func (selector->hour_adjustment, update_time, selector);
|
||||||
|
|||||||
Reference in New Issue
Block a user