static gboolean gimp_display_shell_close_time_changed (GimpMessageBox *box) { GimpImage *image = g_object_get_data (G_OBJECT (box), "gimp-image"); gint dirty_time = gimp_image_get_dirty_time (image); if (dirty_time) { gint hours = 0; gint minutes = 0; gimp_time_since (dirty_time, &hours, &minutes); if (hours > 0) { if (hours > 1 || minutes == 0) gimp_message_box_set_text (box, ngettext ("If you don't save the image, " "changes from the last hour " "will be lost.", "If you don't save the image, " "changes from the last %d " "hours will be lost.", hours), hours); else gimp_message_box_set_text (box, ngettext ("If you don't save the image, " "changes from the last hour " "and %d minute will be lost.", "If you don't save the image, " "changes from the last hour " "and %d minutes will be lost.", minutes), minutes); } else { gimp_message_box_set_text (box, ngettext ("If you don't save the image, " "changes from the last minute " "will be lost.", "If you don't save the image, " "changes from the last %d " "minutes will be lost.", minutes), minutes); } } else { gimp_message_box_set_text (box, NULL); } return TRUE; }
static gboolean gimp_display_shell_close_time_changed (GimpMessageBox *box) { GimpImage *image = g_object_get_data (G_OBJECT (box), "gimp-image"); gint64 dirty_time = gimp_image_get_dirty_time (image); gchar *time_text = NULL; gchar *export_text = NULL; if (dirty_time) { gint hours = 0; gint minutes = 0; gimp_time_since (dirty_time, &hours, &minutes); if (hours > 0) { if (hours > 1 || minutes == 0) { time_text = g_strdup_printf (ngettext ("If you don't save the image, " "changes from the last hour " "will be lost.", "If you don't save the image, " "changes from the last %d " "hours will be lost.", hours), hours); } else { time_text = g_strdup_printf (ngettext ("If you don't save the image, " "changes from the last hour " "and %d minute will be lost.", "If you don't save the image, " "changes from the last hour " "and %d minutes will be lost.", minutes), minutes); } } else { time_text = g_strdup_printf (ngettext ("If you don't save the image, " "changes from the last minute " "will be lost.", "If you don't save the image, " "changes from the last %d " "minutes will be lost.", minutes), minutes); } } if (! gimp_image_is_export_dirty (image)) { GFile *file; file = gimp_image_get_exported_file (image); if (! file) file = gimp_image_get_imported_file (image); export_text = g_strdup_printf (_("The image has been exported to '%s'."), gimp_file_get_utf8_name (file)); } if (time_text && export_text) gimp_message_box_set_text (box, "%s\n\n%s", time_text, export_text); else if (time_text || export_text) gimp_message_box_set_text (box, "%s", time_text ? time_text : export_text); else gimp_message_box_set_text (box, "%s", time_text); g_free (time_text); g_free (export_text); return TRUE; }