summaryrefslogtreecommitdiff
path: root/lib/gcstar/GCItemsLists
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gcstar/GCItemsLists')
-rw-r--r--lib/gcstar/GCItemsLists/GCImageLists.pm4
-rw-r--r--lib/gcstar/GCItemsLists/GCListOptions.pm9
-rw-r--r--lib/gcstar/GCItemsLists/GCTextLists.pm18
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