From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 3E4D29C03F for ; Tue, 21 Nov 2023 16:10:29 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id C4AE4C7AA for ; Tue, 21 Nov 2023 16:10:28 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Tue, 21 Nov 2023 16:10:27 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 19AFD418A2 for ; Tue, 21 Nov 2023 16:10:27 +0100 (CET) From: Maximiliano Sandoval To: pve-devel@lists.proxmox.com Date: Tue, 21 Nov 2023 16:10:24 +0100 Message-Id: <20231121151025.233224-7-m.sandoval@proxmox.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231121151025.233224-1-m.sandoval@proxmox.com> References: <20231121151025.233224-1-m.sandoval@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.002 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record T_SCC_BODY_TEXT_LINE -0.01 - Subject: [pve-devel] [PATCH installer v2 6/7] gui: use basic grid in the network panel X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Nov 2023 15:10:29 -0000 Using boxes causes the labels to not align correctly in certain circumstances. In the following commits we replace the use of boxes with grids and set the margins and spacing directly on the respective grid. Signed-off-by: Maximiliano Sandoval --- proxinstall | 52 ++++++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/proxinstall b/proxinstall index 87e81fd..9551a89 100755 --- a/proxinstall +++ b/proxinstall @@ -281,18 +281,14 @@ sub check_number { sub create_text_input { my ($default, $text) = @_; - my $hbox = Gtk3::Box->new('horizontal', 0); - my $label = Gtk3::Label->new($text); $label->set_size_request(150, -1); $label->set_xalign(1.0); - $hbox->pack_start($label, 0, 0, 10); my $e1 = Gtk3::Entry->new(); $e1->set_width_chars(35); - $hbox->pack_start($e1, 0, 0, 0); $e1->set_text($default); - return ($hbox, $e1); + return ($label, $e1); } sub create_cidr_inputs { my ($cidr) = @_; @@ -304,23 +300,22 @@ sub create_cidr_inputs { my $label = Gtk3::Label->new('IP Address (CIDR)'); $label->set_size_request(150, -1); $label->set_xalign(1.0); - $hbox->pack_start($label, 0, 0, 10); my $ip_el = Gtk3::Entry->new(); $ip_el->set_width_chars(28); $hbox->pack_start($ip_el, 1, 1, 0); $ip_el->set_text($default_ip); - $label = Gtk3::Label->new('/'); - $label->set_size_request(10, -1); - $hbox->pack_start($label, 0, 0, 2); + my $dash_label = Gtk3::Label->new('/'); + $dash_label->set_size_request(10, -1); + $hbox->pack_start($dash_label, 0, 0, 2); my $cidr_el = Gtk3::Entry->new(); $cidr_el->set_width_chars(3); $hbox->pack_start($cidr_el, 0, 0, 0); $cidr_el->set_text($default_mask); - return ($hbox, $ip_el, $cidr_el); + return ($label, $hbox, $ip_el, $cidr_el); } my $ipconf_first_view = 1; @@ -345,16 +340,15 @@ sub create_ipconf_view { cleanup_view(); Proxmox::UI::display_html('ipconf.htm'); - my $vcontainer = Gtk3::Box->new('vertical', 0); - $gtk_state->{inbox}->pack_start($vcontainer, 1, 0, 0); - my $hcontainer = Gtk3::Box->new('horizontal', 0); - $vcontainer->pack_start($hcontainer, 0, 0, 10); - my $vbox = Gtk3::Box->new('vertical', 0); - $hcontainer->add($vbox); + my $grid = &$create_basic_grid(); + $grid->set_row_spacing(10); + $grid->set_column_spacing(10); + + $gtk_state->{inbox}->pack_start($grid, 0, 0, 0); my $cidr = Proxmox::Install::Config::get_cidr() // '192.168.100.2/24'; - my ($cidr_box, $ipconf_entry_addr, $ipconf_entry_mask) = create_cidr_inputs($cidr); + my ($cidr_label, $cidr_box, $ipconf_entry_addr, $ipconf_entry_mask) = create_cidr_inputs($cidr); my $device_model = Gtk3::ListStore->new('Glib::String', 'Glib::String'); my $device_cb = Gtk3::ComboBox->new_with_model($device_model); @@ -422,37 +416,39 @@ sub create_ipconf_view { $device_cb->set_active(0); } - my $devicebox = Gtk3::Box->new('horizontal', 0); my $label = Gtk3::Label->new("Management Interface:"); $label->set_size_request(150, -1); $label->set_xalign(1.0); - $devicebox->pack_start($label, 0, 0, 10); - $devicebox->pack_start($device_cb, 0, 0, 0); - $vbox->pack_start($devicebox, 0, 0, 2); + $grid->attach($label, 0, 0, 1, 1); + $grid->attach($device_cb, 1, 0, 1, 1); my $fqdn = Proxmox::Install::Config::get_fqdn(); my $hostname = $run_env->{network}->{hostname} || $iso_env->{product}; my $domain = $ipconf->{domain} || "example.invalid"; $fqdn //= "$hostname.$domain"; - my ($hostbox, $hostentry) = create_text_input($fqdn, 'Hostname (FQDN):'); - $vbox->pack_start($hostbox, 0, 0, 2); + my ($host_label, $hostentry) = create_text_input($fqdn, 'Hostname (FQDN):'); + $grid->attach($host_label, 0, 1, 1, 1); + $grid->attach($hostentry, 1, 1, 1, 1); - $vbox->pack_start($cidr_box, 0, 0, 2); + $grid->attach($cidr_label, 0, 2, 1, 1); + $grid->attach($cidr_box, 1, 2, 1, 1); my $cfg_gateway = Proxmox::Install::Config::get_gateway(); my $gateway = $cfg_gateway // $ipconf->{gateway} || '192.168.100.1'; - my ($gwbox, $ipconf_entry_gw) = create_text_input($gateway, 'Gateway:'); - $vbox->pack_start($gwbox, 0, 0, 2); + my ($gw_label, $ipconf_entry_gw) = create_text_input($gateway, 'Gateway:'); + $grid->attach($gw_label, 0, 3, 1, 1); + $grid->attach($ipconf_entry_gw, 1, 3, 1, 1); my $cfg_dns = Proxmox::Install::Config::get_dns(); my $dnsserver = $cfg_dns // $ipconf->{dnsserver} || $gateway; - my ($dnsbox, $ipconf_entry_dns) = create_text_input($dnsserver, 'DNS Server:'); + my ($dns_label, $ipconf_entry_dns) = create_text_input($dnsserver, 'DNS Server:'); - $vbox->pack_start($dnsbox, 0, 0, 0); + $grid->attach($dns_label, 0, 4, 1, 1); + $grid->attach($ipconf_entry_dns, 1, 4, 1, 1); $gtk_state->{inbox}->show_all; set_next(undef, sub { -- 2.39.2