summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gui/menus/help.c112
-rw-r--r--src/gui/menus/help.h2
-rw-r--r--src/gui/menus/menubar.c2
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 <i18n.h>
+#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);