diff options
Diffstat (limited to 'src/gui/core/core.c')
-rw-r--r-- | src/gui/core/core.c | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/src/gui/core/core.c b/src/gui/core/core.c index 598a8eb..2cb75b1 100644 --- a/src/gui/core/core.c +++ b/src/gui/core/core.c @@ -24,12 +24,15 @@ #include "core.h" +#include "global.h" #include "panels.h" - - #include "theme.h" +#include "../menus/menubar.h" +#include "../menus/view.h" +#include "../panels/welcome.h" #include "../../core/params.h" #include "../../glibext/linesegment.h" +#include "../../gtkext/tiledgrid.h" @@ -48,6 +51,9 @@ bool load_all_gui_components(void) { bool result; /* Bilan à retourner */ + GObject *ref; /* Espace de référencements */ + GMenuBar *bar; /* Gestion des menus */ + GtkMenuItem *submenuitem; /* Sous-élément de menu */ load_main_panels(); @@ -55,6 +61,17 @@ bool load_all_gui_components(void) result = load_segment_rendering_parameters(); + /** + * Charge une liste initiale pour activer les raccourcis clavier. + */ + + ref = get_global_ref(); + + bar = G_MENU_BAR(g_object_get_data(ref, "menubar")); + submenuitem = GTK_MENU_ITEM(g_object_get_data(ref, "mnu_view_side_panels")); + + mcb_view_update_side_panels_list(submenuitem, bar); + return result; } @@ -75,8 +92,29 @@ bool load_all_gui_components(void) bool complete_loading_of_all_gui_components(GGenConfig *config) { bool result; /* Bilan à faire remonter */ + GtkTiledGrid *grid; /* Composant d'affichage */ + GPanelItem *welcome; /* Panneau d'accueil */ + + grid = get_tiled_grid(); + + welcome = get_panel_item_by_name(PANEL_WELCOME_ID); + gtk_tiled_grid_set_default_main_panel(grid, welcome); + g_object_unref(G_OBJECT(welcome)); + + /** + * Le fait d'avoir défini le panneau d'accueil par défaut va l'afficher, + * comme il n'y a encore aucun autre panneau. Ce qui va mémoriser son + * paramètre d'affichage par défaut au démarrage à vrai. + * + * Or gtk_panel_item_apply_configuration() s'occupe précisément de + * restaurer les affichages de panneaux au démarrage. + * + * Donc on doit sauter ce panneau d'accueil lors de l'appel suivant. + */ + + result = _browse_all_item_panels(true, (handle_panel_item_fc)gtk_panel_item_apply_configuration, config); - result = browse_all_item_panels((handle_panel_item_fc)gtk_panel_item_apply_configuration, config); + gtk_tiled_grid_restore_positions(grid, config); return result; |