diff options
Diffstat (limited to 'mdkapplet')
-rwxr-xr-x | mdkapplet | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -236,7 +236,7 @@ foreach my $opt (@ARGV) { my $root = Rpmdrake::open_db::fast_open_urpmi_db()->{root}; -my $new_distro_version; +my ($new_distro_version, $new_distro_url); my $product_id = common::parse_LDAP_namespace_structure(cat_("$root/etc/product.id")); shouldStart() or die "$localfile should be set to TRUE: please use --force or -f option to launch applet\n"; @@ -306,6 +306,7 @@ sub is_there_a_new_distributions() { if ($new_distro && $new_distro->{version} ne $product_id->{version}) { $new_distro_version = $new_distro->{version}; + $new_distro_url = $new_distro->{url}; log::explanations(sprintf("new '%s' distribution was released on %s", $new_distro_version, $new_distro->{release_date})); return 1; } @@ -367,11 +368,19 @@ sub confirm_upgrade() { N("Distribution Upgrade") ), N("A new stable distribution has been released."), + gtknew('HButtonBox', layout => 'start', children_tight => [ + my $link = Gtk2::LinkButton->new($new_distro_url, N("More info about this new version")), + ]), N("Do you want to upgrade to the '\%s' distribution?", $new_distro_version), gtknew('CheckButton', text => N("Do not ask me next time"), active_ref => \$warn_me), create_okcancel($w, N("Yes"), N("No")), ]), ); + $link->set_uri_hook(sub { + my (undef, $url) = @_; + run_program::raw({ detach => 1, setuid => get_parent_uid() }, 'www-browser', $url); + }); + $w->{ok}->grab_focus; my $res = $w->main; setVar('DO_NOT_ASK_FOR_DISTRO_UPGRADE', bool2text($warn_me)); |