[Slim-Checkins] r10804 - in /trunk/server: Plugins/RadioTime/ Plugins/RadioTime/HTML/ Plugins/RadioTime/HTML/EN/ Plugins/RadioTime/HTML/EN/plugins/ Plugins/RadioTime/HTML/EN/plugins/RadioTime/ Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/ Slim/Web/

dsully at svn.slimdevices.com dsully at svn.slimdevices.com
Thu Nov 30 15:07:21 PST 2006


Author: dsully
Date: Thu Nov 30 15:07:21 2006
New Revision: 10804

URL: http://svn.slimdevices.com?rev=10804&view=rev
Log:
Bug: N/A
Description: Convert RadioTime. Add base settings changer. Still no validation.

Added:
    trunk/server/Plugins/RadioTime/HTML/
    trunk/server/Plugins/RadioTime/HTML/EN/
    trunk/server/Plugins/RadioTime/HTML/EN/plugins/
    trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/
    trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/
    trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html   (with props)
    trunk/server/Plugins/RadioTime/Settings.pm   (with props)
Modified:
    trunk/server/Plugins/RadioTime/Plugin.pm
    trunk/server/Slim/Web/Settings.pm

Added: trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html?rev=10804&view=auto
==============================================================================
--- trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html (added)
+++ trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html Thu Nov 30 15:07:21 2006
@@ -1,0 +1,10 @@
+[% PROCESS settings/header.html %]
+
+	<div class="settingSection">
+		<div class="prefHead">[% "PLUGIN_RADIOTIME_MODULE_NAME" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_GROUP_PLUGIN_RADIOTIME_DESC" | string %]</div>
+
+		<input type="text" class="stdedit" name="plugin_radiotime_username" id="plugin_radiotime_username" value="[% prefs.plugin_radiotime_username %]" size="40">
+	</div>
+
+[% PROCESS settings/footer.html %]

Propchange: trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html
------------------------------------------------------------------------------
    svn:keywords = Id Author LastChangedDate LastChangedBy

Propchange: trunk/server/Plugins/RadioTime/HTML/EN/plugins/RadioTime/settings/basic.html
------------------------------------------------------------------------------
    svn:mime-type = text/html

Modified: trunk/server/Plugins/RadioTime/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioTime/Plugin.pm?rev=10804&r1=10803&r2=10804&view=diff
==============================================================================
--- trunk/server/Plugins/RadioTime/Plugin.pm (original)
+++ trunk/server/Plugins/RadioTime/Plugin.pm Thu Nov 30 15:07:21 2006
@@ -16,6 +16,8 @@
 
 use URI::Escape qw(uri_escape);
 
+use Plugins::RadioTime::Settings;
+
 use Slim::Buttons::Common;
 use Slim::Buttons::XMLBrowser;
 use Slim::Utils::Strings qw( string );
@@ -35,6 +37,8 @@
 }
 
 sub initPlugin {
+
+	Plugins::RadioTime::Settings->new;
 
 	Slim::Buttons::Common::addMode('PLUGIN.RadioTime', getFunctions(), \&setMode);
 
@@ -161,26 +165,6 @@
 	Slim::Control::Queries::dynamicAutoQuery($request, 'radios', $cli_next, $data);
 }
 
-sub setupGroup {
-	my %Group = (
-		PrefOrder => [
-			'plugin_radiotime_username',
-		],
-		GroupHead => string( 'PLUGIN_RADIOTIME_MODULE_NAME' ),
-		GroupDesc => string( 'SETUP_GROUP_PLUGIN_RADIOTIME_DESC' ),
-		GroupLine => 1,
-		GroupSub  => 1,
-		Suppress_PrefSub  => 1,
-		Suppress_PrefLine => 1,
-	);
-
-	my %Prefs = (
-		plugin_radiotime_username => {},
-	);
-
-	return( \%Group, \%Prefs );
-}
-
 sub strings
 {
 	return qq^

Added: trunk/server/Plugins/RadioTime/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioTime/Settings.pm?rev=10804&view=auto
==============================================================================
--- trunk/server/Plugins/RadioTime/Settings.pm (added)
+++ trunk/server/Plugins/RadioTime/Settings.pm Thu Nov 30 15:07:21 2006
@@ -1,0 +1,25 @@
+package Plugins::RadioTime::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);
+
+sub name {
+        return 'PLUGIN_RADIOTIME_MODULE_NAME';
+}
+
+sub page {
+        return 'plugins/RadioTime/settings/basic.html';
+}
+
+sub prefs {
+	return qw(plugin_radiotime_username);
+}
+
+1;
+
+__END__

Propchange: trunk/server/Plugins/RadioTime/Settings.pm
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: trunk/server/Plugins/RadioTime/Settings.pm
------------------------------------------------------------------------------
    svn:keywords = Id Author LastChangedDate LastChangedBy

Propchange: trunk/server/Plugins/RadioTime/Settings.pm
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: trunk/server/Slim/Web/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Slim/Web/Settings.pm?rev=10804&r1=10803&r2=10804&view=diff
==============================================================================
--- trunk/server/Slim/Web/Settings.pm (original)
+++ trunk/server/Slim/Web/Settings.pm Thu Nov 30 15:07:21 2006
@@ -51,9 +51,28 @@
 	return 0;
 }
 
+sub prefs {
+	return ();
+}
+
 sub handler {
 	my ($class, $client, $paramRef, $pageSetup) = @_;
 
+	# Handle the simple case where no validation is needed. Or we can do
+	# programatic validation via the prefs rework.
+	my @prefs = $class->prefs;
+
+	for my $pref (@prefs) {
+
+		if ($paramRef->{'submit'}) {
+
+			Slim::Utils::Prefs::set($pref, $paramRef->{$pref});
+		}
+
+		$paramRef->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+	}
+
+	# Common values
 	$paramRef->{'page'} = $class->name;
 
 	# Needed to generate the drop down settings chooser list.



More information about the checkins mailing list