[Slim-Checkins] r8976 - /trunk/server/Slim/Buttons/Common.pm

adrian at svn.slimdevices.com adrian at svn.slimdevices.com
Tue Aug 15 12:44:00 PDT 2006


Author: adrian
Date: Tue Aug 15 12:43:59 2006
New Revision: 8976

URL: http://svn.slimdevices.com?rev=8976&view=rev
Log:
Bug: N/A
Description: move screen2 manipulation to used modeVariables.
Modes should still set modeParam 'screen2'.  This is copied to a
modeVariable so that it can be changed depending on current visual setting.

Modified:
    trunk/server/Slim/Buttons/Common.pm

Modified: trunk/server/Slim/Buttons/Common.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Buttons/Common.pm?rev=8976&r1=8975&r2=8976&view=diff
==============================================================================
--- trunk/server/Slim/Buttons/Common.pm (original)
+++ trunk/server/Slim/Buttons/Common.pm Tue Aug 15 12:43:59 2006
@@ -491,17 +491,17 @@
 
 		$client->prefSet('visualMode', $vm);
 
-		my $screen2 = $client->param('screen2');
+		my $screen2 = $client->modeVariable('screen2');
 
 		if ($client->display->showExtendedText()) {
 			if (!$screen2) {
-				$client->param('screen2', 'periodic');
+				$client->modeVariable('screen2', 'periodic');
 				startPeriodicUpdates($client);
 			}
 		} else {
 			if ($screen2) {
 				if ($screen2 eq 'periodic') {
-					$client->modeParam('screen2', undef);
+					$client->modeVariable('screen2', undef);
 				}
 				$client->update( { 'screen2' => {} } );
 			}
@@ -1259,8 +1259,15 @@
 		msg("Couldn't push into new mode: [$setmode] !: $@\n");
 	}
 
-	if ($client->display->showExtendedText() && !$client->param('screen2')) {
-		$client->param('screen2', 'periodic');
+	if ($client->display->hasScreen2) {
+		my $screen2 = $client->param('screen2');
+
+		# set mode variable screen2 so we can modify it later
+		if ($client->display->showExtendedText() && !$screen2) {
+			$client->modeVariable('screen2', 'periodic');
+		} else {
+			$client->modeVariable('screen2', $screen2);
+		}			
 	}
 
 	# some modes require periodic updates
@@ -1277,7 +1284,7 @@
 		return undef;
 	}
 
-	my $oldscreen2 = $client->param('screen2');
+	my $oldscreen2 = $client->modeVariable('screen2');
 
 	my $oldMode = mode($client);
 
@@ -1309,14 +1316,14 @@
 
 		if ($client->display->showExtendedText()) {
 
-			$client->param('screen2', 'periodic') unless ($client->param('screen2'));
-
-		} elsif ($client->param('screen2') eq 'periodic') {
-
-			$client->modeParam('screen2', undef);
-		}
-
-		if (!$suppressScreen2Update && $oldscreen2 && !$client->param('screen2')) {
+			$client->modeVariable('screen2', 'periodic') unless ($client->modeVariable('screen2'));
+
+		} elsif ($client->modeVariable('screen2') eq 'periodic') {
+
+			$client->modeVariable('screen2', undef);
+		}
+
+		if (!$suppressScreen2Update && $oldscreen2 && !$client->modeVariable('screen2')) {
 
 			$client->update( { 'screen2' => {} } );
 		}
@@ -1359,7 +1366,7 @@
 
 	} else {
 
-		my $oldscreen2 = $client->param('screen2');
+		my $oldscreen2 = $client->modeVariable('screen2');
 
 		pushMode($client, $setmode, $paramHashRef);
 
@@ -1384,7 +1391,7 @@
 
 	} else {
 
-		my $oldscreen2 = $client->param('screen2');
+		my $oldscreen2 = $client->modeVariable('screen2');
 
 		Slim::Buttons::Common::popMode($client, 1);
 
@@ -1400,7 +1407,7 @@
 
 	my $newlines = $display->curLines();
 
-	my $newscreen2 = $client->param('screen2');
+	my $newscreen2 = $client->modeVariable('screen2');
 
 	if ($newscreen2 && $newscreen2 eq 'periodic' && $oldscreen2 ne 'periodic') {
 		my $linesfunc = $client->lines2periodic();
@@ -1418,7 +1425,7 @@
 
 	return undef unless $client->display->hasScreen2();
 
-	my $screen2 = $client->param('screen2');
+	my $screen2 = $client->modeVariable('screen2');
 
 	if ($screen2 && $screen2 eq 'periodic') {
 		return 1;
@@ -1444,7 +1451,7 @@
 	my $interval  = $client->param('modeUpdateInterval');
 	my $interval2 = undef;
 
-	if ($client->param('screen2') && $client->param('screen2') eq 'periodic') {
+	if ($client->modeVariable('screen2') && $client->modeVariable('screen2') eq 'periodic') {
 
 		$interval2 = 1;
 	}
@@ -1475,7 +1482,7 @@
 	my $update  = $client->param('modeUpdateInterval');
 	my $update2 = undef;
 
-	if ($client->param('screen2') && $client->param('screen2') eq 'periodic') {
+	if ($client->modeVariable('screen2') && $client->modeVariable('screen2') eq 'periodic') {
 
 		$update2 = 1;
 	}



More information about the checkins mailing list