uiprivDateTimePickerWidget Fix calendarBlock GTK+ signal
This commit is contained in:
parent
f3d0fee21a
commit
266c633972
|
@ -31,6 +31,7 @@ struct uiprivDateTimePickerWidget {
|
||||||
GtkWidget *seconds;
|
GtkWidget *seconds;
|
||||||
GtkWidget *ampm;
|
GtkWidget *ampm;
|
||||||
|
|
||||||
|
gulong calendarBlock;
|
||||||
gulong hoursBlock;
|
gulong hoursBlock;
|
||||||
gulong minutesBlock;
|
gulong minutesBlock;
|
||||||
gulong secondsBlock;
|
gulong secondsBlock;
|
||||||
|
@ -428,17 +429,15 @@ static void uiprivDateTimePickerWidget_setTime(uiprivDateTimePickerWidget *d, GD
|
||||||
{
|
{
|
||||||
gint year, month, day;
|
gint year, month, day;
|
||||||
gint hour;
|
gint hour;
|
||||||
gulong calendarBlock;
|
|
||||||
|
|
||||||
// notice how we block signals from firing
|
// notice how we block signals from firing
|
||||||
if (d->hasDate) {
|
if (d->hasDate) {
|
||||||
calendarBlock = g_signal_connect(d->calendar, "day-selected", G_CALLBACK(dateChanged), d);
|
|
||||||
g_date_time_get_ymd(dt, &year, &month, &day);
|
g_date_time_get_ymd(dt, &year, &month, &day);
|
||||||
month--; // GDateTime/GtkCalendar differences
|
month--; // GDateTime/GtkCalendar differences
|
||||||
g_signal_handler_block(d->calendar, calendarBlock);
|
g_signal_handler_block(d->calendar, d->calendarBlock);
|
||||||
gtk_calendar_select_month(GTK_CALENDAR(d->calendar), month, year);
|
gtk_calendar_select_month(GTK_CALENDAR(d->calendar), month, year);
|
||||||
gtk_calendar_select_day(GTK_CALENDAR(d->calendar), day);
|
gtk_calendar_select_day(GTK_CALENDAR(d->calendar), day);
|
||||||
g_signal_handler_unblock(d->calendar, calendarBlock);
|
g_signal_handler_unblock(d->calendar, d->calendarBlock);
|
||||||
}
|
}
|
||||||
if (d->hasTime) {
|
if (d->hasTime) {
|
||||||
hour = g_date_time_get_hour(dt);
|
hour = g_date_time_get_hour(dt);
|
||||||
|
@ -472,6 +471,7 @@ static void uiprivDateTimePickerWidget_init(uiprivDateTimePickerWidget *d)
|
||||||
gtk_container_add(GTK_CONTAINER(d->window), d->box);
|
gtk_container_add(GTK_CONTAINER(d->window), d->box);
|
||||||
|
|
||||||
d->calendar = gtk_calendar_new();
|
d->calendar = gtk_calendar_new();
|
||||||
|
d->calendarBlock = g_signal_connect(d->calendar, "day-selected", G_CALLBACK(dateChanged), d);
|
||||||
gtk_container_add(GTK_CONTAINER(d->box), d->calendar);
|
gtk_container_add(GTK_CONTAINER(d->box), d->calendar);
|
||||||
|
|
||||||
d->timebox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
|
d->timebox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
|
||||||
|
|
Loading…
Reference in New Issue