Change layout of quality custom to improve clarity.

Change tweak text of SD DVD to include BD/BR.
This commit is contained in:
JackDandy 2018-01-29 02:26:23 +00:00
parent 716b0a8131
commit e630cc0fdf
18 changed files with 245 additions and 92 deletions

View file

@ -11,6 +11,8 @@
* Add performance gains for proper search by integrating it into recent search
* Add the once per day proper finder time to footer, this process catches any propers missed during recent searches
* Add ability to differentiate webdl/rip sources so overwriting propers is always done from the same source (e.g. AMZN)
* Change layout of quality custom to improve clarity
* Change tweak text of SD DVD to include BD/BR
[develop changelog]
@ -20,6 +22,7 @@
* Fix save option display freespace
* Fix load web dl types from db if url fetching fails
* Change ManageSearches layout between collapsed Provider Failures tables from single to multi line
* Fix display show page episode font color for Proview I
### 0.13.15 (2018-01-26 10:30:00 UTC)

View file

@ -336,6 +336,7 @@ home_newShow.tmpl
color:#707070
}
.btn-inverse.dark-bg,
#addRootDirTable td label .filepath,
.grey-text{color:#999}
.highlight-text{color:#fff}
@ -1428,7 +1429,7 @@ div.formpaginate .prev, div.formpaginate .next{
background:#2265a1
}
#customQualityWrapper .tip-text p{
#custom-quality-wrapper .tip-text p{
color:#999
}

View file

@ -29,6 +29,7 @@ pre .prelight-num{
background-image:url("../images/glyphicons-halflings-white.png")
}
.dark-bg .icon-glyph,
.icon-white{
background-image:url("../images/glyphicons-halflings.png")
}
@ -351,6 +352,7 @@ home_newShow.tmpl
color:#909090
}
.btn-inverse.dark-bg,
#addRootDirTable td label .filepath,
.grey-text{color:#666}
.highlight-text{color:#000}
@ -1389,7 +1391,7 @@ div.formpaginate .prev, div.formpaginate .next{
background:#57442b
}
#customQualityWrapper .tip-text p{
#custom-quality-wrapper .tip-text p{
color:#666
}

View file

@ -623,6 +623,20 @@ inc_top.tmpl
content:"\e900"
}
.searchadd.icon-glyph{
display:none
}
.active .searchadd.icon-glyph{
opacity:0.4;filter:alpha(opacity=40);
float:none;
display:inline-block;
margin:0 0 -2px 0;
height:14px
}
.searchadd.icon-glyph{
background-position:-337px 0
}
/* =======================================================================
inc_bottom.tmpl
========================================================================== */
@ -1124,14 +1138,14 @@ div.formpaginate{
margin-right:6px
}
#edit-show #customQualityWrapper .tip-text p,
#addShowForm #customQualityWrapper .tip-text p,
#edit-show #customQualityWrapper .tip-text em,
#addShowForm #customQualityWrapper .tip-text em{
#edit-show #custom-quality-wrapper .tip-text p,
#addShowForm #custom-quality-wrapper .tip-text p,
#edit-show #custom-quality-wrapper .tip-text em,
#addShowForm #custom-quality-wrapper .tip-text em{
font-size:13px
}
#addShowForm .stepDiv #customQuality.show-if-quality-custom span.component-desc p{
#addShowForm .stepDiv #custom-quality.show-if-quality-custom span.component-desc p{
font-size:12px
}
@ -2732,7 +2746,7 @@ config*.tmpl
color:#666
}
.stepDiv #customQualityWrapper h4{
.stepDiv #custom-quality-wrapper h4{
margin-top:6px;
padding:0 0
}
@ -2764,7 +2778,7 @@ config*.tmpl
float:left
}
#config .nocheck, #config div #customQuality, .metadataDiv{
#config .nocheck, #config div #custom-quality, .metadataDiv{
padding-left:20px
}
@ -2847,19 +2861,46 @@ select .selected:before{
}
#editShow .field-pair #SceneException h4,
#editShow .field-pair #customQuality h4{
#editShow .field-pair #custom-quality h4{
font-size:13px !important;
}
#editShow .field-pair #SceneException h4,
#editShow .field-pair #customQuality h4{
#editShow .field-pair #custom-quality h4{
margin-bottom:6px
}
#editShow .field-pair #customQuality h4{
#editShow .field-pair #custom-quality h4{
line-height:normal
}
#custom-quality .btn,
#custom-quality .btn-placeholder{
width:13em
}
#custom-quality .btn-placeholder{
display:inline-block;
border:1px transparent
}
#addShowForm #add-white,
#addShowForm #add-black{
margin:0 0 10px 30px !important
}
#addShowForm #remove-white,
#addShowForm #remove-black{
margin:0 0 0 30px !important
}
#edit-show #add-white,
#edit-show #add-black{
margin:0 0 10px !important
}
#edit-show #remove-white,
#edit-show #remove-black{
margin:0 !important
}
.test-notification{
padding:5px;
margin-bottom:10px;
@ -3523,6 +3564,12 @@ img[src=""],img:not([src]){
left:0
}
.bfr{
position:absolute;
left:-999px;
top:-999px
}
/* =======================================================================
bootstrap Overrides
========================================================================== */
@ -4327,6 +4374,24 @@ div.formpaginate .prev, div.formpaginate .next{
padding:15px
}
#import-shows .stepDiv,
.step-three .stepDiv{
padding:15px 0
}
#import-shows #addShowForm{
width:861px
}
.step-three #custom-quality-wrapper{
width:831px
}
#import-shows #addShowForm .stepDiv span.component-desc,
#addShowForm .step-three .stepDiv span.component-desc{
width:639px
}
.stepDiv.parent-folder{
padding:15px 0 0;
width:430px;
@ -4338,21 +4403,21 @@ div.formpaginate .prev, div.formpaginate .next{
}
/* step 3 related */
#edit-show #customQualityWrapper #customQuality,
#customQuality{
#edit-show #custom-quality-wrapper #custom-quality,
#custom-quality{
display:block;
padding:0 0 10px 0;
overflow:hidden;
clear:both
}
#customQualityWrapper div.component-group-desc{
#custom-quality-wrapper div.component-group-desc{
float:left;
width:172px;
padding:0
}
#customQualityWrapper div.component-group-desc p{
#custom-quality-wrapper div.component-group-desc p{
margin:.8em 0;
font-size:1.2em
}
@ -4365,7 +4430,8 @@ tablesorter.css
#display-show .tablesorter{
width:100%;
margin-right:auto;
margin-left:auto
margin-left:auto;
color:#000;
/* text-align:left;*/
/* border-spacing:0*/
}

View file

@ -295,7 +295,7 @@
<div>
<span class="details-title">Initial</span>
<span class="details-info">
#echo ', '.join([$Quality.qualityStrings[$x] for $x in sorted($anyQualities)])#
#echo ', '.join([$Quality.get_quality_ui($x) for $x in sorted($anyQualities)])#
</span>
</div>
#end if
@ -303,7 +303,7 @@
<div>
<span class="details-title">Upgrade to</span>
<span class="details-info">
#echo ', '.join([$Quality.qualityStrings[$x] for $x in sorted($bestQualities)])#
#echo ', '.join([$Quality.get_quality_ui($x) for $x in sorted($bestQualities)])#
</span>
</div>
#end if
@ -396,7 +396,7 @@
<optgroup label="Downloaded">
#for $curStatus in sorted($Quality.DOWNLOADED)
#if $DOWNLOADED != $curStatus
<option value="$curStatus">$re.sub('Downloaded\s*\(([^\)]+)\)', r'\1', $statusStrings[$curStatus])</option>
<option value="$curStatus">$re.sub('Downloaded\s*\(([^\)]+)\)', r'\1', $statusStrings[$curStatus].replace('SD DVD', 'SD DVD/BR/BD'))</option>
#end if
#end for
<option value="$DOWNLOADED">with archived quality</option>

View file

@ -146,17 +146,17 @@
<div class="field-pair">
#set $qualities = $common.Quality.splitQuality(int($show.quality))
#set global $anyQualities = $qualities[0]
#set global $bestQualities = $qualities[1]
#set global $any_qualities = $qualities[0]
#set global $best_qualities = $qualities[1]
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_qualityChooser.tmpl')
#if $anyQualities + $bestQualities
#if $any_qualities + $best_qualities
<div class="field-pair show-if-quality-custom" style="display:none">
<label for="upgrade-once">
<span class="component-title">Upgrade once</span>
<span class="component-desc">
<input type="checkbox" name="upgrade_once" id="upgrade-once"#echo ('', $html_checked)[$show.upgrade_once]#>
<p>stop upgrading after matching the first best <em>Upgrade to</em> quality</p>
<p>stop upgrading after matching the first best <em>upgrade</em> quality</p>
</span>
</label>
</div>

View file

@ -134,7 +134,7 @@
#if $SUBTITLED == $curStatus
<img width="16" height="11" src="$sbRoot/images/flags/<%= hItem["resource"][len(hItem["resource"])-6:len(hItem["resource"])-4] + '.png' %>">
#end if
<span class="help" title="$os.path.basename($hItem["resource"])">$statusStrings[$curStatus]</span>
<span class="help" title="$os.path.basename($hItem["resource"])">$statusStrings[$curStatus].replace('SD DVD', 'SD DVD/BR/BD')</span>
</td>
<td class="provider">
#if $DOWNLOADED == $curStatus
@ -156,7 +156,7 @@
#end if
#end if
</td>
<td><span class="hide">$curQuality</span><span class="quality $Quality.get_quality_css($curQuality)">$Quality.qualityStrings[$curQuality]</span></td>
<td><span class="hide">$curQuality</span><span class="quality $Quality.get_quality_css($curQuality)">$Quality.get_quality_ui($curQuality)</span></td>
</tr>
#end for
@ -258,7 +258,7 @@
#end for
</td>
#end if
<td quality="$curQuality"><span class="quality $Quality.get_quality_css($curQuality)">$Quality.qualityStrings[$curQuality]</span></td>
<td quality="$curQuality"><span class="quality $Quality.get_quality_css($curQuality)">$Quality.get_quality_ui($curQuality)</span></td>
</tr>
#end for

View file

@ -8,6 +8,7 @@
#set global $sbPath = '../..'
#set global $statpath = '../..'
#set global $topmenu = 'home'
#set global $page_body_attr = 'import-shows"'
##
#import os.path
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_top.tmpl')

View file

@ -9,7 +9,7 @@
<% def sg_str(varname, default=''): return getattr(sickbeard, varname, default) %>#slurp#
<div class="stepDiv linefix">
<div style="float:right;margin:-30px -15px 20px 15px;font-size:12px;line-height:27px;">
<div style="float:right;margin:-30px 0px 20px 15px;font-size:12px;line-height:27px;">
<span class="grey-text">To reuse options below when adding more shows&nbsp;<input class="btn btn-inline" type="button" id="saveDefaultsButton" value="Save as defaults" disabled="disabled" /></span>
</div>
@ -19,7 +19,7 @@
<span class="component-desc">
<select name="defaultStatus" id="statusSelect" class="form-control form-control-inline input-sm">
#for $curStatus in [$SKIPPED, $WANTED, $ARCHIVED, $IGNORED]:
<option value="$curStatus"#if $sg_var('STATUS_DEFAULT', SKIPPED) == $curStatus then $selected else ''#>$statusStrings[$curStatus]</option>
<option value="$curStatus"#if $sg_var('STATUS_DEFAULT', SKIPPED) == $curStatus then $selected else ''#>$statusStrings[$curStatus].replace('SD DVD', 'SD DVD/BR/BD')</option>
#end for
</select>
<span>set the initial status of missing episodes</span>
@ -33,8 +33,8 @@
<div class="field-pair">
#set $qualities = $Quality.splitQuality($sg_var('QUALITY_DEFAULT', SD))
#set global $anyQualities = $qualities[0]
#set global $bestQualities = $qualities[1]
#set global $any_qualities = $qualities[0]
#set global $best_qualities = $qualities[1]
#include $os.path.join($sg_str('PROG_DIR'), 'gui/slick/interfaces/default/inc_qualityChooser.tmpl')
</div>

View file

@ -19,8 +19,8 @@
#end for
</select>
<div style="position:relative; width:36px; height:64px; margin: -32px 0 0; top: 50%;" class="pull-right">
<input style="margin:0 0 10px !important" class="btn" id="add-white" value="<<" type="button">
<input style="margin:0 !important" class="btn clear:right" id="remove-white" value=">>" type="button">
<input id="add-white" class="btn" value="<<" type="button">
<input id="remove-white" class="btn clear:right" value=">>" type="button">
</div>
</div>
</div>
@ -34,8 +34,8 @@
#end for
</select>
<div style="position:relative; width:36px; height:64px; margin: -32px 0 0; top: 50%;" class="pull-right">
<input style="margin:0 0 10px !important" class="btn" id="add-black" value="<<" type="button">
<input style="margin:0 !important" class="btn clear:right" id="remove-black" value=">>" type="button">
<input id="add-black" class="btn" value="<<" type="button">
<input id="remove-black" class="btn clear:right" value=">>" type="button">
</div>
</div>
</div>
@ -65,4 +65,4 @@
</div>
</div>
</span>
</div><!-- /blackwhitelist -->
</div><!-- /blackwhitelist -->

View file

@ -105,9 +105,9 @@
#slurp
#set $curStatus, $curQuality = $Quality.splitCompositeStatus(int($ep['status']))
#if Quality.NONE != $curQuality
<td class="col-status">#if $SUBTITLED == $curStatus#<span class="addQTip" title="$statusStrings[$curStatus]"><i class="sgicon-subtitles" style="vertical-align:middle"></i></span>#else#$statusStrings[$curStatus].replace('Downloaded', '')#end if# <span class="quality $Quality.get_quality_css($curQuality)#if $downloaded# addQTip" title="$downloaded#end if#">$Quality.qualityStrings[$curQuality]</span></td>
<td class="col-status">#if $SUBTITLED == $curStatus#<span class="addQTip" title="$statusStrings[$curStatus]"><i class="sgicon-subtitles" style="vertical-align:middle"></i></span>#else#$statusStrings[$curStatus].replace('Downloaded', '')#end if# <span class="quality $Quality.get_quality_css($curQuality)#if $downloaded# addQTip" title="$downloaded#end if#">$Quality.get_quality_ui($curQuality)</span></td>
#else
<td class="col-status">$statusStrings[$curStatus]</td>
<td class="col-status">$statusStrings[$curStatus].replace('SD DVD', 'SD DVD/BR/BD')</td>
#end if
<td class="col-search">
#if 0 != int($ep['season'])

View file

@ -3,15 +3,15 @@
#set $html_selected = ' selected="selected"'
<div class="field-pair">
<label for="qualityPreset" class="clearfix">
#set $overall_quality = $Quality.combineQualities($anyQualities, $bestQualities)
<label for="quality-preset" class="clearfix">
#set $overall_quality = $Quality.combineQualities($any_qualities, $best_qualities)
<span class="component-title input">Quality to download</span>
<span class="component-desc">
#set $selected = None
<select id="qualityPreset" name="quality_preset" class="form-control form-control-inline input-sm">
<select id="quality-preset" name="quality_preset" class="form-control form-control-inline input-sm">
<option value="0">Custom</option>
#for $curPreset in $qualityPresets:
<option value="$curPreset"#echo ('', $html_selected)[$curPreset == $overall_quality]##echo ('', ' style="padding-left:15px"')[$qualityPresetStrings[$curPreset].endswith('0p') and 'UHD' not in $qualityPresetStrings[$curPreset]]#>$qualityPresetStrings[$curPreset]</option>
#for $cur_preset in $qualityPresets:
<option value="$cur_preset"#echo ('', $html_selected)[$cur_preset == $overall_quality]##echo ('', ' style="padding-left:15px"')[$qualityPresetStrings[$cur_preset].endswith('0p') and 'UHD' not in $qualityPresetStrings[$cur_preset]]#>$qualityPresetStrings[$cur_preset]</option>
#end for
</select>
<span>tip: select a quality then "Custom" for a default selection</span>
@ -19,43 +19,76 @@
</label>
</div>
<div id="customQualityWrapper">
<div id="customQuality" class="show-if-quality-custom" style="display:none">
<div class="component-group-desc tip-text">
<p>An <em class="highlight-text">Initial</em> quality downloads before any <em class="highlight-text">Upgrade to</em> selections are considered.</p>
<p>Deselect all <em class="highlight-text">Upgrade to</em> qualities to keep the first best <em class="highlight-text">Initial</em> release found.</p>
<p>All found <em class="highlight-text">Upgrade to</em> qualities download until the best.</p>
<div id="custom-quality-wrapper">
<div id="custom-quality" class="show-if-quality-custom" style="display:none">
<div class="field-pair">
<div class="component-group-desc tip-text">
<p style="margin-bottom:25px">An <em class="highlight-text">initial</em> quality downloads before optional upgrades</p>
<p id="unknown-quality" style="display:none">
Temporarily use <em class="red-text">'Unknown'</em> to skip release qual checks.
Results in spam if left on
</p>
</div>
<span id="initial-quality" class="component-desc">
<p>Select one or more qualities; the best one found when searching will be snatched</p>
#set $any_quality_list = filter(lambda x: x > $Quality.NONE and x < $Quality.UNKNOWN, $Quality.qualityStrings)
#set $has_unknown = False
#for $cur_quality in sorted($any_quality_list):
##set $has_unknown |= ($Quality.UNKNOWN == $cur_quality and $cur_quality in $any_qualities)
<a href="#" data-quality="$cur_quality" class="btn btn-inverse dark-bg#echo ('', ' active')[$cur_quality in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($cur_quality)</a>
#if $Quality.UHD4KWEB == $cur_quality
<span class="btn-placeholder"></span>
<span class="btn-placeholder"></span>
<a href="#" data-quality="$Quality.UNKNOWN" class="btn btn-inverse dark-bg#echo ('', ' active')[$Quality.UNKNOWN in $any_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($Quality.UNKNOWN)</a>
#end if
#if $cur_quality in [$Quality.SDDVD, $Quality.FULLHDTV, $Quality.FULLHDBLURAY, $Quality.UHD4KWEB]
<br>
#end if
#end for
</span>
</div>
<span class="component-desc">
<div class="field-pair" style="clear:both">
<div class="component-group-desc tip-text">
<p style="margin-bottom:25px">All found <em class="highlight-text">upgrade</em> qualities download until the best</p>
<p id="no-upgrade" style="display:none">No <em class="highlight-text">upgrades</em> selected, an <em class="highlight-text">initial</em> snatch will complete any search</p>
<p id="upgrade-cond" style="display:none">An <em class="highlight-text">upgrade</em> will only search after an <em class="highlight-text">initial</em> has complete</p>
</div>
<span id="upgrade-quality" class="component-desc">
<p>Optional, upgrade a completed download to any selected quality</p>
#set $best_quality_list = filter(lambda x: x > $Quality.SDTV and x < $Quality.UNKNOWN, $Quality.qualityStrings)
#for $cur_quality in sorted($best_quality_list):
<a href="#" data-quality="$cur_quality" class="btn btn-inverse dark-bg#echo ('', ' active')[$cur_quality in $best_qualities]#" role="button"><i class="icon-glyph searchadd"></i>$Quality.get_quality_ui($cur_quality)</a>
#if $cur_quality in [$Quality.SDDVD, $Quality.FULLHDTV, $Quality.FULLHDBLURAY]
<br>
#end if
#end for
</span>
</div>
<span class="component-desc bfr">
<div style="float:left;padding-right:28px">
<h4 class="jumbo">Initial</h4>
#set $anyQualityList = filter(lambda x: x > $Quality.NONE, $Quality.qualityStrings)
<select id="anyQualities" name="anyQualities" multiple="multiple" size="$len($anyQualityList)" class="form-control form-control-inline input-sm">
#set $has_unknown = False
#for $curQuality in sorted($anyQualityList):
#set $has_unknown |= ($Quality.UNKNOWN == $curQuality and $curQuality in $anyQualities)
<option value="$curQuality"#echo ('', $html_selected)[$curQuality in $anyQualities]#>$Quality.qualityStrings[$curQuality]</option>
#set $any_quality_list = filter(lambda x: x > $Quality.NONE, $Quality.qualityStrings)
<select id="initial-qualities" name="anyQualities" multiple="multiple" size="$len($any_quality_list)" class="form-control form-control-inline input-sm">
#for $cur_quality in sorted($any_quality_list):
<option value="$cur_quality"#echo ('', $html_selected)[$cur_quality in $any_qualities]#>$Quality.get_quality_ui($cur_quality)</option>
#end for
</select>
</div>
<div style="float:left;padding-right:20px">
<h4 class="jumbo">Upgrade to</h4>
#set $bestQualityList = filter(lambda x: x > $Quality.SDTV and x < $Quality.UNKNOWN, $Quality.qualityStrings)
<select id="bestQualities" name="bestQualities" multiple="multiple" size="$len($bestQualityList)" class="form-control form-control-inline input-sm">
#for $curQuality in sorted($bestQualityList):
<option value="$curQuality"#echo ('', $html_selected)[$curQuality in $bestQualities]#>$Quality.qualityStrings[$curQuality]</option>
#set $best_quality_list = filter(lambda x: x > $Quality.SDTV and x < $Quality.UNKNOWN, $Quality.qualityStrings)
<select id="upgrade-qualities" name="bestQualities" multiple="multiple" size="$len($best_quality_list)" class="form-control form-control-inline input-sm">
#for $cur_quality in sorted($best_quality_list):
<option value="$cur_quality"#echo ('', $html_selected)[$cur_quality in $best_qualities]#>$Quality.get_quality_ui($cur_quality)</option>
#end for
</select><br />
<span>Ctrl + Click = toggle a quality</span>
</div>
<div style="line-height:normal;padding-top:50px" id="quality-notes" class="tip-text">
<p id="unknown"#if not $has_unknown# style="display:none"#end if#>
<em class="highlight-text">Note:</em> Temporarily use 'Unknown' for releases with no recognised quality.
Full-time use risks snatching bad releases and wastes API hits.
</p>
</div>
</span>
</div>

View file

@ -53,7 +53,7 @@
<div class="optionWrapper">
<span class="selectTitle">Quality</span>
<div class="selectChoices">
<select id="qualityPreset" name="quality_preset" class="form-control form-control-inline input-sm">
<select id="quality-preset" name="quality_preset" class="form-control form-control-inline input-sm">
<option value="keep">&lt; keep &gt;</option>
<option value="0" #if None is not $quality_value and $quality_value not in $common.qualityPresets then $selected else ''#>Custom</option>
#for $curPreset in sorted($common.qualityPresets):
@ -62,22 +62,22 @@
</select>
</div><br />
<div id="customQuality" class="show-if-quality-custom">
<div id="custom-quality" class="show-if-quality-custom">
<div class="manageCustom pull-left">
<h4 style="font-size:14px">Initial</h4>
#set $anyQualityList = filter(lambda x: x > $common.Quality.NONE, $common.Quality.qualityStrings)
<select id="anyQualities" name="anyQualities" multiple="multiple" size="$len($anyQualityList)">
<select id="initial-qualities" name="anyQualities" multiple="multiple" size="$len($anyQualityList)">
#for $curQuality in sorted($anyQualityList):
<option value="$curQuality" #if $curQuality in $anyQualities then $selected else ''#>$common.Quality.qualityStrings[$curQuality]</option>
<option value="$curQuality" #if $curQuality in $anyQualities then $selected else ''#>$common.Quality.get_quality_ui($curQuality)</option>
#end for
</select>
</div>
<div class="manageCustom pull-left">
<h4 style="font-size:14px">Upgrade to</h4>
#set $bestQualityList = filter(lambda x: x > $common.Quality.SDTV, $common.Quality.qualityStrings)
<select id="bestQualities" name="bestQualities" multiple="multiple" size="$len($bestQualityList)">
<select id="upgrade-qualities" name="bestQualities" multiple="multiple" size="$len($bestQualityList)">
#for $curQuality in sorted($bestQualityList):
<option value="$curQuality" #if $curQuality in $bestQualities then $selected else ''#>$common.Quality.qualityStrings[$curQuality]</option>
<option value="$curQuality" #if $curQuality in $bestQualities then $selected else ''#>$common.Quality.get_quality_ui($curQuality)</option>
#end for
</select>
</div><br />

View file

@ -3,10 +3,10 @@ $(document).ready(function(){
$('#saveDefaultsButton').click(function() {
var anyQualArray = [], bestQualArray = [];
$('#anyQualities option:selected').each(function(i, d) {
$('#initial-qualities option:selected').each(function(i, d) {
anyQualArray.push($(d).val());
});
$('#bestQualities option:selected').each(function(i, d) {
$('#upgrade-qualities option:selected').each(function(i, d) {
bestQualArray.push($(d).val());
});
@ -32,9 +32,9 @@ $(document).ready(function(){
$(this).attr('disabled', true);
});
$('#statusSelect, #qualityPreset, #anyQualities, #bestQualities, #wanted_begin, #wanted_latest,'
$('#statusSelect, #quality-preset, #initial-qualities, #upgrade-qualities, #wanted_begin, #wanted_latest,'
+ ' #flatten_folders, #scene, #subtitles, #anime, #tag').change(function() {
$('#saveDefaultsButton').attr('disabled', false);
});
});
});

View file

@ -251,7 +251,7 @@ $(document).ready(function () {
$('#addShowForm').submit();
});
$('#qualityPreset').change(function () {
$('#quality-preset').change(function () {
myform.loadsection(2);
});

View file

@ -1,12 +1,12 @@
function setFromPresets (preset) {
var elCustomQuality = $('.show-if-quality-custom'),
selected = 'selected';
selected = 'selected', quality, selectState, btn$, dev = !1;
if (preset = parseInt(preset)) {
elCustomQuality.fadeOut('fast', 'linear');
!dev && elCustomQuality.fadeOut('fast', 'linear');
var upgrade = !0;
$('#anyQualities, #bestQualities').find('option').each(function() {
if (upgrade && 'bestQualities' === $(this).parent().attr('id')) {
$('#initial-qualities, #upgrade-qualities').find('option').each(function() {
if (upgrade && 'upgrade-qualities' === $(this).parent().attr('id')) {
upgrade = !1;
switch (preset) {
case 3: preset = 128 + 32 + 4; break;
@ -15,8 +15,22 @@ function setFromPresets (preset) {
default: preset = 0;
}
}
$(this).attr(selected, ((preset & parseInt($(this).val())) ? selected : false));
quality = $(this).val();
selectState = ((preset & parseInt(quality, 10)) ? selected : !1);
$(this).attr(selected, selectState);
var list = /initial/.test($(this).parent().attr('id')) ? '#initial-quality': '#upgrade-quality';
btn$ = $(/initial/.test($(this).parent().attr('id')) ? '#initial-quality': '#upgrade-quality').find('a.btn[data-quality="' + quality + '"]');
if(!selectState){
btn$.removeClass('active')
} else {
btn$.addClass('active')
}
dev && console.log(preset, list, 'this.val():', quality, 'selectState:', selectState, 'hasClass:', btn$.hasClass('active'))
});
dev && console.log('-----------------------');
} else
elCustomQuality.fadeIn('fast', 'linear');
@ -24,16 +38,23 @@ function setFromPresets (preset) {
}
function presentTips() {
var tip$ = $('#unknown');
if (/undefined/i.test($('#anyQualities').find('option[value="32768"]').attr('selected'))) {
tip$.fadeOut('fast', 'linear');
} else {
var tip$ = $('#unknown-quality');
if ($('#initial-quality').find('a.btn[data-quality="32768"]').hasClass('active')) {
tip$.fadeIn('fast', 'linear');
} else {
tip$.fadeOut('fast', 'linear');
}
var tip$ = $('#no-upgrade'), tip2$ = $('#upgrade-cond');
if ($('#upgrade-quality').find('a.btn').hasClass('active')) {
tip$.fadeOut('fast', 'linear', function(){tip2$.fadeIn('fast', 'linear');});
} else {
tip2$.fadeOut('fast', 'linear', function(){tip$.fadeIn('fast', 'linear');});
}
}
$(document).ready(function() {
var elQualityPreset = $('#qualityPreset'),
$(function() {
var elQualityPreset = $('#quality-preset'),
selected = ':selected';
elQualityPreset.change(function() {
@ -42,7 +63,29 @@ $(document).ready(function() {
setFromPresets(elQualityPreset.find(selected).val());
$('#anyQualities').change(function() {
$('#initial-qualities').change(function() {
presentTips();
});
$('#custom-quality').find('a[href="#"].btn').on('click', function(event){
event.stopPropagation();
$(this).toggleClass('active');
var select$ = $('initial-quality' === $(this).closest('.component-desc').attr('id') ? '#initial-qualities' : '#upgrade-qualities'),
quality = $(this).data('quality'), arrSelected = $.map(select$.val(), function(v){return parseInt(v, 10)}) || Array();
if($(this).hasClass('active')){
arrSelected.push(quality);
} else {
arrSelected = arrSelected.filter(function(elem){
return elem !== quality;
});
}
select$.val(arrSelected).change();
presentTips();
return !1;
});
});

View file

@ -151,6 +151,10 @@ class Quality:
return (Quality.qualityStrings[quality].replace('2160p', 'UHD2160p').replace('1080p', 'HD1080p')
.replace('720p', 'HD720p').replace('HD TV', 'HD720p').replace('RawHD TV', 'RawHD'))
@staticmethod
def get_quality_ui(quality):
return Quality.qualityStrings[quality].replace('SD DVD', 'SD DVD/BR/BD')
@staticmethod
def _getStatusStrings(status):
toReturn = {}

View file

@ -1480,7 +1480,7 @@ class Home(MainHandler):
indexerid = int(showObj.indexerid)
indexer = int(showObj.indexer)
t.min_initial = Quality.qualityStrings[min(Quality.splitQuality(showObj.quality)[0])]
t.min_initial = Quality.get_quality_ui(min(Quality.splitQuality(showObj.quality)[0]))
t.all_scene_exceptions = showObj.exceptions
t.scene_numbering = get_scene_numbering_for_show(indexerid, indexer)
t.scene_absolute_numbering = get_scene_absolute_numbering_for_show(indexerid, indexer)