[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