pkg://jpilot-0.99.8-0.pre10.fc4.1.src.rpm:1388222/jpilot-0.99.8-curday.patch
info downloads
--- jpilot-0.99.8-pre8/datebook_gui.c.orig 2005-03-30 15:19:54.000000000 +0200
+++ jpilot-0.99.8-pre8/datebook_gui.c 2005-03-30 23:57:17.504968963 +0200
@@ -111,9 +111,14 @@
gint column,
GdkEventButton *event,
gpointer data);
+
+static void cb_cal_changed(GtkWidget *widget,
+ gpointer data);
+
static void cb_add_new_record(GtkWidget *widget,
gpointer data);
+static void set_date_labels();
static void set_new_button_to(int new_state);
static void connect_changed_signals(int con_or_dis);
@@ -2655,12 +2660,24 @@
pc_datebook_write(&new_appt, NEW_PC_REC, attrib, &unique_id);
/* Fixme - what should happen here is that the calendar should be
positioned on the or the next future occurrence */
+
+ /* Need to disconnect signal before using gtk_calendar_select_day
+ or callback will be activated inadvertently. */
+ gtk_signal_disconnect_by_func(GTK_OBJECT(main_calendar),
+ GTK_SIGNAL_FUNC(cb_cal_changed),
+ GINT_TO_POINTER(CAL_DAY_SELECTED));
+
gtk_calendar_freeze(GTK_CALENDAR(main_calendar));
gtk_calendar_select_day(GTK_CALENDAR(main_calendar), 1);
gtk_calendar_select_month(GTK_CALENDAR(main_calendar),
new_appt.begin.tm_mon, new_appt.begin.tm_year+1900);
gtk_calendar_select_day(GTK_CALENDAR(main_calendar), new_appt.begin.tm_mday);
gtk_calendar_thaw(GTK_CALENDAR(main_calendar));
+
+ set_date_labels();
+ gtk_signal_connect(GTK_OBJECT(main_calendar),
+ "day_selected", GTK_SIGNAL_FUNC(cb_cal_changed),
+ GINT_TO_POINTER(CAL_DAY_SELECTED));
}
free_Appointment(&new_appt);
@@ -3177,7 +3194,7 @@
/*
* When a calendar day is pressed
*/
-void cb_cal_changed(GtkWidget *widget,
+static void cb_cal_changed(GtkWidget *widget,
gpointer data)
{
int num;
@@ -3375,6 +3392,7 @@
gtk_calendar_select_day(GTK_CALENDAR(main_calendar), copy_current_day);
gtk_calendar_thaw(GTK_CALENDAR(main_calendar));
}
+ set_date_labels();
gtk_signal_connect(GTK_OBJECT(main_calendar),
"day_selected", GTK_SIGNAL_FUNC(cb_cal_changed),
GINT_TO_POINTER(CAL_DAY_SELECTED));