void about (void)
{
GError *error = NULL;
GIOChannel *channel = NULL;
channel = g_io_channel_new_file ("licence.txt", "r", &error);
if (channel != NULL)
{
char *text = NULL;
if (g_io_channel_read_to_end (channel, &text, 0, &error) == G_IO_STATUS_NORMAL)
{
GtkWidget *p_dialog = gtk_about_dialog_new ();
gtk_about_dialog_set_name (GTK_ABOUT_DIALOG (p_dialog), "Nom du projet");
gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (p_dialog), "Nicolas JOSEPH");
gtk_about_dialog_set_license (GTK_ABOUT_DIALOG (p_dialog), text);
gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (p_dialog), "http://nicolasj.developpez.com");
gtk_dialog_run (GTK_DIALOG (p_dialog));
g_free (text);
if (g_io_channel_shutdown (channel, FALSE, &error) == G_IO_STATUS_ERROR)
{
GtkWidget *p_dialog = NULL;
p_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
error->message);
gtk_dialog_run (GTK_DIALOG (p_dialog));
gtk_widget_destroy (p_dialog);
}
}
}
if (error != NULL)
{
GtkWidget *p_dialog = NULL;
p_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
error->message);
gtk_dialog_run (GTK_DIALOG (p_dialog));
gtk_widget_destroy (p_dialog);
}
return;
} |