From d25dda121501e9cc36b43c15c76d1e00d0173f7d Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Wed, 18 Jul 2018 12:28:08 +0200 Subject: Restored the saving proposal at exit. --- src/gui/editor.c | 3 ++- src/gui/menus/file.c | 23 ++++++++++++----------- src/gui/menus/file.h | 5 ++++- src/gui/menus/menubar.c | 2 +- 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/src/gui/editor.c b/src/gui/editor.c index 910feb3..fa03e77 100644 --- a/src/gui/editor.c +++ b/src/gui/editor.c @@ -36,6 +36,7 @@ #include "agroup.h" #include "status.h" +#include "menus/file.h" #include "menus/menubar.h" #include "core/core.h" #include "core/panels.h" @@ -441,7 +442,7 @@ static gboolean on_delete_editor(GtkWidget *widget, GdkEvent *event, gpointer da switch (gtk_dialog_run(GTK_DIALOG(dialog))) { case GTK_RESPONSE_YES: - //mcb_file_save_project_as(NULL, widget); /* FIXME */ + mcb_file_save_project(NULL, NULL); break; case GTK_RESPONSE_NO: diff --git a/src/gui/menus/file.c b/src/gui/menus/file.c index ffe3e9e..41b17e1 100644 --- a/src/gui/menus/file.c +++ b/src/gui/menus/file.c @@ -42,20 +42,17 @@ static void mcb_file_new_project(GtkMenuItem *, gpointer); /* Réagit au menu "Fichier -> Ouvrir un projet". */ static void mcb_file_open_project(GtkMenuItem *, gpointer); -/* Réagit au menu "Fichier -> Enregistrer le projet". */ -static void mcb_file_save_project(GtkMenuItem *, gpointer); - /* Réagit au menu "Fichier -> Enregistrer le projet sous...". */ static void mcb_file_save_project_as(GtkMenuItem *, gpointer); /* Réagit avec le menu "Fichier -> Quitter". */ -static void mcb_file_quit(GtkMenuItem *, GObject *); +static void mcb_file_quit(GtkMenuItem *, gpointer); /****************************************************************************** * * -* Paramètres : ref = espace de référencement global. * +* Paramètres : - * * * * Description : Construit le menu "Fichier". * * * @@ -65,7 +62,7 @@ static void mcb_file_quit(GtkMenuItem *, GObject *); * * ******************************************************************************/ -GtkWidget *build_menu_file(GObject *ref) +GtkWidget *build_menu_file(void) { GtkWidget *result; /* Support à retourner */ GtkWidget *menubar; /* Support pour éléments */ @@ -119,7 +116,7 @@ GtkWidget *build_menu_file(GObject *ref) submenuitem = qck_create_menu_separator(); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); - submenuitem = qck_create_menu_item(NULL, NULL, _("Quit"), G_CALLBACK(mcb_file_quit), ref); + submenuitem = qck_create_menu_item(NULL, NULL, _("Quit"), G_CALLBACK(mcb_file_quit), NULL); add_accelerator_to_widget(submenuitem, "Q"); gtk_container_add(GTK_CONTAINER(menubar), submenuitem); @@ -222,7 +219,7 @@ static void mcb_file_open_project(GtkMenuItem *menuitem, gpointer unused) * * ******************************************************************************/ -static void mcb_file_save_project(GtkMenuItem *menuitem, gpointer unused) +void mcb_file_save_project(GtkMenuItem *menuitem, gpointer unused) { GStudyProject *project; /* Projet courant */ @@ -294,7 +291,7 @@ static void mcb_file_save_project_as(GtkMenuItem *menuitem, gpointer unused) /****************************************************************************** * * * 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 "Fichier -> Quitter". * * * @@ -304,8 +301,12 @@ static void mcb_file_save_project_as(GtkMenuItem *menuitem, gpointer unused) * * ******************************************************************************/ -static void mcb_file_quit(GtkMenuItem *menuitem, GObject *ref) +static void mcb_file_quit(GtkMenuItem *menuitem, gpointer unused) { - gtk_widget_destroy(GTK_WIDGET(ref)); + GtkWindow *editor; /* Fenêtre principale */ + + editor = get_editor_window(); + + gtk_window_close(editor); } diff --git a/src/gui/menus/file.h b/src/gui/menus/file.h index f176c7f..630cec3 100644 --- a/src/gui/menus/file.h +++ b/src/gui/menus/file.h @@ -31,7 +31,10 @@ /* Construit le menu "Fichier". */ -GtkWidget *build_menu_file(GObject *); +GtkWidget *build_menu_file(void); + +/* Réagit au menu "Fichier -> Enregistrer le projet". */ +void mcb_file_save_project(GtkMenuItem *, gpointer); diff --git a/src/gui/menus/menubar.c b/src/gui/menus/menubar.c index 2e81619..bc5a045 100644 --- a/src/gui/menus/menubar.c +++ b/src/gui/menus/menubar.c @@ -218,7 +218,7 @@ GEditorItem *g_menu_bar_new(GObject *ref) /* Fichier */ - result->file = build_menu_file(ref); + result->file = build_menu_file(); gtk_container_add(GTK_CONTAINER(item->widget), result->file); /* Edition */ -- cgit v0.11.2-87-g4458