[yast-commit] r55751 - in /trunk/sudo/src: complex.ycp dialog-user.ycp
Author: kmachalkova Date: Wed Feb 25 17:06:58 2009 New Revision: 55751 URL: http://svn.opensuse.org/viewcvs/yast?rev=55751&view=rev Log: Move user selection into the pop-up - #421053 Modified: trunk/sudo/src/complex.ycp trunk/sudo/src/dialog-user.ycp Modified: trunk/sudo/src/complex.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/sudo/src/complex.ycp?rev=55751&r1=55750&r2=55751&view=diff ============================================================================== --- trunk/sudo/src/complex.ycp (original) +++ trunk/sudo/src/complex.ycp Wed Feb 25 17:06:58 2009 @@ -83,11 +83,8 @@ UI::OpenDialog(`opt(`decorated), `VBox( `Frame( _("Add New Host to the Alias"), - `VBox( - `HSpacing(40), - `VSpacing(0.5), - `TextEntry(`id("host_name"),_("Hostname or Network"), new_host), - `VSpacing(0.5) + `MarginBox(1,1, + `InputField(`id("host_name"),_("Hostname or Network"), new_host) ) ), `HBox( @@ -116,6 +113,37 @@ return (new_host) ; } +string AddUserDialog( list <string> users ) { + string new_user =""; + + UI::OpenDialog(`opt(`decorated), `VBox( + `Frame( + _("Add New User to the Alias"), + `MarginBox(1,1, + `ComboBox(`id("user_name"),_("Local and System Users (Groups)"), users) + ) + ), + `HBox( + `PushButton(`id(`ok), Label::OKButton()), + `HSpacing(1), + `PushButton(`id(`cancel), Label::CancelButton()) + ) + )); + + any ret = nil; + while (true) { + ret = UI::UserInput(); + if (ret == `ok) { + new_user = (string) UI::QueryWidget(`id("user_name"), `Value); + break; + } else if (ret == `cancel) { + break; + } + } + UI::CloseDialog(); + return (new_user) ; +} + boolean ValidateCommand(string cmd){ if(FileUtils::Exists(cmd) || contains(Sudo::GetAliasNames("command"), cmd) || cmd == "ALL" ) return true; Modified: trunk/sudo/src/dialog-user.ycp URL: http://svn.opensuse.org/viewcvs/yast/trunk/sudo/src/dialog-user.ycp?rev=55751&r1=55750&r2=55751&view=diff ============================================================================== --- trunk/sudo/src/dialog-user.ycp (original) +++ trunk/sudo/src/dialog-user.ycp Wed Feb 25 17:06:58 2009 @@ -9,22 +9,15 @@ include "sudo/complex.ycp"; include "sudo/helps.ycp"; -any RedrawUserAlias(string name, list <string> members, list <string> users) { +void RedrawUserAlias( list <string> members ) { list <term> items = []; - if (name != "") { - UI::ChangeWidget(`id("user_alias_name"), `Value, name); - } - foreach(string it, members, { items = add(items, `item(`id(it),it)); }); + UI::ChangeWidget(`id("user_alias_members"),`Items, items); UI::ChangeWidget(`id("remove_member"), `Enabled, (items != [])); - - UI::ReplaceWidget(`id("all_users_replace"), - `ComboBox(`id("all_users"),_("Local and System Users"), sort(string s, string t, users, ``( s < t)))); - } any AddEditUserAliasDialog (string what) { @@ -47,35 +40,25 @@ name = (string) it["name"]:""; caption = _("Existing User Alias"); } + users = (list <string>) sort( string s1, string s2, users, ``( s1 < s2 ) ); term contents = `VBox ( - `TextEntry(`id("user_alias_name"),_("Alias Name (in CAPITALS)")), + `Left( `InputField(`id("user_alias_name"),_("Alias Name (in CAPITALS)"))), `VSpacing(1), - `HBox( - `VBox( - `opt(`hstretch), - `Left(`ReplacePoint(`id("all_users_replace"), - `ComboBox(`id("all_users"),_("Local and System Users"), []) - )), - `Table(`id("user_alias_members"), `opt(`hstretch,`vstretch), `header(_("Alias Members")),[]) - ), - `HSquash( - `VBox ( - `VSpacing(1.1), - `PushButton ( `id ( "add_member" ), `opt ( `hstretch, `key_F3 ), " " + Label::AddButton() + " "), - `PushButton ( `id ( "remove_member" ), `opt ( `hstretch, `key_F5 ), " " + Label::DeleteButton() + " "), - `Empty(`opt(`vstretch)) - ) - ) - - ) + `Table(`id("user_alias_members"), `opt(`hstretch,`vstretch), `header(_("Alias Members")),[]), + `HBox ( + `PushButton ( `id ( "add_member" ), `opt ( `key_F3 ), " " + Label::AddButton() + " "), + `PushButton ( `id ( "remove_member" ), `opt ( `key_F5 ), " " + Label::DeleteButton() + " "), + `HStretch() + ) ); Wizard::SetContentsButtons(caption, contents,HELPS["user_alias"]:"",Label::CancelButton(), Label::OKButton()); Wizard::HideAbortButton(); UI::ChangeWidget (`id("user_alias_name"), `ValidChars, "_0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); + UI::ChangeWidget(`id("user_alias_name"), `Value, name); - RedrawUserAlias(name, alias_members,users); + RedrawUserAlias( alias_members ); any ret = nil; while(true) { @@ -112,23 +95,24 @@ break; /* add users*/ }else if(ret == "add_member"){ - string new_member = (string) UI::QueryWidget(`id("all_users"),`Value); + string new_member = AddUserDialog( users ); - alias_members = add(alias_members, new_member); - users = filter(string s, users, ``(s != new_member)); - RedrawUserAlias("",alias_members, users); + if (new_member != "") + { + alias_members = add(alias_members, new_member); + users = filter(string s, users, ``(s != new_member)); + } + RedrawUserAlias( alias_members ); /* delete users */ - }else if (ret == "remove_member"){ + }else if (ret == "remove_member"){ string current_item = (string) UI::QueryWidget(`id("user_alias_members"), `CurrentItem); alias_members = filter(string s, alias_members, ``(s != current_item)); users = add(users, current_item); - UI::ReplaceWidget(`id("all_users_replace"), - `ComboBox(`id("all_users"),_("Local and System Users"),users)); - RedrawUserAlias("",alias_members, users); + RedrawUserAlias(alias_members); /* unknown */ } else { y2error("unexpected retcode: %1", ret); - continue; + continue; } } -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org
participants (1)
-
kmachalkova@svn.opensuse.org