Allow property groups in multiple layers to be merged.
Patch by afuna.
diffs (50 lines):
diff -r 41b7798135b5 -r 346f5cb7669a cgi-bin/LJ/Customize.pm
--- a/cgi-bin/LJ/Customize.pm Sun Oct 25 09:41:51 2009 +0000
+++ b/cgi-bin/LJ/Customize.pm Mon Oct 26 01:58:14 2009 +0000
@@ -561,21 +561,27 @@ sub get_propgroups {
}
my @groups = S2::get_property_groups($lyr_layout->{'s2lid'});
+ my @merged_groups;
my $misc_group;
my %groupprops; # gname -> [ propname ]
my %propgroup; # pname -> gname;
foreach my $gname (@groups) {
if ($gname eq "misc" || $gname eq "other") { $misc_group = $gname; }
+ my $gname_merge = $gname;
+ $gname_merge =~ s/_child$//;
+ push @merged_groups, $gname if $gname_merge eq $gname;
+
foreach my $pname
(S2::get_property_group_props($lyr_layout->{'s2lid'}, $gname)) {
my $prop = $prop{$pname};
next if ! $prop || $prop->{noui} || $propgroup{$pname};
- $propgroup{$pname} = $gname;
- push @{$groupprops{$gname}}, $pname;
+ $propgroup{$pname} = $gname_merge;
+ push @{$groupprops{$gname_merge}}, $pname;
}
}
+
# put unsorted props into an existing or new unsorted/misc group
- if (@groups) {
+ if (@merged_groups) {
my @unsorted;
foreach my $pname (@propnames) {
my $prop = $prop{$pname};
@@ -585,13 +591,13 @@ sub get_propgroups {
if (@unsorted) {
unless ($misc_group) {
$misc_group = "misc";
- push @groups, "misc";
+ push @merged_groups, "misc";
}
push @{$groupprops{$misc_group}}, @unsorted;
}
}
- return ( props => \%prop, groups => \...@groups, groupprops =>
\%groupprops, propgroup => \%propgroup );
+ return ( props => \%prop, groups => \...@merged_groups, groupprops =>
\%groupprops, propgroup => \%propgroup );
}
sub propgroup_name {
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog