From 71431f23e93053bc7144288ee8a225388c6eafb8 Mon Sep 17 00:00:00 2001 From: Thierry Vignaud Date: Mon, 18 Nov 2013 15:37:41 +0100 Subject: use Gtk3 namespace instead of Gtk2 --- userdrake | 230 +++++++++++++++++++++++++++++++------------------------------- 1 file changed, 115 insertions(+), 115 deletions(-) diff --git a/userdrake b/userdrake index c6bd82c..6c2d603 100755 --- a/userdrake +++ b/userdrake @@ -53,14 +53,14 @@ my $in = interactive->vnew('su'); my $us = {}; $us->{VERSION} = '1.13.3'; -my $window_splash = Gtk2::Window->new('popup'); +my $window_splash = Gtk3::Window->new('popup'); $window_splash->signal_connect(delete_event => \&QuitGlobal); $window_splash->set_title(N("Userdrake") . $us->{VERSION}); $window_splash->set_position('center_always'); -$window_splash->add(gtkadd(gtkset_shadow_type(Gtk2::Frame->new, 'etched_out'), - gtkpack(Gtk2::VBox->new(0, 0), +$window_splash->add(gtkadd(gtkset_shadow_type(Gtk3::Frame->new, 'etched_out'), + gtkpack(Gtk3::VBox->new(0, 0), gtkcreate_img("$pixdir/userdrake.png"), - Gtk2::Label->new(N("Loading Users and Groups... Please wait")) + Gtk3::Label->new(N("Loading Users and Groups... Please wait")) ) ) ); @@ -84,9 +84,9 @@ $::main_window = $us->{wnd}{real_window}; gtkset_size_request($us->{wnd}{rwindow}, 660, 460); $us->{wnd}{rwindow}->set_position('center') if !$::isEmbedded; $us->{wnd}{window}->signal_connect(delete_event => \&QuitGlobal); -my $utree_model = Gtk2::ListStore->new("Glib::String", "Glib::Int", "Glib::String", +my $utree_model = Gtk3::ListStore->new("Glib::String", "Glib::Int", "Glib::String", "Glib::String", "Glib::String", "Glib::String", "Glib::String"); -my $gtree_model = Gtk2::ListStore->new("Glib::String", "Glib::Int", "Glib::String"); +my $gtree_model = Gtk3::ListStore->new("Glib::String", "Glib::Int", "Glib::String"); my ($usertree, $grouptree); $usertree = CreateTree($utree_model); $grouptree = CreateTree($gtree_model); # slightly verbatimed from control-center @@ -140,44 +140,44 @@ if (defined $buttorcheck{filter}) { print STDERR "BUG with LANGUAGE $ENV{LANGUAGE}\n"; } -my $toolb = Gtk2::Toolbar->new; +my $toolb = Gtk3::Toolbar->new; my $filter; -my $searchBox = gtkpack_(Gtk2::HBox->new(0,5), - 1, Gtk2::Label->new(""), - 0, Gtk2::Label->new(N("Search:")), - 0, gtksignal_connect($filter = Gtk2::Entry->new, +my $searchBox = gtkpack_(Gtk3::HBox->new(0,5), + 1, Gtk3::Label->new(""), + 0, Gtk3::Label->new(N("Search:")), + 0, gtksignal_connect($filter = Gtk3::Entry->new, key_press_event => sub { $_[1]->keyval == $Gtk3::Gdk::KEY_Return and Refresh($sysfilter, $filter->get_text); }), - 0, my $fbut = Gtk2::Button->new(N("Apply filter")), + 0, my $fbut = Gtk3::Button->new(N("Apply filter")), ); -gtkappend_page(my $nb = Gtk2::Notebook->new, +gtkappend_page(my $nb = Gtk3::Notebook->new, gtkpack(create_scrolled_window($usertree)), - gtkshow(Gtk2::Label->new(N("Users")))); + gtkshow(Gtk3::Label->new(N("Users")))); #PO: list of users belonging to that group gtkappend_page($nb, gtkpack(create_scrolled_window($grouptree)), - gtkshow(Gtk2::Label->new(N("Groups")))); + gtkshow(Gtk3::Label->new(N("Groups")))); $nb->set_show_border(0); my @extra_widgets; if ($::isEmbedded) { - push @extra_widgets, 0, Gtk2::Banner->new("/usr/share/mcc/themes/default/user-mdk.png", + push @extra_widgets, 0, Gtk3::Banner->new("/usr/share/mcc/themes/default/user-mdk.png", #-PO: do not translate, this is already translated in mcc N("Users and groups")); } -$us->{wnd}{window}->add(gtkpack_(Gtk2::VBox->new(0, 0), +$us->{wnd}{window}->add(gtkpack_(Gtk3::VBox->new(0, 0), 0, $menu, @extra_widgets, 0, $toolb, 0, $searchBox, - 0, Gtk2::HSeparator->new, + 0, Gtk3::HSeparator->new, 1, $nb)); my @ucolsize = (60, 45, 40, 120, 80, 120, 50, -1); my @gcolsize = (100, 80, 160, -1); each_index { - my $col = Gtk2::TreeViewColumn->new_with_attributes($_, - Gtk2::CellRendererText->new, + my $col = Gtk3::TreeViewColumn->new_with_attributes($_, + Gtk3::CellRendererText->new, 'text' => $::i); $col->set_sort_column_id($::i); $col->set_min_width($ucolsize[$::i]); @@ -186,7 +186,7 @@ each_index { N("Full Name"), N("Login Shell"), N("Home Directory"), N("Status")); each_index { - my $col = Gtk2::TreeViewColumn->new_with_attributes($_, Gtk2::CellRendererText->new, 'text' => $::i); + my $col = Gtk3::TreeViewColumn->new_with_attributes($_, Gtk2::CellRendererText->new, 'text' => $::i); $col->set_sort_column_id($::i); $col->set_min_width($gcolsize[$::i]); $grouptree->append_column($col); @@ -199,7 +199,7 @@ foreach ([ N("Add User"), N("Add a user to the system"), 'user_add', \&AddUser ] [ N("Refresh"), N("Refresh the list"), 'refresh', sub { Refresh($sysfilter, $stringsearch) } ]) { my $t = $toolb->append_item($_->[0], $_->[1], $_->[2], - Gtk2::Image->new_from_file($pixdir . $_->[2] . '.png'), + Gtk3::Image->new_from_file($pixdir . $_->[2] . '.png'), $_->[3], $toolb); push(@toolbwg, $t); # $toolb->append_space; @@ -334,9 +334,9 @@ sub GetFaceIcon { my $i; my $current_icon; my $user_icon = "$::prefix/usr/share/faces/$user.png"; - gtkpack_(my $hb = Gtk2::HBox->new(0, 2), - 0, Gtk2::Label->new(N("Click on the icon to change it") . ' '), - 0, my $bt = Gtk2::Button->new + gtkpack_(my $hb = Gtk3::HBox->new(0, 2), + 0, Gtk3::Label->new(N("Click on the icon to change it") . ' '), + 0, my $bt = Gtk3::Button->new ); my $set = sub { my ($icon) = @_; @@ -346,7 +346,7 @@ sub GetFaceIcon { # so that we do display "no icon" if either file doesn't exist or it's corrupted: undef $us->{o}{icon}; $us->{o}{icon} = eval { gtkcreate_img($f) } if -e $f; - $us->{o}{icon} ||= Gtk2::Label->new("No Icon"); + $us->{o}{icon} ||= Gtk3::Label->new("No Icon"); $bt->add($us->{o}{icon}); $us->{o}{icon}->show; }; @@ -386,23 +386,23 @@ sub AddUser() { my %u; gtkpack_($w->vbox, 0, BuildUui(), - 0, Gtk2::HSeparator->new, - 0, $us->{o}{createhomedir} = Gtk2::CheckButton->new(N("Create Home Directory")), - 0, gtkpack_(my $vv = Gtk2::HBox->new(0, 4), - 0, Gtk2::Label->new(N("Home Directory: ")), - 0, $us->{o}{homedir} = Gtk2::Entry->new + 0, Gtk3::HSeparator->new, + 0, $us->{o}{createhomedir} = Gtk3::CheckButton->new(N("Create Home Directory")), + 0, gtkpack_(my $vv = Gtk3::HBox->new(0, 4), + 0, Gtk3::Label->new(N("Home Directory: ")), + 0, $us->{o}{homedir} = Gtk3::Entry->new ), - 0, $us->{o}{privategroup} = Gtk2::CheckButton->new(N("Create a private group for the user")), - 0, $us->{o}{userid} = Gtk2::CheckButton->new(N("Specify user ID manually")), - 0, gtkset_sensitive(my $h = Gtk2::HBox->new(0, 4), 0), - 0, Gtk2::HSeparator->new, + 0, $us->{o}{privategroup} = Gtk3::CheckButton->new(N("Create a private group for the user")), + 0, $us->{o}{userid} = Gtk3::CheckButton->new(N("Specify user ID manually")), + 0, gtkset_sensitive(my $h = Gtk3::HBox->new(0, 4), 0), + 0, Gtk3::HSeparator->new, 0, GetFaceIcon() ); gtkadd($w->action_area, map { my $r = $_->[1]; gtksignal_connect( - Gtk2::Button->new($_->[0]), + Gtk3::Button->new($_->[0]), clicked => sub { if (!$r) { $u{username} = $us->{o}{login}->get_text; $error = 0; @@ -491,9 +491,9 @@ sub AddUser() { $fullname or $us->{o}{fullname}->set_text($us->{o}{login}->get_text); 0; # Gdk expect focus event handlers to return false }); - $us->{o}{uid} = Gtk2::SpinButton->new(Gtk2::Adjustment->new(500, 1, 65000, 1, 10, 10), 1, 0); + $us->{o}{uid} = Gtk3::SpinButton->new(Gtk2::Adjustment->new(500, 1, 65000, 1, 10, 10), 1, 0); $h->pack_end($us->{o}{uid}, 0, 0, 4); - $h->pack_end(Gtk2::Label->new(N("UID: ")), 0, 0, 4); + $h->pack_end(Gtk3::Label->new(N("UID: ")), 0, 0, 4); GrayBox($us->{o}{userid}, $h, 0); $w->show_all; } @@ -512,26 +512,26 @@ sub ChooseGroup() { (N("Add to the existing group"), N("Add to the 'users' group"))); gtkadd($w->vbox, - Gtk2::Label->new(N("A group with this name already exists. What would you like to do?")), - gtkpack(Gtk2::VBox->new(0,0), @radio), + Gtk3::Label->new(N("A group with this name already exists. What would you like to do?")), + gtkpack(Gtk3::VBox->new(0,0), @radio), ); gtkadd($w->action_area, gtksignal_connect( - Gtk2::Button->new(N("Ok")), + Gtk3::Button->new(N("Ok")), clicked => sub { each_index { $_->get_active and $choice = $::i } @radio; $w->destroy; - Gtk2->main_quit; + Gtk3->main_quit; }), gtksignal_connect( - Gtk2::Button->new(N("Cancel")), + Gtk3::Button->new(N("Cancel")), clicked => sub { $error = 1; $w->destroy; - Gtk2->main_quit; + Gtk3->main_quit; })); $w->show_all; - Gtk2->main; + Gtk3->main; $choice; } sub GimmeChoice { @@ -546,15 +546,15 @@ sub AddGroup() { my $mode = 0; my %g; my $is_system = 0; gtkpack_($w->vbox, 0, BuildGui(), - 0, Gtk2::HSeparator->new, - 0, $us->{o}{groupid} = Gtk2::CheckButton->new(N("Specify group ID manually")), - 0, gtkset_sensitive(my $h = Gtk2::HBox->new(0, 4), 0), + 0, Gtk3::HSeparator->new, + 0, $us->{o}{groupid} = Gtk3::CheckButton->new(N("Specify group ID manually")), + 0, gtkset_sensitive(my $h = Gtk3::HBox->new(0, 4), 0), ); gtkadd($w->action_area, map { my $r = $_->[1]; gtksignal_connect( - Gtk2::Button->new($_->[0]), + Gtk3::Button->new($_->[0]), clicked => sub { if (!$r) { $g{groupname} = $us->{o}{groupname}->get_text; $error = 0; @@ -585,9 +585,9 @@ sub AddGroup() { !$error and $w->destroy; $error = 0 }); } ([ N("Cancel"), 1 ], [ N("Ok"), 0 ]) ); - $us->{o}{gid} = Gtk2::SpinButton->new(Gtk2::Adjustment->new(500, 1, 65000, 1, 10, 10), 1, 0); + $us->{o}{gid} = Gtk3::SpinButton->new(Gtk2::Adjustment->new(500, 1, 65000, 1, 10, 10), 1, 0); $h->pack_end($us->{o}{gid}, 0, 0, 4); - $h->pack_end(Gtk2::Label->new(N("GID: ")), 0, 0, 4); + $h->pack_end(Gtk3::Label->new(N("GID: ")), 0, 0, 4); $us->{o}{groupid}->signal_connect('clicked' => sub { $mode = !$mode; $h->set_sensitive($mode) }); $w->show_all; } @@ -635,16 +635,16 @@ sub UserDelete() { my $w = NewWindow(N("Delete files or not?")); my $hd = $userEnt->HomeDir($GetValue); gtkpack_($w->vbox, - 0, Gtk2::Label->new(N("Deleting user %s\n Also perform the following actions\n", + 0, Gtk3::Label->new(N("Deleting user %s\n Also perform the following actions\n", $username)), - 0, $checkhome = Gtk2::CheckButton->new(N("Delete Home Directory: %s", $hd)), - 0, $checkspool = Gtk2::CheckButton->new(N("Delete Mailbox: /var/spool/mail/%s", + 0, $checkhome = Gtk3::CheckButton->new(N("Delete Home Directory: %s", $hd)), + 0, $checkspool = Gtk3::CheckButton->new(N("Delete Mailbox: /var/spool/mail/%s", $username)), ); gtkadd($w->action_area, map { my $r = $_->[1]; - gtksignal_connect(Gtk2::Button->new($_->[0]), clicked => + gtksignal_connect(Gtk3::Button->new($_->[0]), clicked => sub { if (!$r) { log::explanations(N("Removing user: %s", $username)); @@ -680,12 +680,12 @@ sub GroupDelete() { my $groupname = GetNameEntFromIter($grouptree, $gtree_model, 0); my $wg = NewWindow(translate("Warning")); gtkadd($wg->vbox, - Gtk2::Label->new(N("Do you really want to delete the group %s?", $groupname)), + Gtk3::Label->new(N("Do you really want to delete the group %s?", $groupname)), ); gtkadd($wg->action_area, map { my $r = $_->[1]; - gtksignal_connect(Gtk2::Button->new($_->[0]), clicked => + gtksignal_connect(Gtk3::Button->new($_->[0]), clicked => sub { if (!$r) { my $groupEnt = $ctx->LookupGroupByName($groupname); @@ -724,7 +724,7 @@ sub Delete() { # Gtk Facilities sub CreateTree { my ($tree_model) = @_; - my $tree = Gtk2::TreeView->new_with_model($tree_model); + my $tree = Gtk3::TreeView->new_with_model($tree_model); $tree->get_selection->set_mode('browse'); $tree->set_headers_visible(1); $tree->set_rules_hint(1); @@ -734,7 +734,7 @@ sub CreateTree { $_->set_sensitive(1); } }); - my $menu_treeview = Gtk2::Menu->new; + my $menu_treeview = Gtk3::Menu->new; my @menu_treeview_actions = ([ 'edit', N("Edit") ], [ 'delete', N("Delete") ]); foreach (@menu_treeview_actions) { my ($action, $text) = @$_; @@ -750,7 +750,7 @@ sub CreateTree { ); $menu_treeview->append( gtksignal_connect( - gtkshow(Gtk2::MenuItem->new_with_label($text)), + gtkshow(Gtk3::MenuItem->new_with_label($text)), activate => sub { $actions{$action}->() })); } $tree->signal_connect( @@ -785,25 +785,25 @@ sub GtkEntryHidePass { sub GtkEntrySized { my ($i, $spac) = @_; - my $e = Gtk2::Entry->new_with_max_length($i); + my $e = Gtk3::Entry->new_with_max_length($i); $e->set_size_request($spac, 20); $e; } sub BuildUui { my ($o_extra_widget) = @_; - gtkpack_(my $vbox = Gtk2::VBox->new(0, 2), + gtkpack_(my $vbox = Gtk3::VBox->new(0, 2), 1, create_packtable({ homogeneous => 1, col_spacings => 5, row_spacings => 5 }, [ gtknew('Label_Left', text => N("Full Name:")), - $us->{o}{fullname} = Gtk2::Entry->new ], + $us->{o}{fullname} = Gtk3::Entry->new ], [ gtknew('Label_Left', text => N("Login:")), - $us->{o}{login} = Gtk2::Entry->new ], + $us->{o}{login} = Gtk3::Entry->new ], [ gtknew('Label_Left', text => N("Password:")), $us->{o}{passwd} = GtkEntryHidePass() ], [ gtknew('Label_Left', text => N("Confirm Password:")), $us->{o}{confpasswd} = GtkEntryHidePass() ], [ gtknew('Label_Left', text => N("Login Shell:")), - $us->{o}{shells} = Gtk2::Combo->new ], + $us->{o}{shells} = Gtk3::Combo->new ], $o_extra_widget, ) ); @@ -813,9 +813,9 @@ sub BuildUui { } sub BuildGui() { - gtkpack_(my $vbox = Gtk2::VBox->new(0, 2), + gtkpack_(my $vbox = Gtk3::VBox->new(0, 2), 1, create_packtable({ homogeneous => 1, col_spacings => 5, row_spacings =>5 }, - [ N("Group Name:"), $us->{o}{groupname} = Gtk2::Entry->new ] + [ N("Group Name:"), $us->{o}{groupname} = Gtk3::Entry->new ] ) ); $vbox; @@ -983,61 +983,61 @@ sub UserEdit_widget { my $valm = $mo+1; gtkappend_page($nbU, BuildUui([ gtknew('Label_Left', text => N("Home:")), - $us->{o}{homedir} = Gtk2::Entry->new ]), - gtkshow(Gtk2::Label->new(N("User Data")))); + $us->{o}{homedir} = Gtk3::Entry->new ]), + gtkshow(Gtk3::Label->new(N("User Data")))); gtkappend_page( $nbU, - gtkpack_(Gtk2::VBox->new(0, 2), - 0, $us->{o}{acheckexpire} = Gtk2::CheckButton->new(N("Enable account expiration")), - 0, gtkpack__(my $h = Gtk2::HBox->new(0, 10), - Gtk2::Label->new(N("Account expires (YYYY-MM-DD):")), + gtkpack_(Gtk3::VBox->new(0, 2), + 0, $us->{o}{acheckexpire} = Gtk3::CheckButton->new(N("Enable account expiration")), + 0, gtkpack__(my $h = Gtk3::HBox->new(0, 10), + Gtk3::Label->new(N("Account expires (YYYY-MM-DD):")), map { my ($s, $value, $minv, $maxv) = @$_; #my $spc = $_->[4]; - $us->{o}{$s} = Gtk2::SpinButton->new(Gtk2::Adjustment->new($value, $minv , $maxv, 1, 10, 10), 1, 0); + $us->{o}{$s} = Gtk3::SpinButton->new(Gtk2::Adjustment->new($value, $minv , $maxv, 1, 10, 10), 1, 0); } (['expy', $valy, 1970, 10000], ['expm', $valm, 1, 12], ['expd', $vald, 1, 31]), ), - 0, Gtk2::HSeparator->new, - 0, $us->{o}{lockuser} = Gtk2::CheckButton->new(N("Lock User Account")), - 0, Gtk2::HSeparator->new, + 0, Gtk3::HSeparator->new, + 0, $us->{o}{lockuser} = Gtk3::CheckButton->new(N("Lock User Account")), + 0, Gtk3::HSeparator->new, 0, GetFaceIcon(GetNameEntFromIter($usertree, $utree_model,0)) - ), gtkshow(Gtk2::Label->new(N("Account Info")))); + ), gtkshow(Gtk3::Label->new(N("Account Info")))); GrayBox($us->{o}{acheckexpire}, $h, 0); gtkappend_page($nbU, - gtkpack_(Gtk2::VBox->new(0, 2), - 0, gtkpack_(Gtk2::HBox->new(0,5), - 0, Gtk2::Label->new(N("User last changed password on: ")), - 0, my $dayStr = Gtk2::Label->new(""), - 0, my $month = Gtk2::Label->new(""), - 0, my $dayInt = Gtk2::Label->new(""), - 0, my $year = Gtk2::Label->new("") + gtkpack_(Gtk3::VBox->new(0, 2), + 0, gtkpack_(Gtk3::HBox->new(0,5), + 0, Gtk3::Label->new(N("User last changed password on: ")), + 0, my $dayStr = Gtk3::Label->new(""), + 0, my $month = Gtk3::Label->new(""), + 0, my $dayInt = Gtk3::Label->new(""), + 0, my $year = Gtk3::Label->new("") ), - 0, Gtk2::HSeparator->new, - 0, $us->{o}{pcheckexpire} = Gtk2::CheckButton->new(N("Enable Password Expiration")), + 0, Gtk3::HSeparator->new, + 0, $us->{o}{pcheckexpire} = Gtk3::CheckButton->new(N("Enable Password Expiration")), 1, gtkpack_( - my $v = Gtk2::VBox->new(0,1), + my $v = Gtk3::VBox->new(0,1), 1, create_packtable( { homogeneous => 1, col_spacings => 5, row_spacings => 5 }, [ N("Days before change allowed:"), - $us->{o}{dbca} = Gtk2::Entry->new_with_text(0) ], + $us->{o}{dbca} = Gtk3::Entry->new_with_text(0) ], [ N("Days before change required:"), - $us->{o}{dbcr} = Gtk2::Entry->new_with_text(0) ], + $us->{o}{dbcr} = Gtk3::Entry->new_with_text(0) ], [ N("Days warning before change:"), - $us->{o}{bwbc} = Gtk2::Entry->new_with_text(0) ], + $us->{o}{bwbc} = Gtk3::Entry->new_with_text(0) ], [ N("Days before account inactive:"), - $us->{o}{dbai} = Gtk2::Entry->new_with_text(0) ] + $us->{o}{dbai} = Gtk3::Entry->new_with_text(0) ] ) - )), gtkshow(Gtk2::Label->new(N("Password Info")))); + )), gtkshow(Gtk3::Label->new(N("Password Info")))); GrayBox($us->{o}{pcheckexpire}, $v, 0); gtkappend_page($nbU, - gtkpack_(Gtk2::VBox->new(0, 2), - 0, Gtk2::Label->new(N("Select the groups that the user will be a member of:")), + gtkpack_(Gtk3::VBox->new(0, 2), + 0, Gtk3::Label->new(N("Select the groups that the user will be a member of:")), 1, create_scrolled_window($tree), - 0, gtkpack_(Gtk2::HBox->new(0, 1), - 0, Gtk2::Label->new(N("Primary Group")), - 1, $us->{o}{primgroup} = Gtk2::OptionMenu->new, + 0, gtkpack_(Gtk3::HBox->new(0, 1), + 0, Gtk3::Label->new(N("Primary Group")), + 1, $us->{o}{primgroup} = Gtk3::OptionMenu->new, ) - ), gtkshow(Gtk2::Label->new(N("Groups")))); + ), gtkshow(Gtk3::Label->new(N("Groups")))); my $username = GetNameEntFromIter($usertree, $utree_model,0); $us->{o}{login}->set_text($username); my $userEnt = $ctx->LookupUserByName($username); FillUserInfo($userEnt); @@ -1096,14 +1096,14 @@ sub GroupEdit_widget { my ($nbG, $tree, $model, $groupname) = @_; $nbG->set_size_request(300, 200); gtkappend_page($nbG, - gtkpack_(Gtk2::VBox->new(0, 2), + gtkpack_(Gtk3::VBox->new(0, 2), 1, BuildGui()), - gtkshow(Gtk2::Label->new(N("Group Data")))); + gtkshow(Gtk3::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:")), + gtkpack_(Gtk3::VBox->new(0, 1), + 0, Gtk3::Label->new(N("Select the users to join this group:")), 1, create_scrolled_window($tree)), - gtkshow(Gtk2::Label->new(N("Group Users")))); + gtkshow(Gtk3::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 @@ -1124,21 +1124,21 @@ sub GroupEdit_widget { sub Edit() { my $w = NewWindow(N("Edit Groups / Users")); - my $model = Gtk2::ListStore->new("Gtk2::Gdk::Pixbuf", "Glib::String", "Glib::Int"); - my $tree = Gtk2::TreeView->new_with_model($model); + my $model = Gtk3::ListStore->new("Gtk2::Gdk::Pixbuf", "Glib::String", "Glib::Int"); + my $tree = Gtk3::TreeView->new_with_model($model); my ($groupname, $groupEnt, $userEnt, $primgid, $Gent); my @primgroup; $tree->get_selection->set_mode('browse'); - my $check = Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererPixbuf->new, + my $check = Gtk3::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererPixbuf->new, 'pixbuf' => 0); $tree->append_column($check); $check->{is_pixbuf_column} = 1; - $tree->append_column(Gtk2::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, + $tree->append_column(Gtk3::TreeViewColumn->new_with_attributes(undef, Gtk2::CellRendererText->new, 'text' => 1)); $tree->set_headers_visible(0); my $p = $nb->get_current_page; - my $nbU = Gtk2::Notebook->new; - my $nbG = Gtk2::Notebook->new; + my $nbU = Gtk3::Notebook->new; + my $nbG = Gtk3::Notebook->new; if ($p <= 0) { ($userEnt, $primgid, @primgroup) = UserEdit_widget($nbU, $tree, $model, $Gent); } elsif ($p == 1) { @@ -1150,7 +1150,7 @@ sub Edit() { map { my $retv = $_->[1]; gtksignal_connect( - Gtk2::Button->new($_->[0]), clicked => sub { + Gtk3::Button->new($_->[0]), clicked => sub { if (!$retv) { if ($p <= 0) { eval { UserEdit_valid($userEnt, $model, $primgid) }; @@ -1264,7 +1264,7 @@ sub NewDialog { _create_dialog($title, { transient_for => $us->{wnd}{real_window} }), 5); $dialog->action_area->pack_start( - gtksignal_connect(Gtk2::Button->new(N("Close")), clicked => sub { $dialog->destroy }), + gtksignal_connect(Gtk3::Button->new(N("Close")), clicked => sub { $dialog->destroy }), 0,0,0); $dialog; } @@ -1312,9 +1312,9 @@ sub valid_groupname { sub RaiseError { my $w = NewWindow(N("Error")); $error = 1; - gtkpack($w->vbox, Gtk2::Label->new($_[0])); + gtkpack($w->vbox, Gtk3::Label->new($_[0])); gtkadd($w->action_area, - gtksignal_connect(Gtk2::Button->new(N("Ok")), + gtksignal_connect(Gtk3::Button->new(N("Ok")), clicked => sub { $w->destroy }) ); $w->show_all; @@ -1324,5 +1324,5 @@ sub QuitGlobal() { setVarsInSh($conffile, { FILTER => bool2text($sysfilter), }); - Gtk2->main_quit; + Gtk3->main_quit; } -- cgit v1.2.1