From cc3401b9ab4044508c621a3814cf38a494ed798f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danielle=20For=C3=A9?= Date: Sun, 13 Oct 2024 16:27:12 -0700 Subject: [PATCH] DiskBar: add constraint guide (#816) --- src/Widgets/DiskBar.vala | 43 ++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/src/Widgets/DiskBar.vala b/src/Widgets/DiskBar.vala index 0c5a228d4..5e4e790c8 100644 --- a/src/Widgets/DiskBar.vala +++ b/src/Widgets/DiskBar.vala @@ -69,6 +69,8 @@ public class Installer.DiskBar: Gtk.Box { public Gee.ArrayList partitions { get; construct; } public uint64 size { get; construct; } + private Gtk.ConstraintGuide guide; + public PartitionContainer (uint64 size, Gee.ArrayList partitions) { Object ( partitions: partitions, @@ -81,6 +83,28 @@ public class Installer.DiskBar: Gtk.Box { } construct { + guide = new Gtk.ConstraintGuide () { + max_width = 300, + min_width = 300, + nat_width = 600 + }; + + var layout_manager = ((Gtk.ConstraintLayout) get_layout_manager ()); + layout_manager.add_guide (guide); + + layout_manager.add_constraint ( + new Gtk.Constraint ( + guide, + HEIGHT, + EQ, + this, + HEIGHT, + 1.0, + 0.0, + Gtk.ConstraintStrength.REQUIRED + ) + ); + uint64 used = 0; var disk_sectors = size / 512; foreach (var partition in partitions) { @@ -100,17 +124,16 @@ public class Installer.DiskBar: Gtk.Box { var unused_bar = new Block (); unused_bar.add_css_class ("unused"); - append_partition (unused_bar, unused / size); + append_partition (unused_bar, (double) unused / size); } - var layout_manager = ((Gtk.ConstraintLayout) get_layout_manager ()); // Position last child at end layout_manager.add_constraint ( new Gtk.Constraint ( - get_last_child (), + null, END, EQ, - this, + get_last_child (), END, 1.0, 0.0, @@ -136,7 +159,7 @@ public class Installer.DiskBar: Gtk.Box { widget, HEIGHT, EQ, - this, + guide, HEIGHT, 1.0, 0.0, @@ -150,7 +173,7 @@ public class Installer.DiskBar: Gtk.Box { widget, WIDTH, EQ, - this, + guide, WIDTH, percentage, 0, @@ -163,10 +186,10 @@ public class Installer.DiskBar: Gtk.Box { // Position at start layout_manager.add_constraint ( new Gtk.Constraint ( - widget, + null, START, EQ, - this, + widget, START, 1.0, 0.0, @@ -182,8 +205,8 @@ public class Installer.DiskBar: Gtk.Box { EQ, previous_child, END, - 1.0, - 0.0, + 1, + 0, Gtk.ConstraintStrength.REQUIRED ) );