[pve-devel] [PATCH installer v2] fix #4869: Show state in management interface ComboBox
Filip Schauer
f.schauer at proxmox.com
Wed Oct 18 14:00:07 CEST 2023
Tested this in the installer and it looks good to me.
Tested-by: Filip Schauer <f.schauer at proxmox.com>
On 17/10/2023 15:57, Maximiliano Sandoval R wrote:
> From: Maximiliano Sandoval <m.sandoval at proxmox.com>
>
> This is a continuation of
> https://lists.proxmox.com/pipermail/pve-devel/2023-August/058639.html.
>
> Signed-off-by: Maximiliano Sandoval R <m.sandoval at proxmox.com>
> ---
> proxinstall | 23 +++++++++++++++++++++--
> 1 file changed, 21 insertions(+), 2 deletions(-)
>
> diff --git a/proxinstall b/proxinstall
> index d5b2565..d1f8ae2 100755
> --- a/proxinstall
> +++ b/proxinstall
> @@ -341,10 +341,20 @@ sub create_ipconf_view {
>
> my ($cidr_box, $ipconf_entry_addr, $ipconf_entry_mask) = create_cidr_inputs($cidr);
>
> - my $device_cb = Gtk3::ComboBoxText->new();
> + 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);
> $device_cb->set_visible(1);
>
> + my $icon_cell = Gtk3::CellRendererText->new();
> + $device_cb->pack_start($icon_cell, 0);
> + $device_cb->add_attribute($icon_cell, 'text', 0);
> + $icon_cell->set_property('foreground', 'green');
> +
> + my $cell = Gtk3::CellRendererText->new();
> + $device_cb->pack_start($cell, 0);
> + $device_cb->add_attribute($cell, 'text', 1);
> +
> my $get_device_desc = sub {
> my $iface = shift;
> return "$iface->{name} - $iface->{mac} ($iface->{driver})";
> @@ -374,7 +384,16 @@ sub create_ipconf_view {
> my $i = 0;
> for my $index (sort keys $ipconf->{ifaces}->%*) {
> my $iface = $ipconf->{ifaces}->{$index};
> - $device_cb->append_text($get_device_desc->($iface));
> + my $iter = $device_model->append();
> + my $symbol;
> + {
> + use utf8;
> + $symbol = "$iface->{state}" eq "UP" ? '●' : ' ';
> + }
> + $device_model->set($iter,
> + 0 => $symbol,
> + 1 => $get_device_desc->($iface),
> + );
> $device_active_map->{$i} = $index;
> $device_active_reverse_map->{$iface->{name}} = $i;
> if ($ipconf_first_view && $index == $ipconf->{default}) {
More information about the pve-devel
mailing list