| 12
 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