--- Web/Pages.pm 2005-07-13 17:20:00.000000000 -0700 +++ Web/Pages.pm.new 2005-07-13 12:47:13.562500000 -0700 @@ -146,7 +146,10 @@ print Dumper($findCriteria); }, 'ignoreArticles' => 1, - 'alphaPageBar' => 1, + 'alphaPageBar' => sub { + my $findCriteria = shift; + return ! exists $findCriteria->{'album'}; + }, }, 'genre' => { @@ -202,7 +205,9 @@ print Dumper($findCriteria); }, 'ignoreArticles' => 0, - 'alphaPageBar' => 1 + 'alphaPageBar' => sub { + return 1; + }, }, 'album' => { @@ -301,7 +306,9 @@ $form->{'size'} = Slim::Utils::Prefs: }, 'ignoreArticles' => 1, - 'alphaPageBar' => 1 + 'alphaPageBar' => sub { + return 1; + }, }, 'artwork' => { @@ -386,7 +393,9 @@ $form->{'size'} = Slim::Utils::Prefs: 'nameTransform' => 'album', 'descendTransform' => 'album,track', 'ignoreArticles' => 1, - 'alphaPageBar' => 0, + 'alphaPageBar' => sub { + return 0; + }, 'suppressAll' => 1 }, @@ -459,7 +468,9 @@ $form->{'size'} = Slim::Utils::Prefs: }, 'ignoreArticles' => 1, - 'alphaPageBar' => 1 + 'alphaPageBar' => sub { + return 1; + }, }, 'default' => { @@ -504,7 +515,9 @@ $form->{'size'} = Slim::Utils::Prefs: 'nameTransform' => 'album', 'descendTransform' => 'track', 'ignoreArticles' => 1, - 'alphaPageBar' => 0, + 'alphaPageBar' => sub { + return 0; + }, }; $fieldInfo{'year'} = { @@ -525,7 +538,9 @@ $form->{'size'} = Slim::Utils::Prefs: }, 'ignoreArticles' => 1, - 'alphaPageBar' => 0 + 'alphaPageBar' => sub { + return 0; + }, }; $fieldInfo{'playlist'} = { @@ -545,7 +560,9 @@ $form->{'size'} = Slim::Utils::Prefs: }, 'ignoreArticles' => 0, - 'alphaPageBar' => 0, + 'alphaPageBar' => sub { + return 0; + }, 'suppressAll' => 1, }; @@ -587,7 +604,9 @@ $form->{'size'} = Slim::Utils::Prefs: #'browseListTemplate' => 'ignoreArticles' => 0, - 'alphaPageBar' => 0, + 'alphaPageBar' => sub { + return 0; + }, 'suppressAll' => 1, }; @@ -1775,7 +1796,7 @@ print Dumper(\%findCriteria); $ignoreArticles ? (scalar(@$items) > 1) : 0, ); - } elsif ($levelInfo->{'alphaPageBar'}) { + } elsif (&{$levelInfo->{'alphaPageBar'}}(\%findCriteria)) { my $alphaitems = [ map &{$levelInfo->{'resultToSortedName'}}($_), @$items ]; --- Buttons/BrowseDB.pm 2005-07-13 12:51:15.687500000 -0700 +++ Buttons/BrowseDB.pm.new 2005-07-13 12:49:39.031250000 -0700 @@ -582,7 +582,7 @@ sub setMode { # If this is a list of containers (e.g. albums, artists, genres) # that are not the result of a search, assume they are sorted. # sort at simple track level as well. - if (($descend && !$search) || ($levels[$level] eq 'track' && !$search)) { + if (($descend && !$search) || ($levels[$level] eq 'track' && !exists $findCriteria->{'album'} && !$search)) { $params{'isSorted'} = 'L'; $params{'lookupRef'} = sub { my $index = shift;