1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| void OnSave(GtkWidget* widget, gpointer data)
{
GtkWidget *pSave=NULL;
pSave = gtk_file_chooser_dialog_new ("Save File as ...",
GTK_WINDOW(data),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
NULL);
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (pSave), TRUE);
gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (pSave), "Untitled.");
if (gtk_dialog_run (GTK_DIALOG (pSave)) == GTK_RESPONSE_ACCEPT)
{
gchar *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (pSave));
/* save the output */
FILE* fichier = NULL;
long lsize;
char save [2048];
char buffer[256];
fichier = fopen(filename, "w");
if (fichier != NULL)
{
time_t timestamp = time(NULL);
fseek (fichier , 0 , SEEK_END);
lsize = ftell (fichier);
fread( save, 1, lsize, fichier);
strftime(buffer, sizeof(buffer), "%A %d %B %Y - %X.", localtime(×tamp));
fputs("Fichier enregistré le ",fichier);
fputs(buffer,fichier);
fputs("\nHistorique de votre référence\n\n\n",fichier);
fputs(save, fichier);
fclose(fichier);
}
free (buffer);
free (save);
g_free (filename);
}
gtk_widget_destroy (pSave);
} |
Partager