[Slim-Checkins] r10823 - in /trunk/server/Plugins/DateTime: HTML/
HTML/EN/ HTML/EN/plugins/
HTML/EN/plugins/DateTime/ HTML/EN/plugins/DateTime/settings/
HTML/EN/plugins/DateTime/settings/basic.html Plugin.pm Settings.pm
dsully at svn.slimdevices.com
dsully at svn.slimdevices.com
Fri Dec 1 14:53:29 PST 2006
Author: dsully
Date: Fri Dec 1 14:53:29 2006
New Revision: 10823
URL: http://svn.slimdevices.com?rev=10823&view=rev
Log:
Bug: N/A
Description: Convert DateTime
Added:
trunk/server/Plugins/DateTime/HTML/
trunk/server/Plugins/DateTime/HTML/EN/
trunk/server/Plugins/DateTime/HTML/EN/plugins/
trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/
trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/
trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html (with props)
trunk/server/Plugins/DateTime/Settings.pm (with props)
Modified:
trunk/server/Plugins/DateTime/Plugin.pm
Added: trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html?rev=10823&view=auto
==============================================================================
--- trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html (added)
+++ trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html Fri Dec 1 14:53:29 2006
@@ -1,0 +1,32 @@
+[% PROCESS settings/header.html %]
+
+ <div class="settingSection">
+ <div class="groupHead">[% "SETUP_GROUP_DATETIME" | string | upper %]</div>
+ <div class="groupDesc">[% "SETUP_GROUP_DATETIME_DESC" | string %]</div>
+
+ <select name="screensaverDateFormat">
+
+ <option value="" [% IF NOT prefs.screensaverTimeFormat %]selected[% END %]>[% "SETUP_GROUP_DATETIME_DEFAULTTIME" | string %]</option>
+
+ [% FOREACH format = dateFormats %]
+
+ <option value="[% format.key %]" [% IF prefs.screensaverDateFormat == format %]selected[% END %]>[% format.value %]</option>
+
+ [% END %]
+
+ </select>
+
+ <select name="screensaverTimeFormat">
+
+ <option value="" [% IF NOT prefs.screensaverTimeFormat %]selected[% END %]>[% "SETUP_GROUP_DATETIME_DEFAULTTIME" | string %]</option>
+
+ [% FOREACH format = timeFormats %]
+
+ <option value="[% format.key %]" [% IF prefs.screensaverTimeFormat == format %]selected[% END %]>[% format.value %]</option>
+
+ [% END %]
+
+ </select>
+ </div>
+
+[% PROCESS settings/footer.html %]
Propchange: trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/DateTime/HTML/EN/plugins/DateTime/settings/basic.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Modified: trunk/server/Plugins/DateTime/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/DateTime/Plugin.pm?rev=10823&r1=10822&r2=10823&view=diff
==============================================================================
--- trunk/server/Plugins/DateTime/Plugin.pm (original)
+++ trunk/server/Plugins/DateTime/Plugin.pm Fri Dec 1 14:53:29 2006
@@ -1,102 +1,20 @@
+package Plugins::DateTime::Plugin;
+
# 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;
-
-###########################################
-### Section 1. Change these as required ###
-###########################################
-
-package Plugins::DateTime::Plugin;
-
-use Slim::Control::Request;
-
-use vars qw($VERSION);
-$VERSION = substr(q$Revision: 1.6 $,10);
+use Slim::Utils::DateTime;
+use Slim::Utils::Prefs;
+
+use Plugins::DateTime::Settings;
sub getDisplayName {
return 'PLUGIN_SCREENSAVER_DATETIME';
}
-sub strings { return '
-PLUGIN_SCREENSAVER_DATETIME
- CS Datumový spoÅiÄ
- DE Datum/Zeit Bildschirmschoner
- EN Date and Time Screensaver
- ES Salvapantallas de Fecha y Hora
- FR Ecran de veille Date/Heure
- HE ש××ר ××¡× ×ª×ר××××
- IT Data e ora
- NL Datum en tijd
-
-SETUP_GROUP_DATETIME
- DE Datum/Zeit Bildschirmschoner Einstellungen
- EN Date and Time Screensaver Settings
- FR Paramètres Ecran de veille Date/Heure
- NL Instellingen datum en tijd schermbeveiliger
-
-SETUP_GROUP_DATETIME_DESC
- DE Hier können Sie das Format des Datum/Zeit Bildschirmschoners festlegen.
- EN These settings control the behavior of the Date and Time Screensaver
- FR Ces réglages ajustent les paramètres de l\'Ecran de veille Date/Heure.
- NL Deze instellingen stellen het gedrag in van de datum en tijd schermbeveiliger
-
-SETUP_GROUP_DATETIME_DEFAULTTIME
- DE Slimserver Standard
- EN Slimserver Default
- FR Défaut serveur
- NL SlimServer standaard
-
-SETUP_GROUP_DATETIME_DEFAULTDATE
- DE Slimserver Standard
- EN Slimserver Default
- FR Défaut serveur
- NL SlimServer standaard
-'};
-
-my $timeFormats = {'' => "SETUP_GROUP_DATETIME_DEFAULTTIME", %{Slim::Utils::DateTime::timeFormats()}};
-my $dateFormats = {'' => "SETUP_GROUP_DATETIME_DEFAULTDATE", %{Slim::Utils::DateTime::shortDateFormats()}, %{Slim::Utils::DateTime::longDateFormats()}};
-
-sub setupGroup {
-
- my %setupGroup = (
- 'PrefOrder' => ['screensaverDateFormat','screensaverTimeFormat']
- ,'PrefsInTable' => 1
- ,'Suppress_PrefHead' => 1
- ,'Suppress_PrefDesc' => 1
- ,'Suppress_PrefLine' => 1
- ,'Suppress_PrefSub' => 1
- ,'GroupHead' => 'SETUP_GROUP_DATETIME'
- ,'GroupDesc' => 'SETUP_GROUP_DATETIME_DESC'
- ,'GroupLine' => 1
- ,'GroupSub' => 1
- );
-
- my %setupPrefs = (
- "screensaverTimeFormat" => {
- 'validate' => \&Slim::Utils::Validate::inHash
- ,'validateArgs' => [$timeFormats,1]
- ,'options' => $timeFormats
- ,'optionSort' => 'K'
- },
-
- "screensaverDateFormat" => {
- 'validate' => \&Slim::Utils::Validate::inHash
- ,'validateArgs' => [$dateFormats,1]
- ,'options' => $dateFormats
- ,'optionSort' => 'K'
- },
- );
-
- return (\%setupGroup, \%setupPrefs);
-}
-
-##################################################
-### Section 2. Your variables and code go here ###
-##################################################
-
sub enabled {
return ($::VERSION ge '6.1');
}
@@ -110,14 +28,17 @@
}
sub initPlugin {
+
+ Plugins::DateTime::Settings->new;
+
# Default to screensaverDateFormat, screensaverTimeFormat to '' or update from '0'
# Having screensaverDateFormat set to '' means that the server wide formats are used
- unless (Slim::Utils::Prefs::get('screensaverDateFormat')) {
+ if (!Slim::Utils::Prefs::get('screensaverDateFormat')) {
Slim::Utils::Prefs::set('screensaverDateFormat','')
}
- unless (Slim::Utils::Prefs::get('screensaverTimeFormat')) {
+ if (!Slim::Utils::Prefs::get('screensaverTimeFormat')) {
Slim::Utils::Prefs::set('screensaverTimeFormat','')
}
}
@@ -145,7 +66,7 @@
if ($client->prefGet($saver) ne 'SCREENSAVER.datetime') {
$client->prefSet($saver,'SCREENSAVER.datetime');
} else {
- $client->prefSet($saver,$Slim::Player::Player::defaultPrefs->{$saver});
+ $client->prefSet($saver, $Slim::Player::Player::defaultPrefs->{$saver});
}
},
'stop' => sub {
@@ -175,8 +96,8 @@
### Section 3. Your variables for your screensaver mode go here ###
###################################################################
-# First, Register the screensaver mode here. Must make the call to addStrings in order to have plugin
-# localization available at this point.
+# First, Register the screensaver mode here.
+
sub screenSaver {
Slim::Buttons::Common::addSaver(
'SCREENSAVER.datetime',
@@ -213,12 +134,12 @@
$client->modeParam('modeUpdateInterval', 1); # seconds
}
-
# following is a an optimisation for graphics rendering given the frequency DateTime is displayed
# by always returning the same hash for the font definition render does less work
-my $fontDef = { 'graphic-280x16' => { 'overlay' => [ 'small.1' ] },
- 'graphic-320x32' => { 'overlay' => [ 'standard.1' ] },
- 'text' => { 'displayoverlays' => 1 },
+my $fontDef = {
+ 'graphic-280x16' => { 'overlay' => [ 'small.1' ] },
+ 'graphic-320x32' => { 'overlay' => [ 'standard.1' ] },
+ 'text' => { 'displayoverlays' => 1 },
};
sub screensaverDateTimelines {
@@ -248,11 +169,42 @@
return $display;
}
+sub strings { return '
+PLUGIN_SCREENSAVER_DATETIME
+ CS Datumový spoÅiÄ
+ DE Datum/Zeit Bildschirmschoner
+ EN Date and Time Screensaver
+ ES Salvapantallas de Fecha y Hora
+ FR Ecran de veille Date/Heure
+ HE ש××ר ××¡× ×ª×ר××××
+ IT Data e ora
+ NL Datum en tijd
+
+SETUP_GROUP_DATETIME
+ DE Datum/Zeit Bildschirmschoner Einstellungen
+ EN Date and Time Screensaver Settings
+ FR Paramètres Ecran de veille Date/Heure
+ NL Instellingen datum en tijd schermbeveiliger
+
+SETUP_GROUP_DATETIME_DESC
+ DE Hier können Sie das Format des Datum/Zeit Bildschirmschoners festlegen.
+ EN These settings control the behavior of the Date and Time Screensaver
+ FR Ces réglages ajustent les paramètres de l\'Ecran de veille Date/Heure.
+ NL Deze instellingen stellen het gedrag in van de datum en tijd schermbeveiliger
+
+SETUP_GROUP_DATETIME_DEFAULTTIME
+ DE Slimserver Standard
+ EN Slimserver Default
+ FR Défaut serveur
+ NL SlimServer standaard
+
+SETUP_GROUP_DATETIME_DEFAULTDATE
+ DE Slimserver Standard
+ EN Slimserver Default
+ FR Défaut serveur
+ NL SlimServer standaard
+'};
+
1;
__END__
-
-# Local Variables:
-# tab-width:4
-# indent-tabs-mode:t
-# End:
Added: trunk/server/Plugins/DateTime/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/DateTime/Settings.pm?rev=10823&view=auto
==============================================================================
--- trunk/server/Plugins/DateTime/Settings.pm (added)
+++ trunk/server/Plugins/DateTime/Settings.pm Fri Dec 1 14:53:29 2006
@@ -1,0 +1,52 @@
+package Plugins::DateTime::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);
+
+my $timeFormats = Slim::Utils::DateTime::timeFormats();
+
+my $dateFormats = {
+ %{Slim::Utils::DateTime::shortDateFormats()},
+ %{Slim::Utils::DateTime::longDateFormats()}
+};
+
+sub name {
+ return 'PLUGIN_SCREENSAVER_DATETIME';
+}
+
+sub page {
+ return 'plugins/DateTime/settings/basic.html';
+}
+
+sub handler {
+ my ($class, $client, $params) = @_;
+
+ my @prefs = qw(
+ screensaverTimeFormat
+ screensaverDateFormat
+ );
+
+ for my $pref (@prefs) {
+
+ if ($params->{'submit'}) {
+
+ Slim::Utils::Prefs::set($pref, $params->{$pref});
+ }
+
+ $params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+ }
+
+ $params->{'timeFormats'} = $timeFormats;
+ $params->{'dateFormats'} = $dateFormats;
+
+ return $class->SUPER::handler($client, $params);
+}
+
+1;
+
+__END__
Propchange: trunk/server/Plugins/DateTime/Settings.pm
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/server/Plugins/DateTime/Settings.pm
------------------------------------------------------------------------------
svn:keywords = Id Author LastChangedDate LastChangedBy
Propchange: trunk/server/Plugins/DateTime/Settings.pm
------------------------------------------------------------------------------
svn:mime-type = text/plain
More information about the checkins
mailing list