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) = @_;
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;
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);
$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 {