Warning: filemtime(): stat failed for /home/developpez/www/developpez-com/upload/nicolasj./article.css in /home/developpez/www/developpez-com/template/entete.php on line 405
IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

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;
}


Valid XHTML 1.1!Valid CSS!

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.