From 1596de25f349ca065422074327e208cfca7d8d3f Mon Sep 17 00:00:00 2001 From: Cyrille Bagard Date: Tue, 23 Jul 2024 01:38:20 +0200 Subject: Simplify the constraint-based layout for the Welcome panel. --- src/gui/panels/welcome.c | 31 +++++++++- src/gui/panels/welcome.ui | 149 ++++++++++++++++------------------------------ 2 files changed, 78 insertions(+), 102 deletions(-) diff --git a/src/gui/panels/welcome.c b/src/gui/panels/welcome.c index d10b16a..3cd349f 100644 --- a/src/gui/panels/welcome.c +++ b/src/gui/panels/welcome.c @@ -280,6 +280,8 @@ bool gtk_welcome_panel_create(GtkWelcomePanel *panel) { bool result; /* Bilan à retourner */ int min; /* Taille à gauche minimale */ + GtkConstraintLayout *layout; /* Disposition fixant la taille*/ + GtkConstraint *constraint; /* Contrainte à considérer */ /* Constitution de la liste des démarreurs */ @@ -289,8 +291,6 @@ bool gtk_welcome_panel_create(GtkWelcomePanel *panel) (GtkListBoxCreateWidgetFunc)gtk_welcome_panel_create_launcher_widget, NULL, NULL); - - /* Dimensionnement de la zone d'astuces */ gtk_widget_measure(GTK_WIDGET(panel->list), GTK_ORIENTATION_HORIZONTAL, -1, &min, NULL, NULL, NULL); @@ -298,7 +298,32 @@ bool gtk_welcome_panel_create(GtkWelcomePanel *panel) if (min > 150) min -= 150; - g_object_set(G_OBJECT(panel->hints), "width-request", min, NULL); + layout = GTK_CONSTRAINT_LAYOUT(gtk_widget_get_layout_manager(GTK_WIDGET(panel->hints))); + + gtk_constraint_layout_remove_all_constraints(layout); + + constraint = gtk_constraint_new_constant(NULL, + GTK_CONSTRAINT_ATTRIBUTE_LEFT, + GTK_CONSTRAINT_RELATION_EQ, + 0, + GTK_CONSTRAINT_STRENGTH_REQUIRED); + gtk_constraint_layout_add_constraint(layout, constraint); + + constraint = gtk_constraint_new_constant(NULL, + GTK_CONSTRAINT_ATTRIBUTE_TOP, + GTK_CONSTRAINT_RELATION_EQ, + 0, + GTK_CONSTRAINT_STRENGTH_REQUIRED); + gtk_constraint_layout_add_constraint(layout, constraint); + + constraint = gtk_constraint_new_constant(NULL, + GTK_CONSTRAINT_ATTRIBUTE_RIGHT, + GTK_CONSTRAINT_RELATION_EQ, + min, + GTK_CONSTRAINT_STRENGTH_REQUIRED); + gtk_constraint_layout_add_constraint(layout, constraint); + + /* Premier affichage */ gtk_label_set_markup(panel->hints, panel->raw_hints[panel->cur_hint]); diff --git a/src/gui/panels/welcome.ui b/src/gui/panels/welcome.ui index 422e2ad..c545b1d 100644 --- a/src/gui/panels/welcome.ui +++ b/src/gui/panels/welcome.ui @@ -10,112 +10,16 @@ TRUE 0 - + center center + 64 + TRUE 32 32 32 32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -123,11 +27,19 @@ center GTK_SELECTION_SINGLE 0 + + + 0 + 0 + + + + @@ -136,11 +48,18 @@ start fill + + + 1 + 0 + + default Welcome + start @@ -149,6 +68,7 @@ FALSE + start @@ -158,10 +78,37 @@ 1 50 TRUE + + + + + + + 0 0 + @@ -176,6 +123,7 @@ 1 1 + go-previous-symbolic @@ -183,6 +131,7 @@ + go-next-symbolic @@ -190,9 +139,11 @@ + + -- cgit v0.11.2-87-g4458