diff options
Diffstat (limited to 'lib/gcstar/GCItemsLists')
-rw-r--r-- | lib/gcstar/GCItemsLists/GCImageLists.pm | 4 | ||||
-rw-r--r-- | lib/gcstar/GCItemsLists/GCListOptions.pm | 9 | ||||
-rw-r--r-- | lib/gcstar/GCItemsLists/GCTextLists.pm | 18 |
3 files changed, 29 insertions, 2 deletions
diff --git a/lib/gcstar/GCItemsLists/GCImageLists.pm b/lib/gcstar/GCItemsLists/GCImageLists.pm index 2250bcb..6c775e9 100644 --- a/lib/gcstar/GCItemsLists/GCImageLists.pm +++ b/lib/gcstar/GCItemsLists/GCImageLists.pm @@ -1,4 +1,4 @@ -package GCImageLists; +package GCImageLists; ################################################### # @@ -1424,7 +1424,7 @@ my $timeOutBetweenEnhancements = 50; if ($^O =~ /win32/i) { # It looks like Win32 version only supports JPEG pictures for background - $tmpPixbuf->save($self->{style}->{tmpBgPixmap}, 'jpeg', quality => '100'); + $tmpPixbuf->save($self->{style}->{tmpBgPixmapFile}, 'jpeg', quality => '100'); } else { diff --git a/lib/gcstar/GCItemsLists/GCListOptions.pm b/lib/gcstar/GCItemsLists/GCListOptions.pm index c41084b..f473319 100644 --- a/lib/gcstar/GCItemsLists/GCListOptions.pm +++ b/lib/gcstar/GCItemsLists/GCListOptions.pm @@ -145,6 +145,9 @@ use Gtk2; sub initValues { my $self = shift; + $self->{groupByOption}->setModel($self->{parent}->{model}); + $self->{secondarySortOption}->setModel($self->{parent}->{model}); + $self->{resizeImgList}->set_active($self->{optionsManager}->resizeImgList); $self->{animateImgList}->set_active($self->{optionsManager}->animateImgList); $self->{columns}->set_value($self->{optionsManager}->columns); @@ -213,6 +216,7 @@ use Gtk2; #my $self = $class->SUPER::new(0,0); $self->{optionsManager} = $optionsManager; + $self->{parent} = $parent; $self->{lang} = $parent->{lang}; # $self->set_row_spacings($GCUtils::halfMargin); @@ -384,12 +388,16 @@ use Gtk2; { my $self = shift; + $self->{groupByOption}->setModel($self->{parent}->{model}); + $self->{secondarySortOption}->setModel($self->{parent}->{model}); + $self->{imgSizeOption}->setValue($self->{optionsManager}->detailImgSize); $self->{groupByOption}->setValue($self->{optionsManager}->groupBy); $self->{secondarySortOption}->setValue($self->{optionsManager}->secondarySort); $self->{groupedFirst}->setValue($self->{optionsManager}->groupedFirst); $self->{addCount}->setValue($self->{optionsManager}->addCount); + $self->{fieldsSelection}->setModel($self->{parent}->{model}); my @tmpFieldsArray = split m/\|/, $self->{optionsManager}->details; $self->{fieldsSelection}->setListFromIds(\@tmpFieldsArray); @@ -435,6 +443,7 @@ use Gtk2; $self->{lang} = $parent->{lang}; $self->{optionsManager} = $optionsManager; + $self->{parent} = $parent; bless ($self, $class); 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 |