summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2003-01-27 09:19:38 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2003-01-27 09:19:38 +0000
commitb5877fc0a51456d5afb08e5c04a04ce82b20c6cf (patch)
tree5a04b188426fad6cc46618dfb41b466a06c11429
parent7bbc1124853b05e2047d847b926646efa2573bc1 (diff)
downloaddrakx-b5877fc0a51456d5afb08e5c04a04ce82b20c6cf.tar
drakx-b5877fc0a51456d5afb08e5c04a04ce82b20c6cf.tar.gz
drakx-b5877fc0a51456d5afb08e5c04a04ce82b20c6cf.tar.bz2
drakx-b5877fc0a51456d5afb08e5c04a04ce82b20c6cf.tar.xz
drakx-b5877fc0a51456d5afb08e5c04a04ce82b20c6cf.zip
make interactive help window be modal, aka transcient for main ugtk2
window
-rwxr-xr-xperl-install/standalone/harddrake21
1 files changed, 1 insertions, 0 deletions
diff --git a/perl-install/standalone/harddrake2 b/perl-install/standalone/harddrake2
index d2617e6fb..7411d14ae 100755
--- a/perl-install/standalone/harddrake2
+++ b/perl-install/standalone/harddrake2
@@ -119,6 +119,7 @@ gtkflush();
# Build the gui
add_icon_path('/usr/share/pixmaps/harddrake2/');
$w = ugtk2->new(N("Harddrake2 version ") . $harddrake::data::version);
+$::main_window = $w->{rwindow} unless $::isEmbedded;
my ($menubar, $factory);
unless ($::isEmbedded) {
$w->{window}->set_size_request(805, 550);
ref='#n142'>142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213
package network::modem;	# $Id$

use strict;
use common;
use any;
use modules;
use detect_devices;
use mouse;
use network::tools;

sub first_modem {
    my ($netc) = @_;
    first(grep { $_->{device} =~ m!^/dev! } values %{$netc->{autodetect}{modem}});
}


sub ppp_read_conf {
    my ($netcnx, $netc) = @_;
    my $modem = $netcnx->{$netcnx->{type}} ||= {};
    $modem->{device} ||= first_modem($netc)->{device};
    my %l = getVarsFromSh("$::prefix/usr/share/config/kppprc");
    $l{Authentication} = 4 if !exists $l{Authentication};
    $modem->{$_} ||= $l{$_} foreach qw(Authentication Gateway IPAddr SubnetMask);
    $modem->{connection} ||= $l{Name};
    $modem->{domain} ||= $l{Domain};
    ($modem->{dns1}, $modem->{dns2}) = split(',', $l{DNS});
    
    foreach (cat_("/etc/sysconfig/network-scripts/chat-ppp0")) {
        /.*ATDT(\d*)/ and $modem->{phone} ||= $1;
    }
    foreach (cat_("/etc/sysconfig/network-scripts/ifcfg-ppp0")) {
        /NAME=(['"]?)(.*)\1/ and $modem->{login} ||= $2;
    }
    $modem->{login} ||= $l{Username};
    my $secret = network::tools::read_secret_backend();
    foreach (@$secret) {
        $modem->{passwd} ||= $_->{passwd} if $_->{login} eq $modem->{login};
    }
    #my $secret = network::tools::read_secret_backend();
    #my @cnx_list = map { $_->{server} } @$secret;
    $modem->{$_} ||= '' foreach qw(connection phone login passwd auth domain dns1 dns2);
    $modem->{auto_gateway} ||= defined $modem->{Gateway} && $modem->{Gateway} ne '0.0.0.0' ? N("Manual") : N("Automatic");
    $modem->{auto_ip} ||=  defined $modem->{IPAddr} && $modem->{IPAddr} ne '0.0.0.0' ? N("Manual") : N("Automatic");
    $modem->{auto_dns} ||= $modem->{dns1} || $modem->{dns2} ? N("Manual") : N("Automatic");
}

#-----modem conf
sub ppp_configure {
    my ($in, $modem) = @_;
    $modem or return;
    $in->do_pkgs->install('ppp') if !$::testing;
    $in->do_pkgs->install('kdenetwork-kppp') if !$::testing && $in->do_pkgs->is_installed('kdebase');

    any::devfssymlinkf($modem, 'modem') if $modem->{device} ne "/dev/modem";

    my %toreplace = map { $_ => $modem->{$_} } qw(Authentication AutoName connection dns1 dns2 domain IPAddr login passwd phone SubnetMask);
    $toreplace{phone} =~ s/[a-zA-Z]//g;
    if ($modem->{auto_dns} ne N("Automatic")) {
        $toreplace{dnsserver} = join ',', map { $modem->{$_} } "dns1", "dns2";
        $toreplace{dnsserver} .= $toreplace{dnsserver} && ',';
    }

    #- using peerdns or dns1,dns2 avoid writing a /etc/resolv.conf file.
    $toreplace{peerdns} = "yes";

    $toreplace{connection} ||= 'DialupConnection';
    $toreplace{domain} ||= 'localdomain';
    $toreplace{intf} ||= 'ppp0';
    $toreplace{papname} = $toreplace{login} if member($modem->{Authentication}, 1, 3, 4);

    # handle static/dynamic settings:
    if ($modem->{auto_ip} eq N("Automatic")) {
        $toreplace{$_} = '0.0.0.0' foreach qw(IPAddr SubnetMask);
    } else {
        $toreplace{$_} = $modem->{$_} foreach qw(IPAddr SubnetMask);
    }
    $toreplace{Gateway} = $modem->{auto_gateway} eq N("Automatic") ? '0.0.0.0' : $modem->{Gateway};


    #- build ifcfg-ppp0.
    my $various = <<END;
DEVICE="$toreplace{intf}"
ONBOOT="no"
USERCTL="no"
MODEMPORT="/dev/modem"
LINESPEED="115200"
PERSIST="yes"
DEFABORT="yes"
DEBUG="yes"
INITSTRING="ATZ"
DEFROUTE="yes"
HARDFLOWCTL="yes"
ESCAPECHARS="no"
PPPOPTIONS=""
PAPNAME="$toreplace{papname}"
REMIP=""
NETMASK=""
IPADDR=""
MRU=""
MTU=""
DISCONNECTTIMEOUT="5"
RETRYTIMEOUT="60"
BOOTPROTO="none"
PEERDNS="$toreplace{peerdns}"
END
    output("$::prefix/etc/sysconfig/network-scripts/ifcfg-ppp0", 
	   $various,
           if_($modem->{auto_dns} ne N("Automatic"), map { qq(DNS$_=$toreplace{"dns$_"}\n) } grep { $toreplace{"dns$_"} } 1..2));

    #- build chat-ppp0.
    my @chat = <<END;
'ABORT' 'BUSY'
'ABORT' 'ERROR'
'ABORT' 'NO CARRIER'
'ABORT' 'NO DIALTONE'
'ABORT' 'Invalid Login'
'ABORT' 'Login incorrect'
'' 'ATZ'
END
    if ($modem->{special_command}) {
	push @chat, <<END;
'OK' '$modem->{special_command}'
END
    }
    push @chat, <<END;
'OK' 'ATDT$toreplace{phone}'
'CONNECT' ''
END
    if (member($modem->{Authentication}, 0, 2)) {
	push @chat, <<END;
'ogin:--ogin:' '$toreplace{login}'
'ord:' '$toreplace{passwd}'
END
    }
    push @chat, <<END;
'TIMEOUT' '5'
'~--' ''
END
    my $chat_file = "$::prefix/etc/sysconfig/network-scripts/chat-ppp0";
    output_with_perm($chat_file, 0600, @chat);

    write_secret_backend($toreplace{login}, $toreplace{passwd});

    #- install kppprc file according to used configuration.
    mkdir_p("$::prefix/usr/share/config");

    $toreplace{$_->[0]} = $modem->{$_->[0]} || $_->[1] foreach [ 'Timeout', 60 ], [ 'UseLockFile', 1 ], [ 'Enter', 'CR' ], [ 'Volume', 0 ],
                                                               [ 'BusyWait', 0 ], [ 'FlowControl', 'CRTSCTS' ], [ 'Speed', 115200 ];
    output($modem->{kppprc} || "$::prefix/usr/share/config/kppprc", c::to_utf8(<<END));
# KDE Config File

[Account0]
ExDNSDisabled=0
AutoName=$toreplace{AutoName}
ScriptArguments=
AccountingEnabled=0
DialString=ATDT
Phonenumber=$toreplace{phone}
IPAddr=$toreplace{IPAddr}
Domain=$toreplace{domain}
Name=$toreplace{connection}
VolumeAccountingEnabled=0
pppdArguments=
Password=$toreplace{passwd}
BeforeDisconnect=
Command=
ScriptCommands=
Authentication=$toreplace{Authentication}
DNS=$toreplace{dnsserver}
SubnetMask=$toreplace{SubnetMask}
AccountingFile=
DefaultRoute=1
Username=$toreplace{login}
Gateway=$toreplace{Gateway}
StorePassword=1
DisconnectCommand=

[Modem]
BusyWait=$toreplace{BusyWait}
Enter=$toreplace{Enter}
FlowControl=$toreplace{FlowControl}
Volume=$toreplace{Volume}
Timeout=$toreplace{Timeout}
UseCDLine=0
UseLockFile=$toreplace{UseLockFile}
Device=/dev/modem
Speed=$toreplace{Speed}

[Graph]
InBytes=0,0,255
Text=0,0,0
Background=255,255,255
Enabled=true
OutBytes=255,0,0

[General]
QuitOnDisconnect=0
ShowLogWindow=0
DisconnectOnXServerExit=1
DefaultAccount=$toreplace{connection}
iconifyOnConnect=1
Hint_QuickHelp=0
AutomaticRedial=0
PPPDebug=0
NumberOfAccounts=1
ShowClock=1
DockIntoPanel=0
pppdTimeout=30
END
    network::network::proxy_configure($::o->{miscellaneous});
}

1;