[Gnucash-changes] r13094 - gnucash/trunk/src/gnome-utils -
gnc_date_edit_set_gdate(): A GDate setter for GNCDateEdit is
useful, too.
Chris Shoemaker
chris at cvs.gnucash.org
Sat Feb 4 11:29:01 EST 2006
Author: chris
Date: 2006-02-04 11:29:00 -0500 (Sat, 04 Feb 2006)
New Revision: 13094
Trac: http://svn.gnucash.org/trac/changeset/13094
Modified:
gnucash/trunk/src/gnome-utils/gnc-date-edit.c
gnucash/trunk/src/gnome-utils/gnc-date-edit.h
Log:
gnc_date_edit_set_gdate(): A GDate setter for GNCDateEdit is useful, too.
Modified: gnucash/trunk/src/gnome-utils/gnc-date-edit.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-date-edit.c 2006-02-04 15:17:51 UTC (rev 13093)
+++ gnucash/trunk/src/gnome-utils/gnc-date-edit.c 2006-02-04 16:29:00 UTC (rev 13094)
@@ -491,6 +491,26 @@
callback_data);
}
+static void
+gnc_date_edit_set_time_tm (GNCDateEdit *gde, struct tm *mytm)
+{
+ char buffer [40];
+
+ /* Set the date */
+ qof_print_date_dmy_buff (buffer, 40,
+ mytm->tm_mday,
+ mytm->tm_mon + 1,
+ 1900 + mytm->tm_year);
+ gtk_entry_set_text (GTK_ENTRY (gde->date_entry), buffer);
+
+ /* Set the time */
+ if (gde->flags & GNC_DATE_EDIT_24_HR)
+ strftime (buffer, sizeof (buffer), "%H:%M", mytm);
+ else
+ strftime (buffer, sizeof (buffer), "%I:%M %p", mytm);
+ gtk_entry_set_text (GTK_ENTRY (gde->time_entry), buffer);
+}
+
/**
* gnc_date_edit_set_time:
* @gde: the GNCDateEdit widget
@@ -503,7 +523,6 @@
gnc_date_edit_set_time (GNCDateEdit *gde, time_t the_time)
{
struct tm *mytm;
- char buffer [40];
g_return_if_fail (gde != NULL);
g_return_if_fail (GNC_IS_DATE_EDIT (gde));
@@ -513,20 +532,21 @@
gde->initial_time = the_time;
mytm = localtime (&the_time);
+ gnc_date_edit_set_time_tm(gde, mytm);
+}
- /* Set the date */
- qof_print_date_dmy_buff (buffer, 40,
- mytm->tm_mday,
- mytm->tm_mon + 1,
- 1900 + mytm->tm_year);
- gtk_entry_set_text (GTK_ENTRY (gde->date_entry), buffer);
-
- /* Set the time */
- if (gde->flags & GNC_DATE_EDIT_24_HR)
- strftime (buffer, sizeof (buffer), "%H:%M", mytm);
- else
- strftime (buffer, sizeof (buffer), "%I:%M %p", mytm);
- gtk_entry_set_text (GTK_ENTRY (gde->time_entry), buffer);
+void
+gnc_date_edit_set_gdate (GNCDateEdit *gde, const GDate *date)
+{
+ struct tm mytm;
+ time_t t;
+
+ g_return_if_fail(gde && GNC_IS_DATE_EDIT(gde) &&
+ date && g_date_valid(date));
+ g_date_to_struct_tm(date, &mytm);
+ t = mktime(&mytm);
+ if (t != (time_t)(-1))
+ gnc_date_edit_set_time(gde, t);
}
void
Modified: gnucash/trunk/src/gnome-utils/gnc-date-edit.h
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-date-edit.h 2006-02-04 15:17:51 UTC (rev 13093)
+++ gnucash/trunk/src/gnome-utils/gnc-date-edit.h 2006-02-04 16:29:00 UTC (rev 13094)
@@ -115,6 +115,7 @@
GtkWidget *gnc_date_edit_new_flags (time_t the_time,
GNCDateEditFlags flags);
+void gnc_date_edit_set_gdate (GNCDateEdit *gde, const GDate *date);
void gnc_date_edit_set_time (GNCDateEdit *gde, time_t the_time);
void gnc_date_edit_set_time_ts (GNCDateEdit *gde, Timespec the_time);
More information about the gnucash-changes
mailing list