From 49a1c79585e472a6f483d365398f621f49c79542 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Sun, 18 May 2008 19:41:42 +0000 Subject: move provider settings interactive data in connection object --- lib/network/connection.pm | 13 +++++++++++++ lib/network/netconnect.pm | 11 +++-------- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/lib/network/connection.pm b/lib/network/connection.pm index 0e67acb..45e2199 100644 --- a/lib/network/connection.pm +++ b/lib/network/connection.pm @@ -165,6 +165,19 @@ sub set_provider { } } +#- check that $self->can('get_providers') first +sub get_provider_settings { + my ($self) = @_; + my @providers_data = $self->get_providers; + [ + { + type => "list", val => \$self->{provider_name}, separator => $providers_data[1], + list => [ N("Unlisted - edit manually"), sort(keys %{$providers_data[0]}) ], sort => 0, + changed => sub { $self->set_provider }, + }, + ]; +} + #- check that $self->can('get_protocols') first sub get_protocol_settings { my ($self) = @_; diff --git a/lib/network/netconnect.pm b/lib/network/netconnect.pm index 1aba4d3..a778e3c 100644 --- a/lib/network/netconnect.pm +++ b/lib/network/netconnect.pm @@ -51,7 +51,7 @@ sub real_main { my ($net, $in, $modules_conf) = @_; #- network configuration should have been already read in $net at this point my $mouse = $::o->{mouse} || {}; - my (@connections_list, $connection, @providers_data, $protocol_settings, $access_settings, $control_settings); + my (@connections_list, $connection, $provider_settings, @providers_data, $protocol_settings, $access_settings, $control_settings); my $connection_compat; my ($hardware_settings, $network_access_settings, $address_settings, $hostname_settings); my ($modem, $modem_name, $modem_dyn_dns, $modem_dyn_ip); @@ -199,15 +199,10 @@ sub real_main { my $locale_country = lang::c2name(ref($::o) && $::o->{locale}{country} || lang::read()->{country}); my $separator = $providers_data[1]; $self->{provider_name} = find { /^\Q$locale_country$separator\E/ } sort(keys %{$providers_data[0]}); + $provider_settings = $self->get_provider_settings; }, name => sub { $net->{type}->get_type_name . "\n\n" . N("Please select your provider:") }, - data => sub { - [ { - type => "list", val => \$self->{provider_name}, separator => $providers_data[1], - list => [ N("Unlisted - edit manually"), sort(keys %{$providers_data[0]}) ], sort => 0, - changed => { $self->set_provider }, - } ]; - }, + data => sub { $provider_settings }, post => sub { $get_next->("select_provider") }, }, -- cgit v1.2.1