Update setup-rips page to use new jquery plugins

* Output directory is now an editable combo, with predefined and
recently used directories available.
* Audio/Subtitle track selects now use asmSelect
This commit is contained in:
2011-09-24 17:58:40 +01:00
parent 7477df269e
commit 920d392f99
2 changed files with 42 additions and 3 deletions

View File

@@ -8,6 +8,13 @@ $config = $main->config();
$encoded_filename = null;
if ($req->exists('submit')) {
$encoded_filename = RippingCluster_Main::issetelse($_POST['id'], 'RippingCluster_Exception_InvalidParameters');
// Update the recently used list
$recent_output_directories = $config->get('rips.output_directories.recent');
if ( ! in_array($_POST['rip-options']['output-directory'], $recent_output_directories)) {
array_unshift($recent_output_directories, $_POST['rip-options']['output-directory']);
$config->set('rips.output_directories.recent', array_slice($recent_output_directories, 0, $config->get('rips.output_directories.recent_limit', 10)));
}
// Create the jobs from the request
$jobs = RippingCluster_Job::fromPostRequest($_POST['plugin'], $_POST['id'], $_POST['rip-options'], $_POST['rips']);
@@ -31,6 +38,12 @@ if ($req->exists('submit')) {
$this->smarty->assign('titles', $source->titles());
$this->smarty->assign('longest_title', $source->longestTitle());
$this->smarty->assign('default_output_directory', $config->get('rips.default.output_directory'));
$default_output_directories = $config->get('rips.output_directories.default');
$recent_output_directories = $config->get('rips.output_directories.recent');
$this->smarty->assign('default_output_directories', $default_output_directories);
$this->smarty->assign('recent_output_directories', $recent_output_directories);
$this->smarty->assign('next_output_directory_index', count($default_output_directories) + count($recent_output_directories) + 1);
}
?>

View File

@@ -19,7 +19,30 @@
<div>
<label for="global-output-directory">Output directory</label>
<input type="text" id="global-ouput-directory" name="rip-options[output-directory]" value="{$default_output_directory}" />
<select id="global-output-directory" name="rip-options[output-directory]">
<optgroup label="Custom"></optgroup>
<optgroup label="Defaults">
{foreach from=$default_output_directories item=dir key=name}
<option value="{$dir}">{$name}</option>
{/foreach}
</optgroup>
<optgroup label="Recently Used">
{foreach from=$recent_output_directories item=dir name=recent}
{if $smarty.foreach.recent.iteration eq 1}
<option value="{$dir}" selected="selected">{$dir}</option>
{else}
<option value="{$dir}">{$dir}</option>
{/if}
{/foreach}
</optgroup>
</select>
<script type="text/javascript">
$('#global-output-directory').jec({
position: 1,
blinkingCursor: true
});
</script>
</div>
<div>
@@ -78,7 +101,7 @@
<div>
<label for="rip-audio-{$title->id()}">Audio tracks</label>
<select id="rip-audio-{$title->id()}" name="rips[{$title->id()}][audio][]" size="5" multiple="multiple" class="rip-streams">
<select id="rip-audio-{$title->id()}" name="rips[{$title->id()}][audio][]" title="Select audio tracks" size="5" multiple="multiple" class="rip-streams">
{foreach from=$title->audioTracks() item=audio}
<option value="{$audio->id()}">{$audio->name()} - {$audio->channels()} ({$audio->language()}) </option>
{/foreach}
@@ -101,7 +124,7 @@
<div>
<label for="rip-subtitle-{$title->id()}">Subtitle tracks</label>
<select id="rip-subtitle-{$title->id()}" name="rips[{$title->id()}][subtitles][]" size="5" multiple="multiple" class="rip-streams">
<select id="rip-subtitle-{$title->id()}" name="rips[{$title->id()}][subtitles][]" title="Select subtitle tracks" size="5" multiple="multiple" class="rip-streams">
{foreach from=$title->subtitleTracks() item=subtitle}
<option value="{$subtitle->id()}">{$subtitle->language()}</option>
{/foreach}
@@ -162,6 +185,9 @@
}
});
$("#global-quantizer").val($("#quantizer-slider").slider("value"));
$('select[multiple]').asmSelect({
});
});
</script>
{/literal}