Index: /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html =================================================================== --- /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html (revision 14864) +++ /Users/mh/Documents/workspace/trunk/server/HTML/Default/settings/index.html (working copy) @@ -1,16 +1,4 @@ -[%- firstLevelItems = [ - 'BASIC_SERVER_SETTINGS', - 'ITUNES', - 'PLUGIN_PODCAST', - 'SQUEEZENETWORK_SETTINGS', - 'INTERFACE_SETTINGS', - 'SETUP_GROUP_PLUGINS', - 'SERVER_STATUS', - 'PLUGINS', - 'BEHAVIOR_SETTINGS' - ]; - -BLOCK settingsPage -%] +[%- BLOCK settingsPage -%] <div class="selectorMarker [% IF token == subPage %]selectedItem[% END %]" onclick="SettingsPage.onClicked(this);" onmouseover="SettingsPage.highlight(this);"> <div class="selector_topRight"><div class="selector_topLeft"><div class="selector_bottomRight"><div class="selector_bottomLeft"> <div class="homeMenuItem" id="[% token %][% IF category %]:[% category %][% END %]"> Index: /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html =================================================================== --- /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html (revision 14864) +++ /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/header.html (working copy) @@ -1,13 +1,9 @@ -[% IF NOT ajaxUpdate %] -<!-- Begin settingsheader.html --> -[% FILTER null %] - - [% IF NOT useTabList; pwd_list = BLOCK %] - [%- PROCESS setting_chooser.html setting_chooser_noHome = 1 %] - [% END; END %] - - [% pageHeaderScripts = BLOCK %] - [% pageHeaderScripts %] +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" +"http://www.w3.org/TR/html4/loose.dtd"> +<html> + <head> + [% PROCESS standardheader.html %] + <script type="text/javascript" src="[% webroot %]html/prototype.js?r=[% revision %]" ></script> <script type="text/javascript" src="[% webroot %]html/scriptaculous/scriptaculous.js?load=effects,controls&r=[% revision %]" ></script> <script type="text/javascript" src="[% webroot %]html/global.js?r=[% revision %]" ></script> @@ -17,33 +13,33 @@ new Event.observe(window, 'load', function(){ initSettingsForm(); }); [%- END %] </script> - [% END %] - - [% IF useTabList; pageHeaderInfo = BLOCK %] - [%- PROCESS setting_chooser.html setting_chooser_noHome = 1 %] - [% END; END %] - -[% END %] - -[% IF playerid && needsClient; pagetitle='PLAYER_SETTINGS' | string; ELSE; pagetitle = 'SERVER_SETTINGS' | string; END %] -[% pageicon = 'settings'; noSpacer = 1; PROCESS pageheader.html %] + </head> + <body [% bodyscript %]> + <div id="statusMessage"> + [% SET pwd_list = pageHeaderMenu IF pageHeaderMenu and not pwd_list -%] + [%- PROCESS crumblist IF pwd_list %] + </div> + <div id="pageHeaderInfo"> + [% pageHeaderInfo %] + </div> + <div id="homeMenu"> -<div id="statusarea" class="statusarea"> - [%- IF warning %] - [% warning %] - [% END -%] -</div> + <div id="statusarea" class="statusarea"> + [%- IF warning %] + [% warning %] + [% END -%] + </div> + + <div id="settingsRegion"> -<div id="settingsRegion"> -[% END %] -<form name="settingsForm" id="settingsForm" method="post" action="[% webroot %][% path %][% IF playerid %]?playerid=[% playerid | uri %][% END %]"> -<div id="innerSettingsBlock"> -<div id="fileselectorautocomplete" class="fileselectorautocomplete" style="display:none"></div> -<div id="fileselectorindicator" class="fileselectorindicator" style="display:none"><img src="/html/images/wait.gif"></div> - - <input type=hidden value="0" name="useAJAX"> - <input type=hidden value="[% page %]" name="page"> - [% IF playerid && needsClient %]<input type=hidden value="[% playerid %]" name="playerid">[% END %] - [% IF player %]<input type=hidden value="[% player %]" name="player">[% END %] - -<!-- End settingsheader.html --> + <form name="settingsForm" id="settingsForm" method="post" action="[% webroot %][% path %][% IF playerid %]?playerid=[% playerid | uri %][% END %]"> + <div id="innerSettingsBlock"> + <div id="fileselectorautocomplete" class="fileselectorautocomplete" style="display:none"></div> + <div id="fileselectorindicator" class="fileselectorindicator" style="display:none"><img src="/html/images/wait.gif"></div> + + <input type=hidden value="0" name="useAJAX"> + <input type=hidden value="[% page %]" name="page"> + [% IF playerid && needsClient %]<input type=hidden value="[% playerid %]" name="playerid">[% END %] + [% IF player %]<input type=hidden value="[% player %]" name="player">[% END %] + + <!-- End settingsheader.html --> Index: /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html =================================================================== --- /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html (revision 14864) +++ /Users/mh/Documents/workspace/trunk/server/HTML/EN/settings/index.html (working copy) @@ -0,0 +1,78 @@ +[%- IF menu == 'ADVANCED_SETTINGS'; + PROCESS setting_chooser.html useTabList=1 style='list'; +%] + +[%- ELSIF menu == 'PLAYER'; + + stringkeys = playersetup.keys; + USE Clients; players = Clients.get("id") + %] + <p> </p> + <div id="playerSelector"></div> + <p> </p> + [% + + IF links; + PROCESS setting_chooser.html useTabList=1 style='list'; + + END %] + +[%- ELSIF menu == 'main'; + IF playerid && needsClient; pagetitle='PLAYER_SETTINGS' | string; ELSE; pagetitle = 'SERVER_SETTINGS' | string; END; + pageicon = 'settings'; + noSpacer = 1; + + pageHeaderMenu = BLOCK; + FOREACH stringkey = firstLevelItems; + link = additionalLinks.setup.$stringkey; + IF !link; link = path _ '?sub=' _ stringkey _ '&'; END %] + <a href="[% webroot %][% link %]player=[% playerURI %][% IF playerid %]&playerid=[% playerid %][% END %]" target="settings">[% stringkey | string | html %]</a>[% IF style == "list" %]</li>[% END %] + [% IF !loop.last %]<span class="bar">|</span>[% END %] + [%- END; END; + + PROCESS pageheader.html; + + PROCESS settings/footer.html nosubmit=1 %] + +[%- ELSIF sub == 'PLAYER' && !playerid; + PROCESS settings/header.html %] + <p><br/>[% "NO_PLAYER_FOUND" | string %]</p> + [% PROCESS settings/footer.html %] + +[%- ELSIF sub -%] + <frameset cols="250,*"> + [% IF !subPage && sub == 'PLAYER'; + subPage = "BASIC_PLAYER_SETTINGS"; + ELSIF !subPage; + subPage = "FORMATTING_SETTINGS"; + END %] + <frame src="[% webroot %]settings/index.html?player=[% playerURI %]&menu=[% sub %]&subPage=[% subPage %][% IF playerid %]&playerid=[% playerURI; END %]" name="menu" frameborder="0"> + + [% IF additionalLinks.setup.$subPage; + myPage = additionalLinks.setup.$subPage; + ELSIF playersetup.$subPage; + myPage = playersetup.$subPage; + ELSIF sub == 'player'; + myPage = webroot _ "settings/player/basic.html?player=" _ playerURI _ "&playerid=" _ playerURI; + ELSE; + myPage = webroot _ "settings/server/formatting.html?player=" _ playerURI; + END %] + + <frame src="[% myPage %]" name="subSettings" frameborder="0" marginwidth="15"> + </frameset> + +[%- ELSE -%] +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html> + <head> + <title>[% "SERVER_SETTINGS" | string %]</title> + <link rel="stylesheet" type="text/css" href="[% webroot %]slimserver.css?r=[% revision %]" /> + </head> + <frameset rows="60,*"> + <frame src="[% path %]?menu=main&player=[% playerURI %]" name="mainmenu"> + <frame src="[% webroot %]settings/server/basic.html" name="settings" id="settings"> + </frameset> + +</html> +[% END %] \ No newline at end of file Index: /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm =================================================================== --- /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm (revision 14864) +++ /Users/mh/Documents/workspace/trunk/server/Slim/Web/Settings/Server/Index.pm (working copy) @@ -18,6 +18,7 @@ my ($class, $client, $paramRef) = @_; $paramRef->{additionalLinks} = \%Slim::Web::Pages::additionalLinks; + $paramRef->{additionalLinks}->{setup}->{MY_MUSIC} = $paramRef->{additionalLinks}->{setup}->{BEHAVIOR_SETTINGS}; my @sortedLinks = map { $_->[1] } @@ -27,6 +28,19 @@ $paramRef->{sortedLinks} = \@sortedLinks; + $paramRef->{firstLevelItems} = [ + 'BASIC_SERVER_SETTINGS', + 'PLAYER', + 'MY_MUSIC', + 'SQUEEZENETWORK_SETTINGS', + 'ITUNES', + 'INTERFACE_SETTINGS', + 'PLUGINS', + 'PLUGIN_PODCAST', + 'ADVANCED_SETTINGS', + 'SERVER_STATUS', + ]; + $paramRef->{iTunesEnabled} = Slim::Utils::PluginManager->isEnabled('Slim::Plugin::iTunes::Plugin'); $paramRef->{podcastEnabled} = Slim::Utils::PluginManager->isEnabled('Slim::Plugin::Podcast::Plugin');