1
- /* $Id: datebook_gui.c,v 1.234 2010/10/14 04:47:04 rikster5 Exp $ */
1
+ /* $Id: datebook_gui.c,v 1.235 2010/10/15 14:26:03 rikster5 Exp $ */
2
2
3
3
/*******************************************************************************
4
4
* datebook_gui.c
@@ -2971,8 +2971,8 @@ static void cb_add_new_record(GtkWidget *widget, gpointer data)
2971
2971
2972
2972
free_CalendarEvent (& new_cale );
2973
2973
2974
- datebook_update_clist ();
2975
2974
highlight_days ();
2975
+ datebook_update_clist ();
2976
2976
2977
2977
/* Don't return to modified record if search gui active */
2978
2978
if (!glob_find_id ) {
@@ -3513,7 +3513,7 @@ static void cb_clist_selection(GtkWidget *clist,
3513
3513
return ;
3514
3514
}
3515
3515
3516
- static void set_date_labels (void )
3516
+ static void set_date_label (void )
3517
3517
{
3518
3518
struct tm now ;
3519
3519
char str [50 ];
@@ -3669,7 +3669,7 @@ static void cb_cal_changed(GtkWidget *widget,
3669
3669
{
3670
3670
int num ;
3671
3671
unsigned int cal_year , cal_month , cal_day ;
3672
- int mon_changed ;
3672
+ int day_changed , mon_changed , year_changed ;
3673
3673
int b ;
3674
3674
#ifdef EASTER
3675
3675
static int Easter = 0 ;
@@ -3734,6 +3734,8 @@ static void cb_cal_changed(GtkWidget *widget,
3734
3734
return ;
3735
3735
}
3736
3736
3737
+ day_changed = mon_changed = year_changed = 0 ;
3738
+
3737
3739
if (cal_year < 1903 ) {
3738
3740
cal_year = 1903 ;
3739
3741
gtk_calendar_select_month (GTK_CALENDAR (main_calendar ),
@@ -3745,21 +3747,21 @@ static void cb_cal_changed(GtkWidget *widget,
3745
3747
cal_month , 2037 );
3746
3748
}
3747
3749
3748
- mon_changed = 0 ;
3749
3750
if (current_year != cal_year - 1900 ) {
3750
3751
current_year = cal_year - 1900 ;
3751
- mon_changed = 1 ;
3752
+ year_changed = 1 ;
3753
+ mon_changed = 1 ;
3752
3754
}
3753
3755
if (current_month != cal_month ) {
3754
3756
current_month = cal_month ;
3755
- mon_changed = 1 ;
3757
+ mon_changed = 1 ;
3756
3758
}
3759
+ day_changed = (current_day != cal_day );
3757
3760
current_day = cal_day ;
3758
3761
3759
3762
jp_logf (JP_LOG_DEBUG , "cb_cal_changed, %02d/%02d/%02d\n" ,
3760
3763
cal_month ,cal_day ,cal_year );
3761
3764
3762
- set_date_labels ();
3763
3765
/* Easter Egg Code */
3764
3766
#ifdef EASTER
3765
3767
if (((current_day == 29 ) && (current_month == 7 )) ||
@@ -3773,10 +3775,14 @@ static void cb_cal_changed(GtkWidget *widget,
3773
3775
Easter = 0 ;
3774
3776
}
3775
3777
#endif
3778
+
3776
3779
if (mon_changed ) {
3777
3780
highlight_days ();
3778
3781
}
3779
- clist_row_selected = 0 ;
3782
+ if (day_changed || mon_changed || year_changed ) {
3783
+ set_date_label ();
3784
+ clist_row_selected = 0 ;
3785
+ }
3780
3786
datebook_update_clist ();
3781
3787
3782
3788
/* Keep focus on calendar so that GTK accelerator keys for calendar
@@ -3930,7 +3936,7 @@ int datebook_refresh(int first, int do_init)
3930
3936
}
3931
3937
}
3932
3938
highlight_days ();
3933
- set_date_labels ();
3939
+ set_date_label ();
3934
3940
3935
3941
datebook_find ();
3936
3942
0 commit comments