aboutsummaryrefslogtreecommitdiffstats
path: root/userdrake
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mandriva.org>2010-02-02 08:43:51 +0000
committerThierry Vignaud <tv@mandriva.org>2010-02-02 08:43:51 +0000
commit5db4af99032afa0346996a1fa39aa84af74c70e7 (patch)
treedef33563355df618617c161bdfaaedcb38775cb4 /userdrake
parentfa32ad8185c964121c0024290bcea09ab54edea4 (diff)
downloaduserdrake-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-xuserdrake48
1 files changed, 31 insertions, 17 deletions
diff --git a/userdrake b/userdrake
index b31cf5c..d82f900 100755
--- a/userdrake
+++ b/userdrake
@@ -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);