--- Choice.pm 2006-07-26 00:49:00.000000000 -0700 +++ Slim/Buttons/Input/Choice.pm 2006-08-01 12:52:07.828125000 -0700 @@ -245,6 +245,8 @@ sub callCallback { if ($@) { errorMsg("INPUT.Choice: Couldn't run callback: [$callbackName] : $@\n"); + } elsif (getParam($client,'pref')) { + $client->update; } } else { @@ -404,6 +406,11 @@ sub lines { ($overlay1, $overlay2) = @$overlayref; $overlay1 = $client->symbols($overlay1) if (defined($overlay1)); $overlay2 = $client->symbols($overlay2) if (defined($overlay2)); + + } elsif (my $pref = getParam($client,'pref')) { + + # assume a single non-descending list of items, 'pref' item must be given in the params + $overlay2 = Slim::Buttons::Common::checkBoxOverlay($client->prefGet($pref) eq getItemValue($client)); } my $parts = {