static time_t get_requested_time (DialogData *data, const char *filename) { int idx = gtk_option_menu_get_history (GTK_OPTION_MENU (data->date_optionmenu)); time_t t = (time_t)0; switch (idx) { case NO_DATE: break; case FOLLOWING_DATE: t = gnome_date_edit_get_time (GNOME_DATE_EDIT (data->date_dateedit)); break; case CURRENT_DATE: t = time (NULL); break; case EXIF_DATE: t = get_metadata_time (NULL, filename); break; case LAST_MODIFIED_DATE: t = get_file_mtime (filename); break; case IMAGE_CREATION_DATE: t = get_file_ctime (filename); break; } return t; }
static void prop_set(GnomePropertyBox * pb, gint page, PropDlg *dlg) { long ivl; const gchar *cstr; gchar *str; double rate; time_t tval; if (!dlg->proj) return; if (0 == page) { gtt_project_freeze (dlg->proj); cstr = gtk_entry_get_text(dlg->title); if (cstr && cstr[0]) { gtt_project_set_title(dlg->proj, cstr); } else { gtt_project_set_title(dlg->proj, _("empty")); gtk_entry_set_text(dlg->title, _("empty")); } gtt_project_set_desc(dlg->proj, gtk_entry_get_text(dlg->desc)); str = xxxgtk_textview_get_text(dlg->notes); gtt_project_set_notes(dlg->proj, str); g_free(str); gtt_project_thaw (dlg->proj); } if (1 == page) { gtt_project_freeze (dlg->proj); rate = atof (gtk_entry_get_text(dlg->regular)); gtt_project_set_billrate (dlg->proj, rate); rate = atof (gtk_entry_get_text(dlg->overtime)); gtt_project_set_overtime_rate (dlg->proj, rate); rate = atof (gtk_entry_get_text(dlg->overover)); gtt_project_set_overover_rate (dlg->proj, rate); rate = atof (gtk_entry_get_text(dlg->flatfee)); gtt_project_set_flat_fee (dlg->proj, rate); gtt_project_thaw (dlg->proj); } if (2 == page) { gtt_project_freeze (dlg->proj); ivl = atoi (gtk_entry_get_text(dlg->minimum)); gtt_project_set_min_interval (dlg->proj, ivl); ivl = atoi (gtk_entry_get_text(dlg->interval)); gtt_project_set_auto_merge_interval (dlg->proj, ivl); ivl = atoi (gtk_entry_get_text(dlg->gap)); gtt_project_set_auto_merge_gap (dlg->proj, ivl); gtt_project_thaw (dlg->proj); } if (3 == page) { gtt_project_freeze (dlg->proj); ivl = (long) GET_MENU (dlg->urgency, "urgency"); gtt_project_set_urgency (dlg->proj, (GttRank) ivl); ivl = (long) GET_MENU (dlg->importance, "importance"); gtt_project_set_importance (dlg->proj, (GttRank) ivl); ivl = (long) GET_MENU (dlg->status, "status"); gtt_project_set_status (dlg->proj, (GttProjectStatus) ivl); tval = gnome_date_edit_get_time (dlg->start); gtt_project_set_estimated_start (dlg->proj, tval); tval = gnome_date_edit_get_time (dlg->end); gtt_project_set_estimated_end (dlg->proj, tval); tval = gnome_date_edit_get_time (dlg->due); gtt_project_set_due_date (dlg->proj, tval); rate = atof (gtk_entry_get_text(dlg->sizing)); ivl = rate * 3600.0; gtt_project_set_sizing (dlg->proj, ivl); ivl = atoi (gtk_entry_get_text(dlg->percent)); gtt_project_set_percent_complete (dlg->proj, ivl); gtt_project_thaw (dlg->proj); } }