summaryrefslogtreecommitdiff
path: root/lib/gcstar/GCItemsLists/GCTextLists.pm
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2016-03-09 22:05:42 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2016-03-09 22:05:42 +0100
commitad3a1af7de96e4c76b3f9ac9b1539092e81d123a (patch)
tree343f50d68935c7bd689924f01b7e83316a3fb9ec /lib/gcstar/GCItemsLists/GCTextLists.pm
parent965998f7990b75e58fe5219f9c38a3c24198375a (diff)
parentb9a4e9c8a68dcb6b17617f4f7a5ad5ad3298bfa9 (diff)
Merge tag 'upstream/1.7.1'
Upstream version 1.7.1
Diffstat (limited to 'lib/gcstar/GCItemsLists/GCTextLists.pm')
-rw-r--r--lib/gcstar/GCItemsLists/GCTextLists.pm18
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