Création d'une boite de dialogue "A propos" en GTK+
Date de publication : 09 Mai 2005
Par
Nicolas Joseph (home)
Création d'une boite de dialogue "A propos" en C/GTK+ (nécessite la version 2.6). Le fichier doit ce trouver dans le même répertoire que l'exécutable.
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;
} |
|
Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ©
2006 Nicolas Joseph. Aucune reproduction, même partielle, ne peut être
faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc.
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à
trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.