[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