diff options
author | Thierry Vignaud <tv@mandriva.org> | 2010-02-02 08:43:51 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mandriva.org> | 2010-02-02 08:43:51 +0000 |
commit | 5db4af99032afa0346996a1fa39aa84af74c70e7 (patch) | |
tree | def33563355df618617c161bdfaaedcb38775cb4 /userdrake | |
parent | fa32ad8185c964121c0024290bcea09ab54edea4 (diff) | |
download | userdrake-5db4af99032afa0346996a1fa39aa84af74c70e7.tar userdrake-5db4af99032afa0346996a1fa39aa84af74c70e7.tar.gz userdrake-5db4af99032afa0346996a1fa39aa84af74c70e7.tar.bz2 userdrake-5db4af99032afa0346996a1fa39aa84af74c70e7.tar.xz userdrake-5db4af99032afa0346996a1fa39aa84af74c70e7.zip |
(GroupEdit_widget) split it out of Edit()
Diffstat (limited to 'userdrake')
-rwxr-xr-x | userdrake | 48 |
1 files changed, 31 insertions, 17 deletions
@@ -997,6 +997,36 @@ sub UserEdit_widget { ($userEnt, $primgid, @primgroup); } +sub GroupEdit_widget { + my ($nbG, $tree, $model, $groupname) = @_; + $nbG->set_size_request(300, 200); + gtkappend_page($nbG, + gtkpack_(Gtk2::VBox->new(0, 2), + 1, BuildGui()), + gtkshow(Gtk2::Label->new(N("Group Data")))); + gtkappend_page($nbG, + gtkpack_(Gtk2::VBox->new(0, 1), + 0, Gtk2::Label->new(N("Select the users to join this group:")), + 1, create_scrolled_window($tree)), + gtkshow(Gtk2::Label->new(N("Group Users")))); + $groupname = GetNameEntFromIter($grouptree, $gtree_model, 0); + $us->{o}{groupname}->set_text($groupname); + # Don't allow change on group name since there is a bug in lu_user_modify group + $us->{o}{groupname}->set_editable(0); + my $groupEnt = $ctx->LookupGroupByName($groupname); + my $users = $ctx->UsersEnumerate; + my @susers = sort(@$users); + my $members = $ctx->EnumerateUsersByGroup($groupname); + foreach my $user (@susers) { + if (member($user, @$members)) { + $model->append_set([ 0 => gtkcreate_pixbuf($pix[0]), 1 => $user, 2 => 1 ]); + } else { + $model->append_set([ 0 => gtkcreate_pixbuf($pix[1]), 1 => $user, 2 => 0 ]); + } + } + $groupEnt; +} + sub Edit() { my $w = NewWindow(N("Edit Groups / Users")); my $model = Gtk2::ListStore->new("Gtk2::Gdk::Pixbuf", "Glib::String", "Glib::Int"); @@ -1013,23 +1043,7 @@ sub Edit() { if ($p <= 0) { ($userEnt, $primgid, @primgroup) = UserEdit_widget($nbU, $tree, $model, $Gent); } elsif ($p == 1) { - $nbG->set_size_request(300, 200); - gtkappend_page($nbG, gtkpack_(Gtk2::VBox->new(0, 2), 1, BuildGui()), gtkshow(Gtk2::Label->new(N("Group Data")))); - gtkappend_page($nbG, - gtkpack_(Gtk2::VBox->new(0, 1), - 0, Gtk2::Label->new(N("Select the users to join this group:")), - 1, create_scrolled_window($tree)), gtkshow(Gtk2::Label->new(N("Group Users")))); - $groupname = GetNameEntFromIter($grouptree, $gtree_model, 0); $us->{o}{groupname}->set_text($groupname); - # Don't allow change on group name since there is a bug in lu_user_modify group - $us->{o}{groupname}->set_editable(0); - $groupEnt = $ctx->LookupGroupByName($groupname); - my $users = $ctx->UsersEnumerate; my @susers = sort(@$users); - my $members = $ctx->EnumerateUsersByGroup($groupname); - foreach my $user (@susers) { - if (member($user, @$members)) { - $model->append_set([ 0 => gtkcreate_pixbuf($pix[0]), 1 => $user, 2 => 1 ]); - } else { $model->append_set([ 0 => gtkcreate_pixbuf($pix[1]), 1 => $user, 2 => 0 ]) } - } + $groupEnt = GroupEdit_widget($nbG, $tree, $model, $groupname); } gtkpack_($w->vbox, 1, !$p ? $nbU : $nbG); |