diff options
author | Angelo Naselli <anaselli@linux.it> | 2014-06-26 21:47:22 +0200 |
---|---|---|
committer | Angelo Naselli <anaselli@linux.it> | 2014-06-26 21:47:22 +0200 |
commit | 5ec722f1d30466f4e8622b64a00e90464a631488 (patch) | |
tree | 6fc2c29f580d8965c287fdaed1a084f444aad92c /lib | |
parent | 5461cb0ac4a3e2d4e9d44e414e1962e26cd1e06b (diff) | |
download | colin-keep-5ec722f1d30466f4e8622b64a00e90464a631488.tar colin-keep-5ec722f1d30466f4e8622b64a00e90464a631488.tar.gz colin-keep-5ec722f1d30466f4e8622b64a00e90464a631488.tar.bz2 colin-keep-5ec722f1d30466f4e8622b64a00e90464a631488.tar.xz colin-keep-5ec722f1d30466f4e8622b64a00e90464a631488.zip |
managed Ok button, save configuration and start/sop services accordingly
Diffstat (limited to 'lib')
-rw-r--r-- | lib/AdminPanel/Module/Clock.pm | 43 |
1 files changed, 39 insertions, 4 deletions
diff --git a/lib/AdminPanel/Module/Clock.pm b/lib/AdminPanel/Module/Clock.pm index 0361c08..e3e7130 100644 --- a/lib/AdminPanel/Module/Clock.pm +++ b/lib/AdminPanel/Module/Clock.pm @@ -253,7 +253,8 @@ sub _adminClockPanel { # buttons on the last line - $align = $factory->createLeft($layout); + $hbox = $factory->createHBox($layout); + $align = $factory->createLeft($hbox); $hbox = $factory->createHBox($align); my $aboutButton = $factory->createPushButton($hbox, $self->loc->N("About") ); my $resetButton = $factory->createPushButton($hbox, $self->loc->N("Reset") ); @@ -305,8 +306,42 @@ sub _adminClockPanel { last; } elsif ($widget == $okButton) { - ### TODO manage OK pressed ### - last; + my $finished = 1; + # (1) write new TZ settings + # (2) write new NTP settigs if checked + # (3) use date time fields if NTP is not checked + + if ($info->{time_zone}->{UTC}) { + # (1) + $DB::single = 1; + $self->sh_tz->writeConfiguration($info->{time_zone}); + } + if ($ntpFrame->value()) { + # (2) + if ($info->{ntp_server}) { + + $self->sh_tz->setNTPServer($info->{ntp_server}); + + } + else { + $self->sh_gui->warningMsgBox({text => $self->loc->N("Please enter a valid NTP server address.")}); + $finished = 0; + } + } + else { + $self->sh_tz->disableAndStopNTP(); + # (3) + my $t = Time::Piece->strptime($timeField->value(), "%H:%M:%S"); + my $d = Time::Piece->strptime($dateField->value(), "%Y-%m-%d"); + my $ts = sprintf("%02d%02d%02d%02d%04d.%02d", + $d->mon, $d->mday, $t->hour, + $t->min, $d->year,$t->sec); + $ENV{PATH} = "/usr/bin:/usr/sbin"; + system("/usr/bin/date " . $ts); + -e '/usr/sbin/hwclock' and system('/usr/sbin/hwclock', '--systohc'); + } + + last if ($finished); } elsif ($widget == $changeNTPButton) { my $item = $self->sh_gui->ask_fromTreeList({title => $self->loc->N("NTP server - DrakClock"), @@ -339,7 +374,7 @@ sub _adminClockPanel { if ($item) { my $utc = 0; if ($info->{time_zone}->{UTC} ) { - $utc = lc$info->{time_zone}->{UTC}; + $utc = lc $info->{time_zone}->{UTC}; $utc = ($utc eq "false" || $utc eq "0") ? 0 : 1; } $utc = $self->sh_gui->ask_YesOrNo({ |