From a4dccd8bed1783e7bf2f09bb382f26bb756fd931 Mon Sep 17 00:00:00 2001 From: Olivier Blin Date: Wed, 19 Sep 2007 22:33:30 +0000 Subject: update connection status on dbus event --- lib/network/netcenter.pm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'lib/network/netcenter.pm') diff --git a/lib/network/netcenter.pm b/lib/network/netcenter.pm index 9b0f884..880822c 100755 --- a/lib/network/netcenter.pm +++ b/lib/network/netcenter.pm @@ -35,7 +35,7 @@ sub build_cmanager { } sub main { - my ($in, $net) = @_; + my ($in, $net, $dbus) = @_; my $title = N("Network Center"); my $icon = '/usr/share/mcc/themes/default/drakroam-mdk.png'; @@ -126,6 +126,22 @@ sub main { ]), ); + if ($dbus) { + my $monitor; + eval { $monitor = network::monitor->new($dbus) }; + $dbus->{connection}->add_filter(sub { + my ($_con, $msg) = @_; + if ($msg->get_member eq 'status') { + my ($status, $interface) = $msg->get_args_list; + my $cmanager = find { $_->{connection}->get_interface eq $interface } @cmanagers + or return; + network::connection_manager::update_on_status_change($cmanager); + } + }); + $dbus->{connection}->add_match("type='signal',interface='com.mandriva.network'"); + dbus_object::set_gtk2_watch_helper($dbus); + } + my $base_color = $w->{window}->get_style->base('normal')->to_string; Gtk2::Rc->parse_string(<