1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
package tmp::compssUsers;
use common;
use ugtk2 qw(:helpers :wrappers :create);
my $h = {
N_("Workstation") =>
[
{ label => N_("Office Workstation"),
descr => N_("Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, gnumeric), pdf viewers, etc"),
flags => [ qw(OFFICE SPELLCHECK PUBLISHING PIM ARCHIVING PRINTER) ],
default_selected => 1,
},
{ label => N_("Game station"),
descr => N_("Amusement programs: arcade, boards, strategy, etc"),
flags => [ qw(GAMES) ],
},
{ label => N_("Multimedia station"),
descr => N_("Sound and video playing/editing programs"),
flags => [ qw(AUDIO VIDEO GRAPHICS) ],
default_selected => 1,
},
{ label => N_("Internet station"),
descr => N_("Set of tools to read and send mail and news (mutt, tin..) and to browse the Web"),
flags => [ qw(NETWORKING_WWW NETWORKING_MAIL NETWORKING_NEWS COMMUNICATIONS NETWORKING_CHAT NETWORKING_FILE_TRANSFER NETWORKING_IRC NETWORKING_INSTANT_MESSAGING NETWORKING_DNS) ],
default_selected => 1,
},
{ label => N_("Network Computer (client)"),
descr => N_("Clients for different protocols including ssh"),
flags => [ qw(NETWORKING_REMOTE_ACCESS NETWORKING_FILE) ],
default_selected => 1,
},
{ label => N_("Configuration"),
descr => N_("Tools to ease the configuration of your computer"),
flags => [ qw(CONFIG) ],
default_selected => 1,
},
{ label => N_("Console Tools"),
descr => N_("Editors, shells, file tools, terminals"),
flags => [ qw(EDITORS TERMINALS TEXT_TOOLS SHELLS FILE_TOOLS) ],
default_selected => 1,
},
{ label => N_("Development"),
descr => N_("C and C++ development libraries, programs and include files"),
flags => [ qw(DEVELOPMENT EDITORS) ],
default_selected => 1,
},
{ label => N_("Documentation"),
descr => N_("Books and Howto's on Linux and Free Software"),
flags => [ qw(BOOKS) ],
default_selected => 1,
},
{ label => N_("LSB"),
descr => N_("Linux Standard Base. Third party applications support"),
flags => [ qw(LSB) ],
},
],
N_("Server") =>
[
{ label => N_("Web/FTP"),
descr => N_("Apache, Pro-ftpd"),
flags => [ qw(NETWORKING_WWW_SERVER NETWORKING_FILE_TRANSFER_SERVER) ],
},
{ label => N_("Mail"),
descr => N_("Postfix mail server"),
flags => [ qw(NETWORKING_MAIL_SERVER) ],
},
{ label => N_("Database"),
descr => N_("PostgreSQL or MySQL database server"),
flags => [ qw(DATABASES DATABASES_SERVER) ],
},
{ label => N_("Firewall/Router"),
descr => N_("Internet gateway"),
flags => [ qw(NETWORKING_FIREWALLING_SERVER) ],
},
{ label => N_("Network Computer server"),
descr => N_("NFS server, SMB server, Proxy server, ssh server"),
flags => [ qw(NETWORKING_FILE_SERVER NETWORKING_REMOTE_ACCESS_SERVER) ],
},
],
N_("Graphical Environment") =>
[
{ label => N_("KDE Workstation"),
descr => N_("The K Desktop Environment, the basic graphical environment with a collection of accompanying tools"),
flags => [ qw(KDE X ACCESSIBILITY) ],
default_selected => 1,
},
{ label => N_("GNOME Workstation"),
descr => N_("A graphical environment with user-friendly set of applications and desktop tools"),
flags => [ qw(GNOME X ACCESSIBILITY) ],
},
{ label => N_("Other Graphical Desktops"),
descr => N_("Icewm, Window Maker, Enlightenment, Fvwm, etc"),
flags => [ qw(GRAPHICAL_DESKTOP X ACCESSIBILITY) ],
},
],
};
foreach my $path (keys %$h) {
foreach (@{$h->{$path}}) {
$_->{path} = $path;
$_->{uid} = join('|', $path, $_->{label});
}
}
my $compssUsers = [ map { @$_ } values %$h ];
my $gtk_display_compssUsers = sub {
my ($entry) = @_;
my $entries_in_path = sub {
my ($path) = @_;
translate($path), map { $entry->($_) } @{$h->{$path}};
};
gtkpack_(Gtk2::VBox->new(0, 0),
1, gtkpack_(Gtk2::HBox->new(0, 0),
1, gtkpack(Gtk2::VBox->new(0, 0),
$entries_in_path->('Workstation'),
),
0, gtkpack(Gtk2::VBox->new(0, 0),
$entries_in_path->('Server'),
'',
$entries_in_path->('Graphical Environment'),
),
),
);
};
$compssUsers, $gtk_display_compssUsers;
|