[Slim-Checkins] r10592 - in /trunk/server: HTML/EN/setupperformance.html HTML/Fishbone/skin.css Slim/Web/HTTP.pm Slim/Web/Pages.pm Slim/Web/Setup.pm

kdf at svn.slimdevices.com kdf at svn.slimdevices.com
Sun Nov 5 01:28:42 PST 2006


Author: kdf
Date: Sun Nov  5 01:28:37 2006
New Revision: 10592

URL: http://svn.slimdevices.com?rev=10592&view=rev
Log:
Bug: 3267 continued
DDescription: strip out performance settings page (with forking prefs commented out for now) and using it's own handler


Added:
    trunk/server/HTML/EN/setupperformance.html
Modified:
    trunk/server/HTML/Fishbone/skin.css
    trunk/server/Slim/Web/HTTP.pm
    trunk/server/Slim/Web/Pages.pm
    trunk/server/Slim/Web/Setup.pm

Added: trunk/server/HTML/EN/setupperformance.html
URL: http://svn.slimdevices.com/trunk/server/HTML/EN/setupperformance.html?rev=10592&view=auto
==============================================================================
--- trunk/server/HTML/EN/setupperformance.html (added)
+++ trunk/server/HTML/EN/setupperformance.html Sun Nov  5 01:28:37 2006
@@ -1,0 +1,101 @@
+[% FILTER null %]
+
+	[% pwd_list = BLOCK %]
+
+		<a href="setup.html?page=BASIC_SERVER_SETTINGS">[% "SERVER_SETTINGS" | string %]</a>
+
+		 / <a href="setupperformance.html">[% page | string %]</a>
+
+	[% END %]
+
+	[% pageHeaderInfo = BLOCK %]
+		[%- PROCESS setting_chooser.html setting_chooser_noHome = 1 %]
+	[% END %]
+
+[% END %]
+
+[% pagetitle = pagetitle; pageicon = 'settings'; noSpacer = 1; PROCESS pageheader.html %] 
+
+<div class="statusarea">
+	[% IF warning %]
+		[% warning %]
+	[% END %]
+</div>
+
+<form method="post" action="setupperformance.html">
+
+	<input type=hidden value="[% page %]" name="page">
+
+	<div class="settingSection">
+
+		<div class="prefHead">[% "SETUP_DISABLESTATISTICS" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_DISABLESTATISTICS_DESC" | string %]</div>
+
+		<select class="stdedit" name="disableStatistics" id="disableStatistics">
+
+			<option [% IF NOT disableStatistics %]selected [% END %]value="0">[% 'SETUP_ENABLE_STATISTICS' | getstring %]</option>
+			<option [% IF disableStatistics %]selected [% END %]value="1">[% 'SETUP_DISABLE_STATISTICS' | getstring %]</option>
+		
+		</select>
+
+		<div class="prefHead">[% "SETUP_ITEMSPERPASS" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_ITEMSPERPASS_DESC" | string %]</div>
+
+		<input type=text class="stdedit" name="itemsPerPass" id="itemsPerPass" value="[% itemsPerPass %]" size="15">
+
+		<div class="prefHead">[% "SETUP_PREFSWRITEDELAY" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_PREFSWRITEDELAY_DESC" | string %]</div>
+
+		<input type=text class="stdedit" name="prefsWriteDelay" id="prefsWriteDelay" value="[% prefsWriteDelay %]" size="15">
+
+		<!--<div class="prefHead">[% "SETUP_FORKEDWEB" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_FORKEDWEB_DESC" | string %]</div>
+
+		<select class="stdedit" name="forkedWeb" id="forkedWeb">
+
+			<option [% IF NOT forkedWeb %]selected [% END %]value="0">[% 'SETUP_FORKEDWEB_DISABLE' | getstring %]</option>
+			<option [% IF forkedWeb %]selected [% END %]value="1">[% 'SETUP_FORKEDWEB_ENABLE' | getstring %]</option>
+		
+		</select>
+
+		<div class="prefHead">[% "SETUP_FORKEDSTREAMING" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_FORKEDSTREAMING_DESC" | string %]</div>
+
+		<select class="stdedit" name="forkedStreaming" id="forkedStreaming">
+
+			<option [% IF NOT forkedStreaming %]selected [% END %]value="0">[% 'SETUP_FORKEDSTREAMING_DISABLE' | getstring %]</option>
+			<option [% IF forkedStreaming %]selected [% END %]value="1">[% 'SETUP_FORKEDSTREAMING_ENABLE' | getstring %]</option>
+		
+		</select>-->
+
+		<div class="prefHead">[% "SETUP_SERVERPRIORITY" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_SERVERPRIORITY_DESC" | string %]</div>
+		
+		<select class="stdedit" name="serverPriority" id="serverPriority">
+
+		[% FOREACH option = [-20..20] %]
+			<option [% IF serverPriority == option %]selected [% END %]value="[% option %]">[% option %] [% options.$option | getstring %]</option>
+		[%- END -%]
+
+		</select>
+
+		<div class="prefHead">[% "SETUP_SCANNERPRIORITY" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_SCANNERPRIORITY_DESC" | string %]</div>
+
+		<select class="stdedit" name="scannerPriority" id="scannerPriority">
+
+		[% FOREACH option = [-20..20] %]
+			<option [% IF scannerPriority == option %]selected [% END %]value="[% option %]">[% option %] [% options.$option | getstring %]</option>
+		[%- END -%]
+
+		</select>
+
+	</div>
+
+	<p><input name="submit" type="submit" class="stdclick" value="[% "SAVE_SETTINGS" | string %]"></p>
+</form>
+
+<p></p>
+
+[% PROCESS pagefooter.html %]
+

Modified: trunk/server/HTML/Fishbone/skin.css
URL: http://svn.slimdevices.com/trunk/server/HTML/Fishbone/skin.css?rev=10592&r1=10591&r2=10592&view=diff
==============================================================================
--- trunk/server/HTML/Fishbone/skin.css (original)
+++ trunk/server/HTML/Fishbone/skin.css Sun Nov  5 01:28:37 2006
@@ -250,6 +250,7 @@
 
 .prefHead {
 	font-weight: bold;
+	padding-top: 10px;
 }
 
 .prefDesc,.prefHead {

Modified: trunk/server/Slim/Web/HTTP.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/HTTP.pm?rev=10592&r1=10591&r2=10592&view=diff
==============================================================================
--- trunk/server/Slim/Web/HTTP.pm (original)
+++ trunk/server/Slim/Web/HTTP.pm Sun Nov  5 01:28:37 2006
@@ -99,11 +99,13 @@
 	#	\&Slim::Web::Pages::status => '\bp0=rescan\b'
 	# means inisist on CSRF protection for the status command *only*
 	# if the URL includes p0=rescan
-	\&Slim::Web::Setup::setup_HTTP             => '.',
-	\&Slim::Web::Setup::handleDebugSettings    => '.',
-	\&Slim::Web::Setup::handleFileTypeSettings => '.',
-	\&Slim::Web::EditPlaylist::editplaylist    => '.',
-	\&Slim::Web::Pages::Status::status         => '(p0=debug|p0=pause|p0=stop|p0=play|p0=sleep|p0=playlist|p0=mixer|p0=display|p0=button|p0=rescan|(p0=(|player)pref\b.*p2=[^\?]|p2=[^\?].*p0=(|player)pref))',
+	\&Slim::Web::Setup::setup_HTTP                => '.',
+	\&Slim::Web::Setup::handleDebugSettings       => '.',
+	\&Slim::Web::Setup::handleFileTypeSettings    => '.',
+	\&Slim::Web::Setup::handlePerformanceSettings => '.',
+	\&Slim::Web::EditPlaylist::editplaylist       => '.',
+	\&Slim::Web::Pages::Status::status            => 
+		'(p0=debug|p0=pause|p0=stop|p0=play|p0=sleep|p0=playlist|p0=mixer|p0=display|p0=button|p0=rescan|(p0=(|player)pref\b.*p2=[^\?]|p2=[^\?].*p0=(|player)pref))',
 );
 
 # flag for when we are in a child process

Modified: trunk/server/Slim/Web/Pages.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Pages.pm?rev=10592&r1=10591&r2=10592&view=diff
==============================================================================
--- trunk/server/Slim/Web/Pages.pm (original)
+++ trunk/server/Slim/Web/Pages.pm Sun Nov  5 01:28:37 2006
@@ -44,6 +44,7 @@
 	Slim::Web::HTTP::addPageFunction(qr/^update_firmware\.(?:htm|xml)/,\&update_firmware);
 	Slim::Web::HTTP::addPageFunction(qr/^debugging\.(?:htm|xml)/, \&Slim::Web::Setup::handleDebugSettings);
 	Slim::Web::HTTP::addPageFunction(qr/^setupfiletypes\.(?:htm|xml)/, \&Slim::Web::Setup::handleFileTypeSettings);
+	Slim::Web::HTTP::addPageFunction(qr/^setupperformance\.(?:htm|xml)/, \&Slim::Web::Setup::handlePerformanceSettings);
 
 	# pull in the memory usage module if requested.
 	if (logger('server.memory')->is_info) {

Modified: trunk/server/Slim/Web/Setup.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Setup.pm?rev=10592&r1=10591&r2=10592&view=diff
==============================================================================
--- trunk/server/Slim/Web/Setup.pm (original)
+++ trunk/server/Slim/Web/Setup.pm Sun Nov  5 01:28:37 2006
@@ -1958,92 +1958,8 @@
 
 			}
 		} #end of setup{'security'} hash
-	,'PERFORMANCE_SETTINGS' => {
-		'title' => string('PERFORMANCE_SETTINGS'),
-		'parent' => 'BASIC_SERVER_SETTINGS',
-		'GroupOrder' => ['Default'],
-		'Groups' => {
-
-			'Default' => {
-				'PrefOrder' => [qw(
-					disableStatistics
-					itemsPerPass
-					prefsWriteDelay
-					serverPriority
-					scannerPriority
-				)],
-			},
-		},
-
-		'Prefs' => {
-			'disableStatistics' => {
-				'validate' => \&Slim::Utils::Validate::trueFalse,
-				'options' => {
-					'1' => 'SETUP_DISABLE_STATISTICS',
-					'0' => 'SETUP_ENABLE_STATISTICS',
-				},
-			},
-
-			'itemsPerPass' => {
-				'validate' => \&Slim::Utils::Validate::isInt,
-			},
-
-			'prefsWriteDelay' => {
-				'validate' => \&Slim::Utils::Validate::isInt,
-				'validateArgs' => [0,undef,1],
-			},
-			
-			'forkedWeb' => {
-				'validate' => \&Slim::Utils::Validate::trueFalse,
-				'options'  => {
-					'1' => 'SETUP_FORKEDWEB_ENABLE',
-					'0' => 'SETUP_FORKEDWEB_DISABLE',
-				},
-			},
-			
-			'forkedStreaming' => {
-				'validate' => \&Slim::Utils::Validate::trueFalse,
-				'options'  => {
-					'1' => 'SETUP_FORKEDSTREAMING_ENABLE',
-					'0' => 'SETUP_FORKEDSTREAMING_DISABLE',
-				},
-			},
-
-			'serverPriority' => {
-				'validate' => \&Slim::Utils::Validate::inList,
-				'validateArgs' => ['', -20 .. 20],
-				'onChange' => sub { Slim::Utils::Misc::setPriority( Slim::Utils::Prefs::get("serverPriority") ); },
-				'optionSort' => sub {$a eq "" ? -1 : ($b eq "" ? 1 : $a <=> $b)},
-				'options' => {
-					''   => 'SETUP_PRIORITY_DEFAULT',
-					map {$_ => $_ . " " . Slim::Utils::Strings::getString({
-						-16 => 'SETUP_PRIORITY_HIGH',
-						-6 => 'SETUP_PRIORITY_ABOVE_NORMAL',
-						0 => 'SETUP_PRIORITY_NORMAL',
-						5 => 'SETUP_PRIORITY_BELOW_NORMAL',
-						15 => 'SETUP_PRIORITY_LOW'
-						}->{$_} || "") } (-20 .. 20)
-				}
-			},
-
-			'scannerPriority' => {
-				'validate' => \&Slim::Utils::Validate::inList,
-				'validateArgs' => ['', -20 .. 20],
-				'optionSort' => sub {$a eq "" ? -1 : ($b eq "" ? 1 : $a <=> $b)},
-				'options' => {
-					''   => 'SETUP_PRIORITY_CURRENT',
-					map {$_ => $_ . " " . Slim::Utils::Strings::getString({
-						-16 => 'SETUP_PRIORITY_HIGH',
-						-6 => 'SETUP_PRIORITY_ABOVE_NORMAL',
-						0 => 'SETUP_PRIORITY_NORMAL',
-						5 => 'SETUP_PRIORITY_BELOW_NORMAL',
-						15 => 'SETUP_PRIORITY_LOW'
-						}->{$_} || "") } (-20 .. 20)
-				}
-			},
-
-		},
-	} #end of setup{'performance'} hash
+	,'PERFORMANCE_SETTINGS' => { } #end of setup{'performance'} hash
+	
 	,'NETWORK_SETTINGS' => {
 		'title' => string('NETWORK_SETTINGS')
 		,'parent' => 'BASIC_SERVER_SETTINGS'
@@ -2286,6 +2202,48 @@
 	return Slim::Web::HTTP::filltemplatefile('debugging.html', $paramRef);
 }
 
+sub handlePerformanceSettings {
+	my ($client, $paramRef, $pageSetup) = @_;
+
+	my @prefs = qw(
+					disableStatistics
+					itemsPerPass
+					prefsWriteDelay
+					serverPriority
+					scannerPriority
+				);
+
+	# If this is a settings update
+	if ($paramRef->{'submit'}) {
+
+		for my $pref (@prefs) {
+			Slim::Utils::Prefs::set($pref,    $paramRef->{$pref});
+		}
+	}
+
+	$paramRef->{'options'} = {
+		''   => 'SETUP_PRIORITY_CURRENT',
+		map {$_ => {
+			-16 => 'SETUP_PRIORITY_HIGH',
+			-6 => 'SETUP_PRIORITY_ABOVE_NORMAL',
+			0 => 'SETUP_PRIORITY_NORMAL',
+			5 => 'SETUP_PRIORITY_BELOW_NORMAL',
+			15 => 'SETUP_PRIORITY_LOW'
+			}->{$_} } (-20 .. 20)
+	};
+
+	$paramRef->{'page'}       = 'PERFORMANCE_SETTINGS';
+
+	# Needed to generate the drop down settings chooser list.
+	$paramRef->{'additionalLinks'} = \%Slim::Web::Pages::additionalLinks;
+
+	for my $pref (@prefs) {
+		$paramRef->{$pref} = Slim::Utils::Prefs::get($pref);
+	}
+	
+	return Slim::Web::HTTP::filltemplatefile('setupperformance.html', $paramRef);
+}
+
 sub getSetupOptions {
 	my ($category, $pref) = @_;
 
@@ -2862,6 +2820,10 @@
 			} elsif ($page eq "FORMATS_SETTINGS") {
 
 				Slim::Web::Pages->addPageLinks('setup', { 'FORMATS_SETTINGS' => 'setupfiletypes.html' });
+
+			} elsif ($page eq "PERFORMANCE_SETTINGS") {
+
+				Slim::Web::Pages->addPageLinks('setup', { 'PERFORMANCE_SETTINGS' => 'setupperformance.html' });
 
 			} else {
 



More information about the checkins mailing list