[Slim-Checkins] r10701 - in /trunk/server: ./ HTML/EN/settings/
HTML/EN/settings/player/ Slim/Web/ Slim/Web/Settings/Player/
kdf at svn.slimdevices.com
kdf at svn.slimdevices.com
Thu Nov 16 00:47:41 PST 2006
Author: kdf
Date: Thu Nov 16 00:47:41 2006
New Revision: 10701
URL: http://svn.slimdevices.com?rev=10701&view=rev
Log:
Bug: 3267
Description: rudimentary handling of http players for settings pages. When pages have no valid prefs for the type of player, a simple warning is shown on the page. ideally, we'll need a method to reset the pulldown to show only the settings pages that are valid for a given player type
Modified:
trunk/server/HTML/EN/settings/footer.html
trunk/server/HTML/EN/settings/player/basic.html
trunk/server/HTML/EN/settings/player/display.html
trunk/server/HTML/EN/settings/player/menu.html
trunk/server/HTML/EN/settings/player/remote.html
trunk/server/Slim/Web/Settings.pm
trunk/server/Slim/Web/Settings/Player/Display.pm
trunk/server/Slim/Web/Settings/Player/Menu.pm
trunk/server/Slim/Web/Settings/Player/Remote.pm
trunk/server/strings.txt
Modified: trunk/server/HTML/EN/settings/footer.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/settings/footer.html?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/HTML/EN/settings/footer.html (original)
+++ trunk/server/HTML/EN/settings/footer.html Thu Nov 16 00:47:41 2006
@@ -1,6 +1,7 @@
<!-- Begin settingsfooter.html -->
-
+[% IF prefs %]
[% IF NOT nosubmit %]<p><input name="submit" type="submit" class="stdclick" value="[% "SAVE_SETTINGS" | string %]"></p>[% END %]
+[% END %]
[% IF versionInfo %]<p>
Modified: trunk/server/HTML/EN/settings/player/basic.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/settings/player/basic.html?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/HTML/EN/settings/player/basic.html (original)
+++ trunk/server/HTML/EN/settings/player/basic.html Thu Nov 16 00:47:41 2006
@@ -36,6 +36,7 @@
</div>
+ [% IF prefs.exists('playingDisplayModes') %]
<div class="settingSection">
<div class="groupHead">[% "SETUP_PLAYINGDISPLAYMODE" | string | upper %]</div>
@@ -63,7 +64,9 @@
</table>
</div>
+ [% END %]
+ [% IF prefs.exists('visualModes') %]
<div class="settingSection">
<div class="groupHead">[% "SETUP_VISUALIZERMODE" | string | upper %]</div>
@@ -90,7 +93,9 @@
</table>
</div>
+ [% END %]
+ [% IF prefs.exists('screensaver') %]
<div class="settingSection">
<div class="groupHead">[% "SCREENSAVERS" | string | upper %]</div>
@@ -171,5 +176,6 @@
[% END %]
</div>
+ [% END %]
[% PROCESS settings/footer.html %]
Modified: trunk/server/HTML/EN/settings/player/display.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/settings/player/display.html?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/HTML/EN/settings/player/display.html (original)
+++ trunk/server/HTML/EN/settings/player/display.html Thu Nov 16 00:47:41 2006
@@ -1,5 +1,5 @@
[% PROCESS settings/header.html %]
-
+[% IF prefs %]
[% IF prefs.exists('powerOnBrightness') %]
<div class="settingSection">
@@ -259,4 +259,5 @@
</div>
[% END %]
+[% END %]
[% PROCESS settings/footer.html %]
Modified: trunk/server/HTML/EN/settings/player/menu.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/settings/player/menu.html?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/HTML/EN/settings/player/menu.html (original)
+++ trunk/server/HTML/EN/settings/player/menu.html Thu Nov 16 00:47:41 2006
@@ -1,6 +1,6 @@
[% PROCESS settings/header.html %]
[% nosubmit = 1 %]
-
+[% IF prefs %]
<div class="settingSection">
<div class="groupHead">[% "SETUP_GROUP_MENUITEMS" | string | upper %]</div>
@@ -55,4 +55,5 @@
<p><input name="addItems" type="submit" class="stdclick" value="[% "ADD" | string %]"></p>
</div>
+[% END %]
[% PROCESS settings/footer.html %]
Modified: trunk/server/HTML/EN/settings/player/remote.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/settings/player/remote.html?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/HTML/EN/settings/player/remote.html (original)
+++ trunk/server/HTML/EN/settings/player/remote.html Thu Nov 16 00:47:41 2006
@@ -1,4 +1,5 @@
[% PROCESS settings/header.html %]
+[% IF prefs %]
<div class="settingSection">
<div class="groupHead">[% "SETUP_GROUP_IRSETS" | string | upper %]</div>
@@ -28,5 +29,5 @@
</select>
</div>
-
+[% END %]
[% PROCESS settings/footer.html %]
Modified: trunk/server/Slim/Web/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings.pm?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings.pm (original)
+++ trunk/server/Slim/Web/Settings.pm Thu Nov 16 00:47:41 2006
@@ -69,7 +69,7 @@
sub _handleChanges {
my ($class, $client, $prefs, $paramRef) = @_;
- $paramRef->{'warning'} = Slim::Utils::Strings::string('SETTINGS_CHANGED').'<br>'.join('<br>',@{$prefs});
+ $paramRef->{'warning'} .= Slim::Utils::Strings::string('SETTINGS_CHANGED').'<br>'.join('<br>',@{$prefs});
}
1;
Modified: trunk/server/Slim/Web/Settings/Player/Display.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings/Player/Display.pm?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings/Player/Display.pm (original)
+++ trunk/server/Slim/Web/Settings/Player/Display.pm Thu Nov 16 00:47:41 2006
@@ -51,70 +51,73 @@
scrollRate scrollRateDouble
);
}
+
+ # If this is a settings update
+ if ($paramRef->{'submit'}) {
+
+ for my $pref (@prefs) {
+
+ # parse indexed array prefs.
+ if ($pref eq 'activeFont' || $pref eq 'idleFont') {
+
+ $client->prefDelete($pref);
+
+ my $i = 0;
+
+ while (defined $paramRef->{$pref.$i}) {
+
+ if ($paramRef->{$pref.$i} eq "-1") {
+ last;
+ }
+
+ $client->prefPush($pref,$paramRef->{$pref.$i});
+
+ $i++;
+ }
+ } else {
+
+ $client->prefSet($pref, $paramRef->{$pref} ) if defined $paramRef->{$pref};
+ }
+
+ if ($pref eq 'doublesize') {
+ $client->textSize($paramRef->{'doublesize'});
+ }
+ }
+
+
+ }
+
+ # Load any option lists for dynamic options.
+ $paramRef->{'brightnessOptions' } = { %{Slim::Web::Setup::getBrightnessOptions($client)} };
+ $paramRef->{'maxBrightness' } = $client->maxBrightness;
+ $paramRef->{'fontOptions'} = { %{Slim::Web::Setup::getFontOptions($client)} };
+
+ # Set current values for prefs
+ # load into prefs hash so that web template can detect exists/!exists
+ for my $pref (@prefs) {
+
+ if ($pref eq 'activeFont' || $pref eq 'idleFont') {
+
+ $paramRef->{'prefs'}->{$pref} = [$client->prefGetArray($pref)];
+
+ push @{$paramRef->{'prefs'}->{$pref}},"-1";
+
+ } elsif ($pref eq 'doubleSize') {
+
+ $paramRef->{'prefs'}->{$pref} = $client->textSize;
+
+ } else {
+
+ $paramRef->{'prefs'}->{$pref} = $client->prefGet($pref);
+ }
+ }
+
} else {
# non-SD player, so no applicable display settings
- }
-
- # If this is a settings update
- if ($paramRef->{'submit'}) {
-
- for my $pref (@prefs) {
-
- # parse indexed array prefs.
- if ($pref eq 'activeFont' || $pref eq 'idleFont') {
-
- $client->prefDelete($pref);
-
- my $i = 0;
-
- while (defined $paramRef->{$pref.$i}) {
-
- if ($paramRef->{$pref.$i} eq "-1") {
- last;
- }
-
- $client->prefPush($pref,$paramRef->{$pref.$i});
-
- $i++;
- }
- } else {
-
- $client->prefSet($pref, $paramRef->{$pref} ) if defined $paramRef->{$pref};
- }
-
- if ($pref eq 'doublesize') {
- $client->textSize($paramRef->{'doublesize'});
- }
- }
+ $paramRef->{'warning'} = Slim::Utils::Strings::string('SETUP_NO_PREFS');
-
}
- # Load any option lists for dynamic options.
- $paramRef->{'brightnessOptions' } = { %{Slim::Web::Setup::getBrightnessOptions($client)} };
- $paramRef->{'maxBrightness' } = $client->maxBrightness;
- $paramRef->{'fontOptions'} = { %{Slim::Web::Setup::getFontOptions($client)} };
-
- # Set current values for prefs
- # load into prefs hash so that web template can detect exists/!exists
- for my $pref (@prefs) {
-
- if ($pref eq 'activeFont' || $pref eq 'idleFont') {
-
- $paramRef->{'prefs'}->{$pref} = [$client->prefGetArray($pref)];
-
- push @{$paramRef->{'prefs'}->{$pref}},"-1";
-
- } elsif ($pref eq 'doubleSize') {
-
- $paramRef->{'prefs'}->{$pref} = $client->textSize;
-
- } else {
-
- $paramRef->{'prefs'}->{$pref} = $client->prefGet($pref);
- }
- }
-
return $class->SUPER::handler($client, $paramRef);
}
Modified: trunk/server/Slim/Web/Settings/Player/Menu.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings/Player/Menu.pm?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings/Player/Menu.pm (original)
+++ trunk/server/Slim/Web/Settings/Player/Menu.pm Thu Nov 16 00:47:41 2006
@@ -27,67 +27,75 @@
sub handler {
my ($class, $client, $paramRef) = @_;
- my @prefs = ('menuItem');
+ if ($client->isPlayer()) {
- # If this is a settings update
- my $i;
- for ($i = $client->prefGetArrayMax('menuItem'); $i >= 0; $i--) {
- if (exists $paramRef->{'Action' . $i}) {
-
- my $newval = $paramRef->{'Action' . $i};
- my $tempItem = $client->prefGet('menuItem',$i);
- if (defined $newval) {
- if ($newval eq 'Remove') {
-
- $client->prefDelete('menuItem',$i);
- } elsif ($newval eq 'Up' && $i > 0) {
+ my @prefs = ('menuItem');
+
+ # If this is a settings update
+ my $i;
+ for ($i = $client->prefGetArrayMax('menuItem'); $i >= 0; $i--) {
+ if (exists $paramRef->{'Action' . $i}) {
+
+ my $newval = $paramRef->{'Action' . $i};
+ my $tempItem = $client->prefGet('menuItem',$i);
+ if (defined $newval) {
+ if ($newval eq 'Remove') {
- $client->prefSet('menuItem',$client->prefGet('menuItem',$i - 1),$i);
- $client->prefSet('menuItem',$tempItem,$i - 1);
- } elsif ($newval eq 'Down' && $i < $client->prefGetArrayMax('menuItem')) {
-
- $client->prefSet('menuItem',$client->prefGet('menuItem',$i + 1),$i);
- $client->prefSet('menuItem',$tempItem,$i + 1);
+ $client->prefDelete('menuItem',$i);
+ } elsif ($newval eq 'Up' && $i > 0) {
+
+ $client->prefSet('menuItem',$client->prefGet('menuItem',$i - 1),$i);
+ $client->prefSet('menuItem',$tempItem,$i - 1);
+ } elsif ($newval eq 'Down' && $i < $client->prefGetArrayMax('menuItem')) {
+
+ $client->prefSet('menuItem',$client->prefGet('menuItem',$i + 1),$i);
+ $client->prefSet('menuItem',$tempItem,$i + 1);
+ }
}
}
}
+
+ if ($client->prefGetArrayMax('menuItem') < 0) {
+ $client->prefSet('menuItem','NOW_PLAYING',0);
+ }
+
+ if ($paramRef->{'removeItems'}) {
+ for ($i = $client->prefGetArrayMax('menuItem'); $i >= 0; $i--) {
+ if ($paramRef->{'menuItemRemove' . $i}) {
+ $client->prefDelete('menuItem',$i);
+ }
+ }
+ }
+
+ if ($paramRef->{'addItems'}) {
+
+ for my $i (0..$paramRef->{'nonMenuItems'}) {
+ if ($paramRef->{'nonMenuItemAdd' . $i}) {
+ $client->prefPush('menuItem',$paramRef->{'nonMenuItemAdd' . $i});
+ }
+ }
+
+ for my $i (0..$paramRef->{'pluginItems'}) {
+
+ if (exists $paramRef->{'pluginItemAdd' . $i}) {
+ $client->prefPush('menuItem',$paramRef->{'pluginItemAdd' . $i});
+ }
+ }
+
+ }
+
+ Slim::Buttons::Home::updateMenu($client);
+
+ $paramRef->{'menuItems'} = [ $client->prefGetArray('menuItem') ];
+ $paramRef->{'menuItemNames'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} $client->prefGetArray('menuItem') };
+ $paramRef->{'nonMenuItems'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} Slim::Buttons::Home::unusedMenuOptions($client) };
+ $paramRef->{'pluginItems'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} Slim::Utils::PluginManager::unusedPluginOptions($client) };
+
+ } else {
+ # non-SD player, so no applicable display settings
+ $paramRef->{'warning'} = Slim::Utils::Strings::string('SETUP_NO_PREFS');
}
- if ($client->prefGetArrayMax('menuItem') < 0) {
- $client->prefSet('menuItem','NOW_PLAYING',0);
- }
-
- if ($paramRef->{'removeItems'}) {
- for ($i = $client->prefGetArrayMax('menuItem'); $i >= 0; $i--) {
- if ($paramRef->{'menuItemRemove' . $i}) {
- $client->prefDelete('menuItem',$i);
- }
- }
- }
-
- if ($paramRef->{'addItems'}) {
-
- for my $i (0..$paramRef->{'nonMenuItems'}) {
- if ($paramRef->{'nonMenuItemAdd' . $i}) {
- $client->prefPush('menuItem',$paramRef->{'nonMenuItemAdd' . $i});
- }
- }
-
- for my $i (0..$paramRef->{'pluginItems'}) {
-
- if (exists $paramRef->{'pluginItemAdd' . $i}) {
- $client->prefPush('menuItem',$paramRef->{'pluginItemAdd' . $i});
- }
- }
-
- }
-
- Slim::Buttons::Home::updateMenu($client);
-
- $paramRef->{'menuItems'} = [ $client->prefGetArray('menuItem') ];
- $paramRef->{'menuItemNames'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} $client->prefGetArray('menuItem') };
- $paramRef->{'nonMenuItems'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} Slim::Buttons::Home::unusedMenuOptions($client) };
- $paramRef->{'pluginItems'} = { map {$_ => Slim::Web::Setup::menuItemName($client, $_)} Slim::Utils::PluginManager::unusedPluginOptions($client) };
return $class->SUPER::handler($client, $paramRef);
}
Modified: trunk/server/Slim/Web/Settings/Player/Remote.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings/Player/Remote.pm?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings/Player/Remote.pm (original)
+++ trunk/server/Slim/Web/Settings/Player/Remote.pm Thu Nov 16 00:47:41 2006
@@ -29,49 +29,55 @@
my @prefs = ();
- if (scalar(keys %{Slim::Hardware::IR::mapfiles()}) > 1) {
- push @prefs, 'irmap';
- }
-
+ if ($client->isPlayer()) {
+ if (scalar(keys %{Slim::Hardware::IR::mapfiles()}) > 1) {
+ push @prefs, 'irmap';
+ }
- # If this is a settings update
- if ($paramRef->{'submit'}) {
-
- my @changed = ();
- for my $pref (@prefs) {
-
- # parse indexed array prefs.
- if ($paramRef->{$pref} ne $client->prefGet($pref)) {
- push @changed, $pref;
+
+ # If this is a settings update
+ if ($paramRef->{'submit'}) {
+
+ my @changed = ();
+ for my $pref (@prefs) {
+
+ # parse indexed array prefs.
+ if ($paramRef->{$pref} ne $client->prefGet($pref)) {
+ push @changed, $pref;
+ }
+
+ $client->prefSet($pref, $paramRef->{$pref} ) if defined $paramRef->{$pref};
+
}
- $client->prefSet($pref, $paramRef->{$pref} ) if defined $paramRef->{$pref};
-
+ $client->prefDelete('disabledirsets');
+
+ my @irsets = keys %{Slim::Hardware::IR::irfiles($client)};
+ for my $i (0 .. (scalar(@irsets)-1)) {
+
+ if ($paramRef->{'irsetlist'.$i}) {
+ $client->prefPush('disabledirsets',$paramRef->{'irsetlist'.$i});
+ }
+ Slim::Hardware::IR::loadIRFile($irsets[$i]);
+ }
+
+ $class->_handleChanges($client, \@changed, $paramRef);
+ }
+
+ $paramRef->{'irmapOptions'} = { %{Slim::Hardware::IR::mapfiles()}};
+ $paramRef->{'irsetlist'} = { map {$_ => Slim::Hardware::IR::irfileName($_)} sort(keys %{Slim::Hardware::IR::irfiles($client)})};
+ $paramRef->{'disabledirsets'} = { map {$_ => 1} $client->prefGetArray('disabledirsets')};
+
+ # Set current values for prefs
+ # load into prefs hash so that web template can detect exists/!exists
+ for my $pref (@prefs) {
+
+ $paramRef->{'prefs'}->{$pref} = $client->prefGet($pref);
}
- $client->prefDelete('disabledirsets');
-
- my @irsets = keys %{Slim::Hardware::IR::irfiles($client)};
- for my $i (0 .. (scalar(@irsets)-1)) {
-
- if ($paramRef->{'irsetlist'.$i}) {
- $client->prefPush('disabledirsets',$paramRef->{'irsetlist'.$i});
- }
- Slim::Hardware::IR::loadIRFile($irsets[$i]);
- }
-
- $class->_handleChanges($client, \@changed, $paramRef);
- }
-
- $paramRef->{'irmapOptions'} = { %{Slim::Hardware::IR::mapfiles()}};
- $paramRef->{'irsetlist'} = { map {$_ => Slim::Hardware::IR::irfileName($_)} sort(keys %{Slim::Hardware::IR::irfiles($client)})};
- $paramRef->{'disabledirsets'} = { map {$_ => 1} $client->prefGetArray('disabledirsets')};
-
- # Set current values for prefs
- # load into prefs hash so that web template can detect exists/!exists
- for my $pref (@prefs) {
-
- $paramRef->{'prefs'}->{$pref} = $client->prefGet($pref);
+ } else {
+ # non-SD player, so no applicable display settings
+ $paramRef->{'warning'} = Slim::Utils::Strings::string('SETUP_NO_PREFS');
}
return $class->SUPER::handler($client, $paramRef);
Modified: trunk/server/strings.txt
URL: http://svn.slimdevices.com/trunk/server/strings.txt?rev=10701&r1=10700&r2=10701&view=diff
==============================================================================
--- trunk/server/strings.txt (original)
+++ trunk/server/strings.txt Thu Nov 16 00:47:41 2006
@@ -4072,6 +4072,12 @@
SV Inställning for %s är ändrad.
ZH_CN %sè®¾ç½®å·²æ´æ¹ã
+SETTINGS_CHANGED
+ EN The following settings were changed:
+
+SETUP_NO_PREFS
+ EN There are no settings for this player on this page
+
SETUP_PASSWORD_CHANGED
DE Das Passwort wurde geändert.
DA Kodeordet er nu ændret.
More information about the checkins
mailing list