datetime: update the time labels when the location is changed
Update the time labels so that the time is changed accordingly with the timezone.
This commit is contained in:
parent
402d7dce03
commit
8db6536da9
1 changed files with 24 additions and 1 deletions
|
@ -183,8 +183,12 @@ location_changed_cb (CcTimezoneMap *map,
|
||||||
TzLocation *location,
|
TzLocation *location,
|
||||||
CcDateTimePanel *self)
|
CcDateTimePanel *self)
|
||||||
{
|
{
|
||||||
GtkWidget *label;
|
CcDateTimePanelPrivate *priv = self->priv;
|
||||||
|
GtkWidget *label, *widget;
|
||||||
gchar *s, *p;
|
gchar *s, *p;
|
||||||
|
time_t t;
|
||||||
|
struct tm *ltime;
|
||||||
|
gchar slabel[32];
|
||||||
|
|
||||||
label = (GtkWidget *) gtk_builder_get_object (self->priv->builder,
|
label = (GtkWidget *) gtk_builder_get_object (self->priv->builder,
|
||||||
"label_current_location");
|
"label_current_location");
|
||||||
|
@ -201,6 +205,25 @@ location_changed_cb (CcTimezoneMap *map,
|
||||||
gtk_label_set_text (GTK_LABEL (label), s);
|
gtk_label_set_text (GTK_LABEL (label), s);
|
||||||
|
|
||||||
g_free (s);
|
g_free (s);
|
||||||
|
|
||||||
|
|
||||||
|
/* tz.c updates the local timezone, which means the spin buttons can be
|
||||||
|
* updated with the current time of the new location */
|
||||||
|
|
||||||
|
t = time (NULL);
|
||||||
|
ltime = localtime (&t);
|
||||||
|
|
||||||
|
widget = (GtkWidget *) gtk_builder_get_object (priv->builder, "spin_hour");
|
||||||
|
gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), ltime->tm_hour);
|
||||||
|
widget = (GtkWidget *) gtk_builder_get_object (priv->builder, "spin_minute");
|
||||||
|
gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), ltime->tm_min);
|
||||||
|
widget = (GtkWidget *) gtk_builder_get_object (priv->builder, "spin_second");
|
||||||
|
gtk_spin_button_set_value (GTK_SPIN_BUTTON (widget), ltime->tm_sec);
|
||||||
|
|
||||||
|
widget = (GtkWidget*) gtk_builder_get_object (priv->builder,
|
||||||
|
"label_current_time");
|
||||||
|
strftime (slabel, 32, "%X", localtime (&t));
|
||||||
|
gtk_label_set_text (GTK_LABEL (widget), slabel);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue