summaryrefslogtreecommitdiff
path: root/src/gui/menus/file.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/menus/file.c')
-rw-r--r--src/gui/menus/file.c59
1 files changed, 18 insertions, 41 deletions
diff --git a/src/gui/menus/file.c b/src/gui/menus/file.c
index 62b8381..b7c8dc8 100644
--- a/src/gui/menus/file.c
+++ b/src/gui/menus/file.c
@@ -52,41 +52,37 @@ static void mcb_file_quit(GtkMenuItem *, gpointer);
/******************************************************************************
* *
-* Paramètres : - *
+* Paramètres : builder = constructeur avec l'ensemble des références. *
* *
-* Description : Construit le menu "Fichier". *
+* Description : Complète la définition du menu "Fichier". *
* *
-* Retour : Panneau de menus mis en place. *
+* Retour : - *
* *
* Remarques : - *
* *
******************************************************************************/
-GtkWidget *build_menu_file(void)
+void setup_menu_file_callbacks(GtkBuilder *builder)
{
+
+#define DEFINE_CALLBACK(cb) #cb, G_CALLBACK(cb)
+
+ gtk_builder_add_callback_symbols(builder,
+ DEFINE_CALLBACK(mcb_file_new_project),
+ DEFINE_CALLBACK(mcb_file_open_project),
+ DEFINE_CALLBACK(mcb_file_save_project),
+ DEFINE_CALLBACK(mcb_file_save_project_as),
+ DEFINE_CALLBACK(mcb_file_quit),
+ NULL);
+
+
+#if 0
GtkWidget *result; /* Support à retourner */
GtkWidget *menubar; /* Support pour éléments */
GtkWidget *submenuitem; /* Sous-élément de menu #1 */
GtkWidget *deepmenuitem; /* Sous-élément de menu #2 */
GtkRecentFilter *filter; /* Filtre gardant les projets */
- result = gtk_menu_item_new_with_mnemonic(_("_File"));
- gtk_widget_show(result);
-
- menubar = qck_create_menu(GTK_MENU_ITEM(result));
-
- submenuitem = qck_create_menu_item(NULL, NULL, _("New project"),
- G_CALLBACK(mcb_file_new_project), NULL);
- add_accelerator_to_widget(submenuitem, "<Ctrl>N");
- 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, _("Open project"),
- G_CALLBACK(mcb_file_open_project), NULL);
- add_accelerator_to_widget(submenuitem, "<Ctrl>O");
- gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
submenuitem = qck_create_menu_item(NULL, NULL, _("Recent projects..."), NULL, NULL);
gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
@@ -100,27 +96,8 @@ GtkWidget *build_menu_file(void)
filter = gtk_recent_filter_new();
gtk_recent_filter_add_mime_type(filter, "application/chrysalide.project");
gtk_recent_chooser_add_filter(GTK_RECENT_CHOOSER(deepmenuitem), filter);
+#endif
- submenuitem = qck_create_menu_separator();
- gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
-
- submenuitem = qck_create_menu_item(NULL, NULL, _("Save project"),
- G_CALLBACK(mcb_file_save_project), NULL);
- add_accelerator_to_widget(submenuitem, "<Ctrl>S");
- gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
-
- submenuitem = qck_create_menu_item(NULL, NULL, _("Save project as..."),
- G_CALLBACK(mcb_file_save_project_as), 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, _("Quit"), G_CALLBACK(mcb_file_quit), NULL);
- add_accelerator_to_widget(submenuitem, "<Ctrl>Q");
- gtk_container_add(GTK_CONTAINER(menubar), submenuitem);
-
- return result;
}