[Slim-Checkins] r10806 - in /trunk/server/Plugins/RadioIO: HTML/ HTML/EN/ HTML/EN/plugins/ HTML/EN/plugins/RadioIO/ HTML/EN/plugins/RadioIO/settings/ HTML/EN/plugins/RadioIO/settings/basic.html Plugin.pm Settings.pm

dsully at svn.slimdevices.com dsully at svn.slimdevices.com
Thu Nov 30 17:03:29 PST 2006


Author: dsully
Date: Thu Nov 30 17:03:29 2006
New Revision: 10806

URL: http://svn.slimdevices.com?rev=10806&view=rev
Log:
Bug: N/A
Description: Convert RadioIO

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

Added: trunk/server/Plugins/RadioIO/HTML/EN/plugins/RadioIO/settings/basic.html
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioIO/HTML/EN/plugins/RadioIO/settings/basic.html?rev=10806&view=auto
==============================================================================
--- trunk/server/Plugins/RadioIO/HTML/EN/plugins/RadioIO/settings/basic.html (added)
+++ trunk/server/Plugins/RadioIO/HTML/EN/plugins/RadioIO/settings/basic.html Thu Nov 30 17:03:29 2006
@@ -1,0 +1,18 @@
+[% PROCESS settings/header.html %]
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_PLUGIN_RADIOIO_USERNAME" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_PLUGIN_RADIOIO_USERNAME_DESC" | string %]</div>
+
+		<input type="text" class="stdedit" name="plugin_radioio_username" id="plugin_radioio_username" value="[% prefs.plugin_radioio_username %]" size="40">
+	</div>
+
+	<div class="settingSection">
+		<div class="prefHead">[% "SETUP_PLUGIN_RADIOIO_PASSWORD" | string | upper %]</div>
+		<div class="prefDesc">[% "SETUP_PLUGIN_RADIOIO_PASSWORD_DESC" | string %]</div>
+
+		<input type="password" class="stdedit" name="plugin_radioio_password" id="plugin_radioio_password" value="[% prefs.plugin_radioio_password %]" size="40">
+	</div>
+
+
+[% PROCESS settings/footer.html %]

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

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

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

Modified: trunk/server/Plugins/RadioIO/Plugin.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioIO/Plugin.pm?rev=10806&r1=10805&r2=10806&view=diff
==============================================================================
--- trunk/server/Plugins/RadioIO/Plugin.pm (original)
+++ trunk/server/Plugins/RadioIO/Plugin.pm Thu Nov 30 17:03:29 2006
@@ -17,6 +17,8 @@
 use MIME::Base64;
 use URI::Escape qw(uri_escape);
 
+use Plugins::RadioIO::Settings;
+
 use Slim::Buttons::Common;
 use Slim::Buttons::XMLBrowser;
 use Slim::Player::ProtocolHandlers;
@@ -36,6 +38,8 @@
 
 	# Backwards-compat with radioio:// protocol links
 	Slim::Player::ProtocolHandlers->registerHandler('radioio', 'Plugins::RadioIO::ProtocolHandler');
+
+	Plugins::RadioIO::Settings->new;
 
 	Slim::Buttons::Common::addMode('PLUGIN.RadioIO', getFunctions(), \&setMode);
 
@@ -155,36 +159,6 @@
 
 	# let our super duper function do all the hard work
 	Slim::Control::Queries::dynamicAutoQuery($request, 'radios', $cli_next, $data);
-}
-
-sub setupGroup {
-	my %Group = (
-		PrefOrder => [
-			'plugin_radioio_username',
-			'plugin_radioio_password',
-		],
-		GroupHead => string( 'PLUGIN_RADIOIO_MODULE_NAME' ),
-		GroupDesc => string( 'SETUP_GROUP_PLUGIN_RADIOIO_DESC' ),
-		GroupLine => 1,
-		GroupSub  => 1,
-		Suppress_PrefSub  => 1,
-		Suppress_PrefLine => 1,
-	);
-
-	my %Prefs = (
-		plugin_radioio_username => {},
-		plugin_radioio_password => { 
-			onChange => sub {
-				my $encoded = encode_base64( $_[1]->{plugin_radioio_password}->{new} );
-				chomp $encoded;
-				Slim::Utils::Prefs::set( 'plugin_radioio_password', $encoded );
-			},
-			inputTemplate => 'setup_input_passwd.html',
-			changeMsg     => string('SETUP_PLUGIN_RADIOIO_PASSWORD_CHANGED')
-		},
-	);
-
-	return( \%Group, \%Prefs );
 }
 
 ###

Added: trunk/server/Plugins/RadioIO/Settings.pm
URL: http://svn.slimdevices.com/trunk/server/Plugins/RadioIO/Settings.pm?rev=10806&view=auto
==============================================================================
--- trunk/server/Plugins/RadioIO/Settings.pm (added)
+++ trunk/server/Plugins/RadioIO/Settings.pm Thu Nov 30 17:03:29 2006
@@ -1,0 +1,53 @@
+package Plugins::RadioIO::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_RADIOIO_MODULE_NAME';
+}
+
+sub page {
+        return 'plugins/RadioIO/settings/basic.html';
+}
+
+sub handler {
+        my ($class, $client, $params) = @_;
+
+	my @prefs = qw(
+		plugin_radioio_username
+		plugin_radioio_password
+	);
+
+	for my $pref (@prefs) {
+
+		if ($params->{'submit'}) {
+
+			if ($pref eq 'plugin_radioio_password') {
+
+				$params->{$pref} = MIME::Base64::encode_base64($params->{$pref});
+				chomp($params->{$pref});
+			}
+
+			Slim::Utils::Prefs::set($pref, $params->{$pref});
+		}
+
+		# Do we want to display the password?
+		if ($pref eq 'plugin_radioio_password') {
+			next;
+		}
+
+		$params->{'prefs'}->{$pref} = Slim::Utils::Prefs::get($pref);
+        }
+
+        return $class->SUPER::handler($client, $params);
+}
+
+1;
+
+__END__

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

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

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



More information about the checkins mailing list