[Slim-Checkins] r10822 - in /trunk/server: Plugins/Rescan/
Plugins/Rescan/HTML/
Plugins/Rescan/HTML/EN/ Plugins/Rescan/HTML/EN/plugins/
Plugins/Rescan/HTML/EN/plugins/Rescan/
Plugins/Rescan/HTML/EN/plugins/Rescan/settings/ Slim/Buttons/
Slim/Buttons/Input/ Slim/Utils/ Slim/Web/Settings/Player/
dsully at svn.slimdevices.com
dsully at svn.slimdevices.com
Fri Dec 1 14:25:20 PST 2006
Author: dsully
Date: Fri Dec 1 14:25:20 2006
New Revision: 10822
URL: http://svn.slimdevices.com?rev=10822&view=rev
Log:
Bug: N/A
Description: Convert Rescan plugin.
* Move common time related functions out of Slim::Buttons::Input::Time
Added:
trunk/server/Plugins/Rescan/HTML/
trunk/server/Plugins/Rescan/HTML/EN/
trunk/server/Plugins/Rescan/HTML/EN/plugins/
trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/
trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/
trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html (with props)
trunk/server/Plugins/Rescan/Settings.pm (with props)
Modified:
trunk/server/Plugins/Rescan/Plugin.pm
trunk/server/Slim/Buttons/AlarmClock.pm
trunk/server/Slim/Buttons/Input/Time.pm
trunk/server/Slim/Utils/DateTime.pm
trunk/server/Slim/Utils/PluginManager.pm
trunk/server/Slim/Web/Settings/Player/Alarm.pm
Added: trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html?rev=10822&view=auto
==============================================================================
--- trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html (added)
+++ trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html Fri Dec 1 14:25:20 2006
@@ -1,0 +1,46 @@
+[% PROCESS settings/header.html %]
+
+ <div class="settingSection">
+ <div class="groupHead">[% "PLUGIN_RESCAN_MUSIC_LIBRARY" | string | upper %]</div>
+ <div class="groupDesc">[% "PLUGIN_RESCAN_TIMER_DESC" | string %]</div>
+
+ <table border="0" cellspacing="7" cellpaddding="7">
+
+ <tr>
+ <td><label for="rescan-scheduled">[% "PLUGIN_RESCAN_TIMER_NAME" | string %]</label></td>
+ <td>
+ <select name="rescan-scheduled">
+
+ <option value="1" [% IF prefs.rescanScheduled %]selected[% END %]>[% "ON" | string %]</option>
+ <option value="0" [% IF NOT prefs.rescanScheduled %]selected[% END %]>[% "OFF" | string %]</option>
+
+ </select>
+ </td>
+
+ </tr>
+ <tr>
+ <td><label for="rescan-time">[% "PLUGIN_RESCAN_TIMER_SET" | string %]</label></td>
+ <td>
+ <input type="text" class="stdedit" name="rescan-time" id="rescan-time" value="[% prefs.rescanTime %]" size="10" />
+ </td>
+
+ </tr>
+ <tr>
+
+ <td><label for="rescan-type">[% "PLUGIN_RESCAN_TIMER_TYPE" | string %]</label></td>
+ <td>
+ <select name="rescan-type">
+
+ <option value="1rescan" [% IF prefs.rescanType == "1rescan" %]selected[% END %]>[% "SETUP_STANDARDRESCAN" | string %]</option>
+ <option value="2wipedb" [% IF prefs.rescanType == "2wipedb" %]selected[% END %]>[% "SETUP_WIPEDB" | string %]</option>
+ <option value="3playlist" [% IF prefs.rescanType == "3playlist" %]selected[% END %]>[% "SETUP_PLAYLISTRESCAN" | string %]</option>
+
+ </select>
+ </td>
+
+ </tr>
+
+ </table>
+ </div>
+
+[% PROCESS settings/footer.html %]
Propchange: trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/Rescan/HTML/EN/plugins/Rescan/settings/basic.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Modified: trunk/server/Plugins/Rescan/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/Rescan/Plugin.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Plugins/Rescan/Plugin.pm (original)
+++ trunk/server/Plugins/Rescan/Plugin.pm Fri Dec 1 14:25:20 2006
@@ -14,6 +14,8 @@
use strict;
use Time::HiRes;
+use Plugins::Rescan::Settings;
+
use Slim::Control::Request;
use Slim::Utils::Log;
@@ -44,7 +46,7 @@
$client->showBriefly( {
'line' => [ $client->string('PLUGIN_RESCAN_MUSIC_LIBRARY'),
- $client->string('PLUGIN_RESCAN_RESCANNING') ]
+ $client->string('PLUGIN_RESCAN_RESCANNING') ]
});
} else {
@@ -53,6 +55,8 @@
}
}
);
+
+ Plugins::Rescan::Settings->new;
Slim::Buttons::Common::addMode('scantimer', getFunctions(), \&setMode);
setTimer();
@@ -75,24 +79,13 @@
);
# get previous alarm time or set a default
- unless (defined Slim::Utils::Prefs::get("rescan-time")) {
+ if (!defined Slim::Utils::Prefs::get("rescan-time")) {
Slim::Utils::Prefs::set("rescan-time", 9 * 60 * 60 );
}
my %params = (
'listRef' => \@browseMenuChoices,
- 'externRef' => sub {
- my $client = shift;
- my $value = shift;
-
- if (Slim::Utils::Prefs::get("rescan-scheduled") && $value eq 'PLUGIN_RESCAN_TIMER_OFF') {
-
- return $client->string('PLUGIN_RESCAN_TIMER_ON');
- } else {
- return $client->string($value);
- }
- },
'externRefArgs' => 'CV',
'header' => 'PLUGIN_RESCAN_MUSIC_LIBRARY',
'headerAddCount' => 1,
@@ -100,6 +93,17 @@
'callback' => \&rescanExitHandler,
'overlayRef' => sub { return (undef, Slim::Display::Display::symbol('rightarrow')) },
'overlayRefArgs' => '',
+ 'externRef' => sub {
+ my $client = shift;
+ my $value = shift;
+
+ if (Slim::Utils::Prefs::get("rescan-scheduled") && $value eq 'PLUGIN_RESCAN_TIMER_OFF') {
+
+ return $client->string('PLUGIN_RESCAN_TIMER_ON');
+ }
+
+ return $client->string($value);
+ },
);
Slim::Buttons::Common::pushMode($client, 'INPUT.List', \%params);
@@ -183,9 +187,6 @@
} elsif ($exittype eq 'RIGHT') {
$client->bumpRight();
-
- } else {
- return;
}
}
@@ -246,80 +247,6 @@
setTimer();
}
-
-sub setupGroup {
-
- my %group = (
- PrefOrder => ['rescan-scheduled','rescan-time', 'rescan-type'],
- PrefsInTable => 1,
- GroupHead => Slim::Utils::Strings::string('PLUGIN_RESCAN_MUSIC_LIBRARY'),
- GroupDesc => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_DESC'),
- GroupLine => 1,
- GroupSub => 1,
- Suppress_PrefSub => 1,
- Suppress_PrefLine => 1,
- Suppress_PrefHead => 1
- );
-
- my %prefs = (
- 'rescan-scheduled' => {
- 'validate' => \&Slim::Utils::Validate::trueFalse,
- 'PrefChoose' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_NAME'),
- 'changeIntro' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_NAME'),
- 'options' => {
- '1' => 'ON',
- '0' => 'OFF',
- },
- },
-
- 'rescan-time' => {
- 'validate' => \&Slim::Utils::Validate::acceptAll,
- 'validateArgs' => [0,undef],
- 'PrefChoose' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_SET'),
- 'changeIntro' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_SET'),
-
- 'currentValue' => sub {
- my $client = shift;
- my $time = Slim::Utils::Prefs::get("rescan-time");
- my ($h0, $h1, $m0, $m1, $p) = Slim::Buttons::Input::Time::timeDigits($client,$time);
- my $timestring = ((defined($p) && $h0 == 0) ? ' ' : $h0) . $h1 . ":" . $m0 . $m1 . " " . (defined($p) ? $p : '');
- return $timestring;
- },
-
- 'onChange' => sub {
- my ($client,$changeref,$paramref,$pageref) = @_;
- my $time = $changeref->{'rescan-time'}{'new'};
- if (defined $time) {
- my $newtime = 0;
- $time =~ s{
- ^(\s?0?[0-9]|1[0-9]|2[0-4]):([0-5][0-9])\s*(P|PM|A|AM)?$
- }{
- if (defined $3) {
- $newtime = ($1 == 12?0:$1 * 60 * 60) + ($2 * 60) + ($3 =~ /P/?12 * 60 * 60:0);
- } else {
- $newtime = ($1 * 60 * 60) + ($2 * 60);
- }
- }iegsx;
- Slim::Utils::Prefs::set('rescan-time',$newtime);
- }
- },
- },
-
- 'rescan-type' => {
- 'validate' => \&Slim::Utils::Validate::acceptAll,
- 'optionSort' => 'K',
- 'options' => {
- '1rescan' => Slim::Utils::Strings::string('SETUP_STANDARDRESCAN'),
- '2wipedb' => Slim::Utils::Strings::string('SETUP_WIPEDB'),
- '3playlist' => Slim::Utils::Strings::string('SETUP_PLAYLISTRESCAN'),
- },
- 'PrefChoose' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_TYPE'),
- 'changeIntro' => Slim::Utils::Strings::string('PLUGIN_RESCAN_TIMER_TYPE'),
- }
- );
-
- return (\%group,\%prefs);
-};
sub strings {
return q^
@@ -424,5 +351,3 @@
}
1;
-
-
Added: trunk/server/Plugins/Rescan/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/Rescan/Settings.pm?rev=10822&view=auto
==============================================================================
--- trunk/server/Plugins/Rescan/Settings.pm (added)
+++ trunk/server/Plugins/Rescan/Settings.pm Fri Dec 1 14:25:20 2006
@@ -1,0 +1,64 @@
+package Plugins::Rescan::Settings;
+
+# SlimServer Copyright (C) 2001-2006 Slim Devices Inc.
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License,
+# version 2.
+
+use strict;
+use base qw(Slim::Web::Settings);
+
+use Slim::Utils::DateTime;
+
+sub name {
+ return 'PLUGIN_RESCAN_MUSIC_LIBRARY';
+}
+
+sub page {
+ return 'plugins/Rescan/settings/basic.html';
+}
+
+sub handler {
+ my ($class, $client, $params) = @_;
+
+ my @prefs = qw(
+ rescan-scheduled
+ rescan-time
+ rescan-type
+ );
+
+ for my $pref (@prefs) {
+
+ if ($params->{'submit'}) {
+
+ if ($pref eq 'rescan-time') {
+
+ $params->{$pref} = Slim::Utils::DateTime::prettyTimeToSecs($params->{$pref});
+ }
+
+ Slim::Utils::Prefs::set($pref, $params->{$pref});
+ }
+
+ $params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+
+ if ($pref eq 'rescan-time') {
+
+ $params->{'prefs'}->{$pref} = Slim::Utils::DateTime::secsToPrettyTime(
+ $params->{'prefs'}->{$pref}
+ );
+ }
+
+ # Hack prefs - Template Toolkit doesn't like the dashes.
+ my $value = delete $params->{'prefs'}->{$pref};
+
+ $pref =~ s/-(\w)/\u$1/;
+
+ $params->{'prefs'}->{$pref} = $value;
+ }
+
+ return $class->SUPER::handler($client, $params);
+}
+
+1;
+
+__END__
Propchange: trunk/server/Plugins/Rescan/Settings.pm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/Rescan/Settings.pm
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/Rescan/Settings.pm
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: trunk/server/Slim/Buttons/AlarmClock.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Buttons/AlarmClock.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Slim/Buttons/AlarmClock.pm (original)
+++ trunk/server/Slim/Buttons/AlarmClock.pm Fri Dec 1 14:25:20 2006
@@ -26,6 +26,7 @@
use Slim::Player::Playlist;
use Slim::Buttons::Common;
+use Slim::Utils::DateTime;
use Slim::Utils::Misc;
use Scalar::Util qw(blessed);
@@ -221,8 +222,7 @@
$dowString .= sprintf(" (%s)",
Slim::Buttons::Input::Time::timeString(
$client,
- Slim::Buttons::Input::Time::timeDigits(
- $client,
+ Slim::Utils::DateTime::timeDigits(
$client->prefGet('alarmtime', $dayOfWeek)
),
-1 # hide the cursor
Modified: trunk/server/Slim/Buttons/Input/Time.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Buttons/Input/Time.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Slim/Buttons/Input/Time.pm (original)
+++ trunk/server/Slim/Buttons/Input/Time.pm Fri Dec 1 14:25:20 2006
@@ -41,8 +41,9 @@
use strict;
use Slim::Buttons::Common;
+use Slim::Display::Display;
+use Slim::Utils::DateTime;
use Slim::Utils::Misc;
-use Slim::Display::Display;
Slim::Buttons::Common::addMode('INPUT.Time',getFunctions(),\&setMode);
@@ -66,7 +67,7 @@
,'knob' => sub {
my ($client,$funct,$functarg) = @_;
- my @timedigits = timeDigits($client, $client->modeParam('valueRef'));
+ my @timedigits = Slim::Utils::DateTime::timeDigits($client->modeParam('valueRef'));
scroll($client, $client->knobPos() - $timedigits[$client->modeParam('cursorPos')]);
}
@@ -122,7 +123,7 @@
}
my $valueRef = $client->modeParam('valueRef');
- my ($h0, $h1, $m0, $m1, $p) = timeDigits($client,$valueRef);
+ my ($h0, $h1, $m0, $m1, $p) = Slim::Utils::DateTime::timeDigits($valueRef);
$p = (defined $p && $p eq 'PM') ? 1 : 0;
@@ -191,7 +192,7 @@
}
}
- $$valueRef = timeDigitsToTime($h0, $h1, $m0, $m1, $p);
+ $$valueRef = Slim::Utils::DateTime::timeDigitsToTime($h0, $h1, $m0, $m1, $p);
Slim::Utils::Timers::setTimer($client, Time::HiRes::time() + Slim::Utils::Prefs::get("displaytexttimeout"), \&nextChar);
@@ -244,9 +245,15 @@
$line1 = $client->string($line1);
}
- my $timestring = timeString($client,timeDigits($client,$client->modeParam('valueRef')));
-
- if (!defined($timestring)) { return ( {} ); }
+ my $timestring = timeString($client,
+ Slim::Utils::DateTime::timeDigits($client->modeParam('valueRef'))
+ );
+
+ if (!defined($timestring)) {
+
+ return {};
+ }
+
$line2 = $timestring;
return {
@@ -271,7 +278,7 @@
# The knob on Transporter needs to be prepopulated with list lengths
# for proper scrolling.
- my @timedigits = timeDigits($client, $client->modeParam('valueRef'));
+ my @timedigits = Slim::Utils::DateTime::timeDigits($client->modeParam('valueRef'));
prepKnob($client, \@timedigits);
}
@@ -333,71 +340,6 @@
return 1;
}
-=head2 timeDigits( $client, $timeRef)
-
-This function converts a unix time value to the individual values for hours, minutes and am/pm
-
-Takes as arguments, the $client object/structure and a reference to the scalar time value.
-
-=cut
-
-sub timeDigits {
- my $client = shift;
- my $timeRef = shift;
- my $time;
-
- if (ref($timeRef)) {
- $time = $$timeRef || 0;
-
- } else {
- $time = $timeRef || 0;
- }
-
- my $h = int($time / (60*60));
- my $m = int(($time - $h * 60 * 60) / 60);
- my $p = undef;
-
- if (Slim::Utils::Prefs::get('timeFormat') =~ /%p/) {
- $p = 'AM';
-
- if ($h > 11) { $h -= 12; $p = 'PM'; }
-
- if ($h == 0) { $h = 12; }
- } #else { $p = " "; };
-
- if ($h < 10) { $h = '0' . $h; }
-
- if ($m < 10) { $m = '0' . $m; }
-
- my $h0 = substr($h, 0, 1);
- my $h1 = substr($h, 1, 1);
- my $m0 = substr($m, 0, 1);
- my $m1 = substr($m, 1, 1);
-
- return ($h0, $h1, $m0, $m1, $p);
-}
-
-=head2 timeDigitsToTime( $h0, $h1, $m0, $m1, $p)
-
-This function converts discreet time digits into a scalar time value. It is the reverse of timeDigits()
-
-Takes as arguments, the hour ($h0, $h1), minute ($m0, $m1) and whether time is am or pm if applicable ($p)
-
-=cut
-
-sub timeDigitsToTime {
- my ($h0, $h1, $m0, $m1, $p) = @_;
-
- $p ||= 0;
-
- my $time = (((($p * 12) # pm adds 12 hours
- + ($h0 * 10) + $h1) * 60) # convert hours to minutes
- + ($m0 * 10) + $m1) * 60; # then minutes to seconds
-
- return $time;
-}
-
-
=head2 timeString( $client, $h0, $h1, $m0, $m1, $p, $c)
This function converts the discrete time digits into a time string for use with a player display hash.
@@ -469,7 +411,7 @@
$client->modeParam('cursorPos',$cursorPos);
$client->update();
- prepKnob($client, [ timeDigits($client,$client->modeParam('valueRef')) ]);
+ prepKnob($client, [ Slim::Utils::DateTime::timeDigits($client->modeParam('valueRef')) ]);
}
sub scroll {
@@ -487,7 +429,8 @@
$onChange->(@args);
}
- my @timedigits = timeDigits($client, $client->modeParam('valueRef'));
+ my @timedigits = Slim::Utils::DateTime::timeDigits($client->modeParam('valueRef'));
+
$client->modeParam('listIndex', $timedigits[$client->modeParam('cursorPos')]);
$client->updateKnob();
@@ -556,10 +499,11 @@
}
} else {
+
$valueRef = $client->modeParam('valueRef');
}
- my ($h0, $h1, $m0, $m1, $p) = timeDigits($client,$valueRef);
+ my ($h0, $h1, $m0, $m1, $p) = Slim::Utils::DateTime::timeDigits($valueRef);
my $ampm = (Slim::Utils::Prefs::get('timeFormat') =~ /%p/);
@@ -612,7 +556,7 @@
}
}
- $$valueRef = timeDigitsToTime($h0, $h1, $m0, $m1, $p);
+ $$valueRef = Slim::Utils::DateTime::timeDigitsToTime($h0, $h1, $m0, $m1, $p);
return $$valueRef;
}
Modified: trunk/server/Slim/Utils/DateTime.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/DateTime.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Slim/Utils/DateTime.pm (original)
+++ trunk/server/Slim/Utils/DateTime.pm Fri Dec 1 14:25:20 2006
@@ -7,8 +7,10 @@
use strict;
+use Date::Parse;
use POSIX qw(strftime);
+use Slim::Utils::Prefs;
use Slim::Utils::Unicode;
=head1 NAME
@@ -114,6 +116,110 @@
$frac = substr($fracrounded, -2, 2);
return "$min:$sec.$frac";
+}
+
+=head2 secsToPrettyTime( $seconds )
+
+Turns seconds into HH:MM AM/PM
+
+=cut
+
+sub secsToPrettyTime {
+ my $secs = shift;
+
+ my ($h0, $h1, $m0, $m1, $p) = timeDigits($secs);
+
+ my $string = ' ';
+
+ if (!defined $p || $h0 != 0) {
+
+ $string = $h0;
+ }
+
+ $string .= "$h1:$m0$m1 ";
+
+ if (defined $p) {
+ $string .= $p;
+ }
+
+ return $string;
+}
+
+=head2 prettyTimeToSecs( "HH:MM AM/PM" )
+
+Turns a pretty time string into seconds.
+
+=cut
+
+sub prettyTimeToSecs {
+ my $secs = shift;
+
+ my ($mm,$hh) = (strptime($secs))[1,2];
+
+ return ($hh*3600) + ($mm*60);
+}
+
+=head2 timeDigits( $time )
+
+This function converts a unix time value to the individual values for hours, minutes and am/pm
+
+Takes as arguments, the $client object/structure and a reference to the scalar time value.
+
+=cut
+
+sub timeDigits {
+ my $timeRef = shift;
+ my $time;
+
+ if (ref($timeRef)) {
+ $time = $$timeRef || 0;
+
+ } else {
+ $time = $timeRef || 0;
+ }
+
+ my $h = int($time / (60*60));
+ my $m = int(($time - $h * 60 * 60) / 60);
+ my $p = undef;
+
+ if (Slim::Utils::Prefs::get('timeFormat') =~ /%p/) {
+ $p = 'AM';
+
+ if ($h > 11) { $h -= 12; $p = 'PM'; }
+
+ if ($h == 0) { $h = 12; }
+ } #else { $p = " "; };
+
+ if ($h < 10) { $h = '0' . $h; }
+
+ if ($m < 10) { $m = '0' . $m; }
+
+ my $h0 = substr($h, 0, 1);
+ my $h1 = substr($h, 1, 1);
+ my $m0 = substr($m, 0, 1);
+ my $m1 = substr($m, 1, 1);
+
+ return ($h0, $h1, $m0, $m1, $p);
+}
+
+=head2 timeDigitsToTime( $h0, $h1, $m0, $m1, $p)
+
+This function converts discreet time digits into a scalar time value. It is the reverse of timeDigits()
+
+Takes as arguments, the hour ($h0, $h1), minute ($m0, $m1) and whether time is am or pm if applicable ($p)
+
+=cut
+
+sub timeDigitsToTime {
+ my ($h0, $h1, $m0, $m1, $p) = @_;
+
+ $p ||= 0;
+
+ my $time = (((($p * 12) # pm adds 12 hours
+ + ($h0 * 10) + $h1) * 60) # convert hours to minutes
+ + ($m0 * 10) + $m1) * 60; # then minutes to seconds
+
+ return $time;
}
=head2 timeFormats()
Modified: trunk/server/Slim/Utils/PluginManager.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Utils/PluginManager.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Slim/Utils/PluginManager.pm (original)
+++ trunk/server/Slim/Utils/PluginManager.pm Fri Dec 1 14:25:20 2006
@@ -41,6 +41,15 @@
'Picks' => 1,
'iTunes' => 1,
'RandomPlay' => 1,
+ 'CLI' => 1,
+ 'RPC' => 1,
+ 'RssNews' => 1,
+ 'Rescan' => 1,
+ 'SavePlaylist' => 1,
+ 'SlimTris' => 1,
+ 'Snow' => 1,
+ 'Visualizer' => 1,
+ 'xPL' => 1,
);
my $log = logger('server.plugins');
Modified: trunk/server/Slim/Web/Settings/Player/Alarm.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings/Player/Alarm.pm?rev=10822&r1=10821&r2=10822&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings/Player/Alarm.pm (original)
+++ trunk/server/Slim/Web/Settings/Player/Alarm.pm Fri Dec 1 14:25:20 2006
@@ -10,6 +10,7 @@
use strict;
use base qw(Slim::Web::Settings);
+use Slim::Utils::DateTime;
use Slim::Utils::Log;
sub name {
@@ -61,25 +62,14 @@
if ($pref eq 'alarmtime') {
- my $time = $paramRef->{'alarmtime'.$i};
- my $newtime = 0;
+ my $newTime = Slim::Utils::DateTime::prettyTimeToSecs($paramRef->{"alarmtime$i"});
- $time =~ s{
- ^(0?[0-9]|1[0-9]|2[0-4]):([0-5][0-9])\s*(P|PM|A|AM)?$
- }{
- if (defined $3) {
- $newtime = ($1 == 12?0:$1 * 60 * 60) + ($2 * 60) + ($3 =~ /P/?12 * 60 * 60:0);
- } else {
- $newtime = ($1 * 60 * 60) + ($2 * 60);
- }
- }iegsx;
-
- if ($newtime != $client->prefGet('alarmtime', $i)) {
+ if ($newTime != $client->prefGet('alarmtime', $i)) {
push @changed, 'alarmtime'.$i;
}
- $client->prefSet('alarmtime', $newtime, $i);
+ $client->prefSet('alarmtime', $newTime, $i);
} else {
@@ -90,7 +80,6 @@
}
}
}
-
}
$class->_handleChanges($client, \@changed, $paramRef);
@@ -132,24 +121,11 @@
for my $i (0..7) {
- my $time = $client->prefGet('alarmtime',$i);
+ my $time = Slim::Utils::DateTime::secsToPrettyTime(
+ $client->prefGet('alarmtime', $i)
+ );
- my ($h0, $h1, $m0, $m1, $p) = Slim::Buttons::Input::Time::timeDigits($client,$time);
-
- my $timestring = ' ';
-
- if (!defined $p || $h0 != 0) {
-
- $timestring = $h0;
- }
-
- $timestring .= "$h1:$m0$m1 ";
-
- if (defined $p) {
- $timestring .= $p;
- }
-
- ${$paramRef->{'prefs'}->{'alarmtime'}}[$i] = $timestring;
+ ${$paramRef->{'prefs'}->{'alarmtime'}}[$i] = $time;
}
}
}
More information about the checkins
mailing list