Author: tian
Date: Sat Mar 5 17:00:33 2016
New Revision: 2270
URL: http://svn.gna.org/viewcvs/gcstar?rev=2270&view=rev
Log:
Fields selection in the panel below the list didn't contain user fields. This
was because the model was initialized too early and didn't contain user fields.
There was also a useless cache in GCMold that contains the list of groups, and
was not refreshed with user groups.
Modified:
trunk/gcstar/lib/gcstar/GCGraphicComponents/GCDoubleLists.pm
trunk/gcstar/lib/gcstar/GCItemsLists/GCListOptions.pm
trunk/gcstar/lib/gcstar/GCModel.pm
Modified: trunk/gcstar/lib/gcstar/GCGraphicComponents/GCDoubleLists.pm
URL:
http://svn.gna.org/viewcvs/gcstar/trunk/gcstar/lib/gcstar/GCGraphicComponents/GCDoubleLists.pm?rev=2270&r1=2269&r2=2270&view=diff
==============================================================================
--- trunk/gcstar/lib/gcstar/GCGraphicComponents/GCDoubleLists.pm
(original)
+++ trunk/gcstar/lib/gcstar/GCGraphicComponents/GCDoubleLists.pm Sat Mar
5 17:00:33 2016
@@ -470,6 +470,32 @@
$self->removeFromPermanent($self->{ignoreString});
}
+ sub setModel
+ {
+ my ($self, $model) = @_;
+ $self->{model} = $model;
+ if ($model)
+ {
+ my $groups = $model->getGroups;
+ $self->{separator} = $model->getDisplayedText('Separator');
+ while (my ($key, $value) = each %{$model->{fieldsInfo}})
+ {
+ next if !$value->{displayed};
+ my $displayed = $groups->{$value->{group}}->{displayed}
+ . $self->{separator}
+ . $value->{displayed};
+ $self->{fieldNameToId}->{$displayed} = $key;
+ $self->{fieldIdToName}->{$key} = $displayed;
+ }
+ my $order = 0;
+ foreach (@{$model->{groups}})
+ {
+ $self->{groupsOrder}->{$groups->{$_->{id}}->{displayed}} =
$order++;
+ }
+ $self->{model} = $model;
+ }
+ }
+
sub new
{
my ($proto, $parent, $preList, $isIdList, $ignoreField) = @_;
@@ -524,27 +550,32 @@
$self->{fieldNameToId} = {};
$self->{groupsOrder} = {};
- my $model = $self->{parent}->{model};
- if ($model)
- {
- my $groups = $model->getGroups;
- $self->{separator} = $model->getDisplayedText('Separator');
- while (my ($key, $value) = each %{$model->{fieldsInfo}})
- {
- next if !$value->{displayed};
- my $displayed = $groups->{$value->{group}}->{displayed}
- . $self->{separator}
- . $value->{displayed};
- $self->{fieldNameToId}->{$displayed} = $key;
- $self->{fieldIdToName}->{$key} = $displayed;
- }
- my $order = 0;
- foreach (@{$model->{groups}})
- {
- $self->{groupsOrder}->{$groups->{$_->{id}}->{displayed}} =
$order++;
- }
- $self->{model} = $model;
- }
+# my $model = $self->{parent}->{model};
+# use Data::Dumper;
+# if ($model)
+# {
+# my $groups = $model->getGroups;
+# print "GROUPS : ",Dumper($groups),"\n";
+# print "FIELDS : ",Dumper($model->{fieldsInfo}),"\n";
+# $self->{separator} = $model->getDisplayedText('Separator');
+# while (my ($key, $value) = each %{$model->{fieldsInfo}})
+# {
+# next if !$value->{displayed};
+# my $displayed = $groups->{$value->{group}}->{displayed}
+# . $self->{separator}
+# . $value->{displayed};
+# print "ADDING ",$displayed,"\n";
+# $self->{fieldNameToId}->{$displayed} = $key;
+# $self->{fieldIdToName}->{$key} = $displayed;
+# }
+# my $order = 0;
+# foreach (@{$model->{groups}})
+# {
+# $self->{groupsOrder}->{$groups->{$_->{id}}->{displayed}} =
$order++;
+# }
+# $self->{model} = $model;
+# }
+ $self->setModel($self->{parent}->{model});
if ($preList)
{
Modified: trunk/gcstar/lib/gcstar/GCItemsLists/GCListOptions.pm
URL:
http://svn.gna.org/viewcvs/gcstar/trunk/gcstar/lib/gcstar/GCItemsLists/GCListOptions.pm?rev=2270&r1=2269&r2=2270&view=diff
==============================================================================
--- trunk/gcstar/lib/gcstar/GCItemsLists/GCListOptions.pm (original)
+++ trunk/gcstar/lib/gcstar/GCItemsLists/GCListOptions.pm Sat Mar 5
17:00:33 2016
@@ -390,13 +390,14 @@
$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);
Modified: trunk/gcstar/lib/gcstar/GCModel.pm
URL:
http://svn.gna.org/viewcvs/gcstar/trunk/gcstar/lib/gcstar/GCModel.pm?rev=2270&r1=2269&r2=2270&view=diff
==============================================================================
--- trunk/gcstar/lib/gcstar/GCModel.pm (original)
+++ trunk/gcstar/lib/gcstar/GCModel.pm Sat Mar 5 17:00:33 2016
@@ -1176,18 +1176,15 @@
sub getGroups
{
my $self = shift;
-
- if (!$self->{groupsHash})
- {
- $self->{groupsHash} = {};
- foreach (@{$self->{groups}})
- {
- $self->{groupsHash}->{$_->{id}} = {
- id => $_->{id},
- label => $_->{label},
- displayed =>
$self->getDisplayedText($_->{label})
- };
- }
+
+ $self->{groupsHash} = {};
+ foreach (@{$self->{groups}})
+ {
+ $self->{groupsHash}->{$_->{id}} = {
+ id => $_->{id},
+ label => $_->{label},
+ displayed =>
$self->getDisplayedText($_->{label})
+ };
}
return $self->{groupsHash};
}
_______________________________________________
GCstar-commits mailing list
[email protected]
https://mail.gna.org/listinfo/gcstar-commits