#!/usr/bin/perl ################################################################################ # Mageia Online # # # # Copyright (C) 2008-2010 Mandriva # # 2010-2017 Mageia # # # # Thierry Vignaud # # # # This program is free software; you can redistribute it and/or modify # # it under the terms of the GNU General Public License Version 2 as # # published by the Free Software Foundation. # # # # This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # # along with this program; if not, see . # ################################################################################ use strict; use lib qw(/usr/lib/libDrakX /usr/lib/libDrakX/drakfirsttime); use standalone; # for explanations use common; BEGIN { unshift @::textdomains, 'mgaonline' } use mygtk3 qw(gtknew); #- do not import gtkadd which conflicts with ugtk3 version use ugtk3 qw(:all); use mgaonline; use mgaapplet_gui; use interactive; get_product_id(); configure(); ugtk3::exit(0); sub configure() { my $w = ugtk3->new(N("Updates Configuration"), width => -1); my %config = getVarsFromSh($config_file); # convert from ms to seconds: $config{FIRST_CHECK_DELAY} /= 1000; # convert from seconds to minutes : $config{FIRST_CHECK_DELAY} /= 60; # convert from seconds to hours : $config{UPDATE_FREQUENCY} /= 3600; # sanity check: $config{UPDATE_FREQUENCY} = 1 if $config{UPDATE_FREQUENCY} < 1; # config file has negative options but GUI want positive options (HIG): invbools_for_display(\%config); my $res = fill_n_run_portable_dialog( $w, [ if_(!$::isEmbedded, get_banner(N("Updates Configuration"))), gtknew('Label_Left', text => N("Here you can configure the updates applet"), @common), gtknew('Table', col_spacings => 5, row_spacings => 5, children => [ [ gtknew('Label', alignment => [ 0, 1 ], text => N("Update frequency (hours)")), gtknew('HScale', digits => 0, lower => 1, upper => 24, step_increment => 1, width => 100, value_ref => \$config{UPDATE_FREQUENCY}) ], [ gtknew('Label', alignment => [ 0, 1 ], text => N("First check delay (minutes)")), gtknew('HScale', digits => 0, lower => 5, upper => 30, step_increment => 1, value_ref => \$config{FIRST_CHECK_DELAY}) ], [ gtknew('CheckButton', text => N("Check for newer Mageia releases"), active_ref => \$config{DO_NOT_ASK_FOR_DISTRO_UPGRADE}, ), ], ]), create_okcancel($w), #, N("Next"), N("Cancel")), ]); if ($res) { # convert from seconds to minutes : $config{FIRST_CHECK_DELAY} *= 60; # convert from seconds to hours : $config{UPDATE_FREQUENCY} *= 3600; # convert back into ms from seconds: $config{FIRST_CHECK_DELAY} *= 1000; # config file has negative options but GUI want positive options (HIG): invbools_for_display(\%config); setVarsInSh($config_file, \%config); } } sub invbools_for_display { my ($config) = @_; foreach (qw(DO_NOT_ASK_FOR_DISTRO_UPGRADE)) { invbool(\$config->{$_}); } }