mirror of
https://git.proxmox.com/git/pve-installer
synced 2025-08-15 19:22:11 +00:00
gui: use basic grid in the network panel
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 <m.sandoval@proxmox.com> Reviewed-by: Christoph Heiss <c.heiss@proxmox.com> Tested-by: Christoph Heiss <c.heiss@proxmox.com> Tested-by: Tested-by: Lukas Wagner <l.wagner@proxmox.com>
This commit is contained in:
parent
0cc6d5ff4f
commit
9102da7989
52
proxinstall
52
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, 0, 0, 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 {
|
||||
|
Loading…
Reference in New Issue
Block a user