#create list of downloadables packages
sub create_packages_list{
my ($gladexml)=@_;
#my $iter = Gtk2::TreeIter->new;
my @packages;
my $package="";
my $desc="";
my $source="";
my $pack=undef;
open(LIST,"<packages") or return;
while(<LIST>){
if(m/\[(.*)\]/){
#we're in a package
if($package ne $1 and $package ne ""){
#i expect a package is already parsed
print "insetion des valeurs:\n *$package,\n *$source,\n *$desc\n\n";
$pack = new SLunivers::SLPackage;
$pack->set_name($package);
$pack->set_source($source);
$pack->set_desc($desc);
push(@packages,$pack);
$source="";
$desc="";
}
$package=$1;
}
if(m/<(.*)>/){
#get the source
$source=$1;
}
if(m/\((.*)\)/){
#get the desc
$desc=$1;
$desc=~s/;/__COMA__/;
}
}
print "insetion des valeurs:\n *$package,\n *$source,\n *$desc\n\n";
$pack = new SLunivers::SLPackage;
$pack->set_name($package);
$pack->set_source($source);
$pack->set_desc($desc);
push(@packages,$pack);
fill_tree($gladexml,@packages);
}
#fill the installable and installed packages in treeview
sub fill_tree{
my ($gladexml,@packages)=@_;
my $installView = $gladexml->get_widget("installView");
my $model = Gtk2::TreeStore->new (qw/Glib::String Gtk2::Gdk::Pixbuf/);
my $package="";
my $desc="";
my $source="";
my $pack=undef;
reset @packages;
foreach my $elem (@packages){
$package=$elem->get_name;
$desc=$elem->get_desc;
$source=$elem->get_source;
$desc=~s/__COMA__/;/;
print "visu des valeurs:\n *".$package.",\n *".$desc.",\n *".$source."\n\n";
my $iter = $model->append(undef);
my $pixbuf = Gtk2::Gdk::Pixbuf->new_from_file ("pixmaps/notinstalled.png");
$model->set($iter,0,$package,1,$pixbuf);
$packageslist{$package}=$elem;
}
my $selection= $installView->get_selection();
$selection->set_mode("single");
$selection->signal_connect("changed", \&SLunivers::slcallbacks::on_installselect_clicked, undef);
#create colons
my $pixcell = Gtk2::CellRendererPixbuf->new;
my $column2 = Gtk2::TreeViewColumn->new_with_attributes("Etat", $pixcell, 'pixbuf' => 1);
$installView->append_column($column2);
my $cell = Gtk2::CellRendererText->new;
my $column = Gtk2::TreeViewColumn->new_with_attributes("Nom du paquet", $cell, 'text' => 0);
$installView->append_column($column);
$installView->set_model($model);
$installView->show;
SLunivers::slcallbacks::set_packageslist(%packageslist);
}
insetion des valeurs:
*jack-audio-connection-kit
*http://heanet.dl.sourceforge.net/sourceforge/jackit/jack-audio-connection-kit-0.101.1.tar.gz,
*Jack Audio Connection Kit \nThe Jack server is a low latency sound server.
insetion des valeurs:
*Flac,
*http://kent.dl.sourceforge.net/sourceforge/flac/flac-1.1.2.tar.gz,
*FLAC Api and libs \nEverything to work with FLAC format.
visu des valeurs:
*Flac,
*FLAC Api and libs \nEverything to work with FLAC format.,
*http://kent.dl.sourceforge.net/sourceforge/flac/flac-1.1.2.tar.gz
visu des valeurs:
*Flac,
*FLAC Api and libs \nEverything to work with FLAC format.,
*http://kent.dl.sourceforge.net/sourceforge/flac/flac-1.1.2.tar.gz