Author: jreidinger Date: Thu Jun 18 16:57:08 2009 New Revision: 57641 URL: http://svn.opensuse.org/viewcvs/yast?rev=57641&view=rev Log: reduce YaPI to two calls to avoid hard permission settings Modified: trunk/country/language/src/YaPI/LANGUAGE.pm Modified: trunk/country/language/src/YaPI/LANGUAGE.pm URL: http://svn.opensuse.org/viewcvs/yast/trunk/country/language/src/YaPI/LANGUAGE.pm?rev=57641&r1=57640&r2=57641&view=diff ============================================================================== --- trunk/country/language/src/YaPI/LANGUAGE.pm (original) +++ trunk/country/language/src/YaPI/LANGUAGE.pm Thu Jun 18 16:57:08 2009 @@ -14,71 +14,48 @@ our @CAPABILITIES = ('SLES9'); our %TYPEINFO; -BEGIN{$TYPEINFO{GetLanguages} = ["function", - ["list","string"]]; -# "string"]; -} -sub GetLanguages { - my $ret = []; - my $languages = Language->GetLanguagesMap(0); - while ( my ($key, $value) = each (%$languages)){ - push @$ret, "$key---".$value->[0]; - } - return $ret; -} -BEGIN{$TYPEINFO{GetCurrentLanguage} = ["function", - "string"]; +BEGIN{$TYPEINFO{GetSettings} = ["function", + ["map","string","any"] +,["map","string","string"]]; } -sub GetCurrentLanguage { - return Language->language; -} - -BEGIN{$TYPEINFO{SetCurrentLanguage} = ["function", - "boolean","string"]; -} -sub SetCurrentLanguage { +sub GetSettings { my $self = shift; - my $value = shift; - Language->QuickSet($value); - Language->Save(); - return 1; -} - -BEGIN{$TYPEINFO{IsUTF8} = ["function", - "boolean"]; -} -sub IsUTF8 { - return Language->GetExpertValues->{"use_utf8"}; -} - -BEGIN{$TYPEINFO{SetUTF8} = ["function", - "boolean","boolean"]; -} -sub SetUTF8 { - my $self = shift; - my $value = shift; - my $arg = { "use_utf8" => YaST::YCP::Boolean($value) }; - Language->SetExpertValues($arg); - Language->Save(); - return 1; -} - -BEGIN{$TYPEINFO{GetRootLang} = ["function", - "string"]; -} -sub GetRootLang { - return Language->GetExpertValues->{"rootlang"}; + my $values = shift; + my $ret = {}; + if ($values->{"languages"} eq "true"){ + my $languages = Language->GetLanguagesMap(0); + } + if ($values->{"current"} eq "true"){ + $ret->{"current"} = Language->language; + } + my $expr = Language->GetExpertValues(); + if ($values->{"utf8"} eq "true"){ + $ret->{"utf8"} = $expr->{"use_utf8"}?"true":"false"; + } + if ($values->{"rootlang"} eq "true"){ + $ret->{"rootlang"} = $expr->{"rootlang"}; + } + return $ret; } -BEGIN{$TYPEINFO{SetRootLang} = ["function", - "boolean","string"]; +BEGIN{$TYPEINFO{SetSettings} = ["function", + "boolean",["map","string","string"]]; } -sub SetRootLang { +sub SetSettings { my $self = shift; - my $value = shift; - my $arg = { "rootlang" => $value }; - Language->SetExpertValues($arg); + my $values = shift; + if ( defined $values->{"current"}){ + Language->QuickSet($values->{"current"}); + } + my $expr = {}; + if (defined $values->{"utf8"}){ + $expr->{"use_utf8"} = YaST::YCP::Boolean($values->{"utf8"} eq "true"); + } + if (defined $values->{"rootlang"}){ + $expr->{"rootlang"} = $values->{"rootlang"}; + } + Language->SetExpertValues($expr); Language->Save(); return 1; } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org