summaryrefslogtreecommitdiff
path: root/src/gui/core/core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/core/core.c')
-rw-r--r--src/gui/core/core.c44
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;