diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-03-09 22:05:38 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-03-09 22:05:38 +0100 |
commit | b9a4e9c8a68dcb6b17617f4f7a5ad5ad3298bfa9 (patch) | |
tree | 55b47f0b304ebea5608d98f0a978b150e5ab30c8 /lib/gcstar/GCItemsLists/GCTextLists.pm | |
parent | 126bb8cb6b93240bb4d3a2b816b74c286c3d422b (diff) |
Imported Upstream version 1.7.1upstream/1.7.1upstream
Diffstat (limited to 'lib/gcstar/GCItemsLists/GCTextLists.pm')
-rw-r--r-- | lib/gcstar/GCItemsLists/GCTextLists.pm | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/gcstar/GCItemsLists/GCTextLists.pm b/lib/gcstar/GCItemsLists/GCTextLists.pm index aaa080b..741d03e 100644 --- a/lib/gcstar/GCItemsLists/GCTextLists.pm +++ b/lib/gcstar/GCItemsLists/GCTextLists.pm @@ -742,6 +742,7 @@ use locale; $self->{secondaryField} = $self->{preferences}->secondarySort; $self->{secondaryIndex} = -1; $self->{addSecondary} = 0; + $self->{numericFields} = []; foreach my $field(@tmpArray) { @@ -767,6 +768,7 @@ use locale; push @columnsType, 'Glib::Double'; $renderer = Gtk2::CellRendererText->new; $attribute = 'text'; + push @{$self->{numericFields}}, $field; } else { @@ -1582,6 +1584,22 @@ use locale; $generated); $self->{originalValue}->{$generated} = $original; $self->{model}->set($iter, $self->{visibleCol}, $nbChildren); + + my %totals; + my $field; + my $childIter = $self->{subModel}->iter_children($subIter); + while ($childIter) + { + for $field(@{$self->{numericFields}}) + { + $totals{$field} += ($self->{subModel}->get($childIter))[$self->{fieldToId}->{$field}]; + } + $childIter = $self->{subModel}->iter_next($childIter); + } + for $field(@{$self->{numericFields}}) + { + $self->{model}->set($iter, $self->{fieldToId}->{$field}, $totals{$field}); + } } sub refreshCounts |