diff options
Diffstat (limited to 'src/gui/menus/file.c')
-rw-r--r-- | src/gui/menus/file.c | 59 |
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; } |