From a689ebb776c6c95ae806e6449e0c90019fbb8a17 Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Mon, 1 Jun 2020 23:00:45 +0200 Subject: Populated the help menu. --- src/gui/menus/help.c | 112 +++++++++++++++++++++++++++++++++++++++++++++--- src/gui/menus/help.h | 2 +- src/gui/menus/menubar.c | 2 +- 3 files changed, 107 insertions(+), 9 deletions(-) diff --git a/src/gui/menus/help.c b/src/gui/menus/help.c index 34c1107..c265703 100644 --- a/src/gui/menus/help.c +++ b/src/gui/menus/help.c @@ -28,19 +28,29 @@ #include +#include "../core/global.h" #include "../dialogs/about.h" #include "../../gtkext/easygtk.h" +/* Réagit avec le menu "Aide -> Site Web". */ +static void mcb_help_website(GtkMenuItem *, gpointer); + +/* Réagit avec le menu "Aide -> Documentation de l'API Python". */ +static void mcb_help_python_api_documentation(GtkMenuItem *, gpointer); + +/* Réagit avec le menu "Aide -> Rapport d'anomalie". */ +static void mcb_help_bug_report(GtkMenuItem *, gpointer); + /* Réagit avec le menu "Aide -> A propos de...". */ -static void mcb_help_about(GtkMenuItem *, GObject *); +static void mcb_help_about(GtkMenuItem *, gpointer); /****************************************************************************** * * -* Paramètres : ref = espace de référencement global. * +* Paramètres : - * * * * Description : Construit le menu "Aide". * * * @@ -50,7 +60,7 @@ static void mcb_help_about(GtkMenuItem *, GObject *); * * ******************************************************************************/ -GtkWidget *build_menu_help(GObject *ref) +GtkWidget *build_menu_help(void) { GtkWidget *result; /* Support à retourner */ GtkWidget *menubar; /* Support pour éléments */ @@ -61,7 +71,20 @@ GtkWidget *build_menu_help(GObject *ref) menubar = qck_create_menu(GTK_MENU_ITEM(result)); - submenuitem = qck_create_menu_item(NULL, NULL, _("About"), G_CALLBACK(mcb_help_about), ref); + submenuitem = qck_create_menu_item(NULL, NULL, _("Website"), G_CALLBACK(mcb_help_website), NULL); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + submenuitem = qck_create_menu_item(NULL, NULL, _("Python API documentation"), + G_CALLBACK(mcb_help_python_api_documentation), NULL); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + submenuitem = qck_create_menu_item(NULL, NULL, _("Bug report"), G_CALLBACK(mcb_help_bug_report), NULL); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + submenuitem = qck_create_menu_separator(); + gtk_container_add(GTK_CONTAINER(menubar), submenuitem); + + submenuitem = qck_create_menu_item(NULL, NULL, _("About"), G_CALLBACK(mcb_help_about), NULL); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); return result; @@ -72,7 +95,79 @@ GtkWidget *build_menu_help(GObject *ref) /****************************************************************************** * * * Paramètres : menuitem = élément de menu sélectionné. * -* ref = adresse de l'espace de référencement global. * +* unused = adresse non utilisée ici. * +* * +* Description : Réagit avec le menu "Aide -> Site Web". * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +static void mcb_help_website(GtkMenuItem *menuitem, gpointer unused) +{ + GtkWindow *parent; /* Fenêtre principale */ + + parent = get_editor_window(); + + gtk_show_uri_on_window(parent, "https://www.chrysalide.re/", GDK_CURRENT_TIME, NULL); + +} + + +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu sélectionné. * +* unused = adresse non utilisée ici. * +* * +* Description : Réagit avec le menu "Aide -> Documentation de l'API Python". * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +static void mcb_help_python_api_documentation(GtkMenuItem *menuitem, gpointer unused) +{ + GtkWindow *parent; /* Fenêtre principale */ + + parent = get_editor_window(); + + gtk_show_uri_on_window(parent, "https://www.chrysalide.re/api/python/pychrysalide", GDK_CURRENT_TIME, NULL); + +} + + +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu sélectionné. * +* unused = adresse non utilisée ici. * +* * +* Description : Réagit avec le menu "Aide -> Rapport d'anomalie". * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +static void mcb_help_bug_report(GtkMenuItem *menuitem, gpointer unused) +{ + GtkWindow *parent; /* Fenêtre principale */ + + parent = get_editor_window(); + + gtk_show_uri_on_window(parent, "https://bugs.chrysalide.re/", GDK_CURRENT_TIME, NULL); + +} + + +/****************************************************************************** +* * +* Paramètres : menuitem = élément de menu sélectionné. * +* unused = adresse non utilisée ici. * * * * Description : Réagit avec le menu "Aide -> A propos de...". * * * @@ -82,11 +177,14 @@ GtkWidget *build_menu_help(GObject *ref) * * ******************************************************************************/ -static void mcb_help_about(GtkMenuItem *menuitem, GObject *ref) +static void mcb_help_about(GtkMenuItem *menuitem, gpointer unused) { + GtkWindow *parent; /* Fenêtre principale */ GtkWidget *dialog; /* Boîte de dialogue à montrer */ - dialog = create_about_dialog(GTK_WINDOW(ref)); + parent = get_editor_window(); + + dialog = create_about_dialog(parent); gtk_widget_show(dialog); } diff --git a/src/gui/menus/help.h b/src/gui/menus/help.h index 72fcc2c..1deeb5a 100644 --- a/src/gui/menus/help.h +++ b/src/gui/menus/help.h @@ -31,7 +31,7 @@ /* Construit le menu "Aide". */ -GtkWidget *build_menu_help(GObject *); +GtkWidget *build_menu_help(void); diff --git a/src/gui/menus/menubar.c b/src/gui/menus/menubar.c index a6bfbcc..08e9e5e 100644 --- a/src/gui/menus/menubar.c +++ b/src/gui/menus/menubar.c @@ -254,7 +254,7 @@ GEditorItem *g_menu_bar_new(GObject *ref) /* Aide */ - result->help = build_menu_help(ref); + result->help = build_menu_help(); gtk_container_add(GTK_CONTAINER(item->widget), result->help); return G_EDITOR_ITEM(result); -- cgit v0.11.2-87-g4458