Updating branch refs/heads/master to f9f1a081fcfac17e4db7f4d78160baa6162e8ea8 (commit) from 37068a9f22eb7eef1375795032ec33d6dda75f6e (commit)
commit f9f1a081fcfac17e4db7f4d78160baa6162e8ea8 Author: Juha Kautto <j...@xfce.org> Date: Fri Feb 5 17:22:10 2010 +0200 4.7.5.12 Added time to main calendar event box Created enhancement BUG 6180: Show time in info box. (* shows current day.) Thanks to patch from Andre Bogus. configure.in.in | 2 +- src/functions.c | 11 +++++++++++ src/functions.h | 1 + src/mainbox.c | 16 ++++++++++++++-- 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/configure.in.in b/configure.in.in index 3595f1d..62fbde9 100644 --- a/configure.in.in +++ b/configure.in.in @@ -9,7 +9,7 @@ dnl Written for Xfce by Juha Kautto <j...@xfce.org> dnl dnl Version information -m4_define([orage_version], [4.7.5.11-git]) +m4_define([orage_version], [4.7.5.12-git]) m4_define([gtk_minimum_version], [2.10.0]) m4_define([xfce_minimum_version], [4.6.0]) diff --git a/src/functions.c b/src/functions.c index 37c286c..fd6a720 100644 --- a/src/functions.c +++ b/src/functions.c @@ -583,6 +583,17 @@ char *orage_icaltime_to_i18_time(const char *icaltime) return(ct); } +char *orage_icaltime_to_i18_time_short(const char *icaltime) +{ + struct tm t; + static char i18_time[10]; + + t = orage_icaltime_to_tm_time(icaltime, TRUE); + if (strftime(i18_time, 10, "%R", &t) == 0) + g_error("Orage: orage_icaltime_to_i18_time_short too long string in strftime"); + return(i18_time); +} + char *orage_i18_time_to_icaltime(const char *i18_time) { struct tm t; diff --git a/src/functions.h b/src/functions.h index b0c7d3a..01261d6 100644 --- a/src/functions.h +++ b/src/functions.h @@ -93,6 +93,7 @@ char *orage_tm_date_to_i18_date(struct tm *tm_date); char *orage_tm_time_to_icaltime(struct tm *t); struct tm orage_icaltime_to_tm_time(const char *i18_date, gboolean real_tm); char *orage_icaltime_to_i18_time(const char *icaltime); +char *orage_icaltime_to_i18_time_short(const char *icaltime); struct tm orage_cal_to_tm_time(GtkCalendar *cal, gint hh, gint mm); char *orage_cal_to_i18_time(GtkCalendar *cal, gint hh, gint mm); char *orage_cal_to_i18_date(GtkCalendar *cal); diff --git a/src/mainbox.c b/src/mainbox.c index eff306b..fc25b68 100644 --- a/src/mainbox.c +++ b/src/mainbox.c @@ -356,7 +356,7 @@ static void add_info_row(xfical_appt *appt, GtkBox *parentBox, gboolean todo) CalWin *cal = (CalWin *)g_par.xfcal; gchar *tip, *tmp, *tmp_title, *tmp_note; struct tm *t; - char *l_time, *s_time, *e_time, *c_time, *na; + char *l_time, *s_time, *s_timeonly, *e_time, *c_time, *na, *today; gint len; #ifdef ORAGE_DEBUG @@ -365,7 +365,19 @@ static void add_info_row(xfical_appt *appt, GtkBox *parentBox, gboolean todo) /***** add data into the vbox *****/ ev = gtk_event_box_new(); tmp_title = orage_process_text_commands(appt->title); - tmp = g_strdup_printf(" %s", tmp_title); + if (appt->allDay || todo) { + tmp = g_strdup_printf(" %s", tmp_title); + } + else { + s_timeonly = g_strdup(orage_icaltime_to_i18_time_short( + appt->starttimecur)); + today = orage_tm_time_to_icaltime(orage_localtime()); + if (!strncmp(today, appt->starttimecur, 8)) /* today */ + tmp = g_strdup_printf(" %s* %s", s_timeonly, appt->title); + else + tmp = g_strdup_printf(" %s %s", s_timeonly, appt->title); + g_free(s_timeonly); + } label = gtk_label_new(tmp); g_free(tmp); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits