</div><!-- /.box-body -->\r
</div><!-- /.box -->\r
\r
+ \r
+ <div class="box box-primary box-solid" id='resolution_fit_div'>\r
+ <div class="box-header with-border">\r
+ <h3 class="box-title" style="font-size: 14px;font-weight: bold;">resolution_fit\r
+ <span id="id_span_desc_cn"> —— 按照分辨率过滤</span></h3>\r
+ <div class="box-tools pull-right">\r
+ <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>\r
+ </div><!-- /.box-tools -->\r
+ </div><!-- /.box-header -->\r
+ <div class="box-body no-padding">\r
+ <table class="table table-bordered no-padding">\r
+ <tr style="font-weight:bold;">\r
+ <td class="td_ctrl_col" id="td_title_setting">选项设置</td>\r
+ <td>\r
+ <label class="radio-inline">\r
+ <input type="radio" id="id_ctrl_radio_res_fit0" name="id_ctrl_radio_res_fit" data-type="0" value="0"> <span style="font-weight:bold;">0</span>\r
+ </label> \r
+ <label class="radio-inline">\r
+ <input type="radio" id="id_ctrl_radio_res_fit1" name="id_ctrl_radio_res_fit" data-type="1" value="1"> <span style="font-weight:bold;">1</span>\r
+ </label>\r
+ </td>\r
+ </tr>\r
+ <tr id="tr_title_desc_cn">\r
+ <td class="td_ctrl_col" id="td_title_desc">选项说明</td>\r
+ <td>当设置多个主题时,在随机选择时是否按照当前分辨率过滤。 \r
+ <code style="font-weight: bold;">0</code> 不过滤 \r
+ <code style="font-weight: bold;">1</code> 过滤 <br/>\r
+ 注意,这个选项必须在上面设置了多个主题配置文件,同时 "默认" 设置为 “随机选择” 时才有效,其他情况下均无效。<br/>\r
+ 关于这个选项的详细解释,请参考 <a href="https://www.ventoy.net/cn/plugin_theme.html#vtoy_theme_res_fit">resolution_fit 选项说明</a>\r
+ </td>\r
+ </tr>\r
+ <tr id="tr_title_desc_en">\r
+ <td class="td_ctrl_col">Option Description</td>\r
+ <td>\r
+ Filter by current resolution when you set more than one themes. \r
+ <code style="font-weight: bold;">0</code> No filter  \r
+ <code style="font-weight: bold;">1</code> Filter <br/>\r
+ You can refer <a href="https://www.ventoy.net/en/plugin_theme.html#vtoy_theme_res_fit">About resolution_fit</a> for details about this option.\r
+ </td>\r
+ </tr>\r
+ </table>\r
+ </div><!-- /.box-body -->\r
+ </div><!-- /.box -->\r
+ \r
\r
<div class="box box-primary box-solid">\r
<div class="box-header with-border">\r
<td class="td_ctrl_col" id="td_title_setting">选项设置</td>\r
<td>\r
<select id="id_theme_sel_gfxmode" name="name_theme_sel_gfxmode" class="form-control">\r
+ <option title="max">max</option>\r
<option title="1920x1080">1920x1080</option>\r
<option title="1680x1050">1680x1050</option>\r
<option title="1600x900">1600x900</option>\r
} else {\r
data.display_mode = 0;\r
}\r
+ \r
+ data.resolution_fit = parseInt($('input:radio[name=id_ctrl_radio_res_fit]:checked').val());\r
}\r
\r
function VtoySaveCurrentPage() {\r
method : 'save_theme',\r
index: current_tab_index,\r
display_mode: data.display_mode,\r
+ resolution_fit: data.resolution_fit,\r
gfxmode: data.gfxmode,\r
default_file: data.default_file\r
}, function(e) {\r
var $tbl = $("#id_theme_tbl_file tbody");\r
$tbl.empty();\r
\r
+ if (list.length > 1) {\r
+ $('#resolution_fit_div').show();\r
+ } else {\r
+ $('#resolution_fit_div').hide();\r
+ }\r
+\r
for (var i = 0; i < list.length; i++) {\r
var $tr;\r
td1 = '<td>' + (i + 1) + '</td>';\r
var id = $(this).attr('id');\r
if (typeof(id) != 'undefined' && id.startsWith('id_theme_file')) {\r
$(this).change(function() {\r
- m_data_theme[current_tab_index].default_file =parseInt(id.substr(id.length - 1));\r
+ var prelen = 'id_theme_file_radio'.length;\r
+ m_data_theme[current_tab_index].default_file = parseInt(id.substr(id.length - 1));\r
+ if (id.substr(0, prelen) === 'id_theme_file_radio') {\r
+ m_data_theme[current_tab_index].default_file = parseInt(id.substr(prelen));\r
+ }\r
+ \r
VtoySaveCurrentPage();\r
});\r
}\r
$('select[id=id_theme_sel_dismode').val('GUI');\r
}\r
\r
+ $('input:radio[name=id_ctrl_radio_res_fit]')[data.resolution_fit].checked = true;\r
+ \r
FillThemeFileTable(data.filelist, data.default_file);\r
FillThemeFontTable(data.fontslist);\r
}\r
index: current_tab_index,\r
path: data.path\r
}, function(e) {\r
- list.push(data);\r
- FillThemeFileTable(list, m_data_theme[current_tab_index].default_file);\r
- Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);\r
+ if (e.result === 'success') {\r
+ list.push(data);\r
+ FillThemeFileTable(list, m_data_theme[current_tab_index].default_file);\r
+ Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);\r
+ } else if (e.result === 'duplicate') {\r
+ Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);\r
+ }\r
});\r
}\r
\r
index: current_tab_index,\r
path: data.path\r
}, function(e) {\r
- list.push(data);\r
- FillThemeFontTable(list);\r
- Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);\r
+ if (e.result === 'success') {\r
+ list.push(data);\r
+ FillThemeFontTable(list);\r
+ Message.success(g_vtoy_cur_language.STR_SAVE_SUCCESS);\r
+ } else if (e.result === 'duplicate') {\r
+ Message.error(g_vtoy_cur_language.STR_DUPLICATE_PATH);\r
+ }\r
});\r
}\r
\r
\r
$('select[id=id_theme_sel_gfxmode]').change(VtoySaveCurrentPage);\r
$('select[id=id_theme_sel_dismode]').change(VtoySaveCurrentPage);\r
+ $('#id_ctrl_radio_res_fit0').change(VtoySaveCurrentPage);\r
+ $('#id_ctrl_radio_res_fit1').change(VtoySaveCurrentPage);\r
\r
$('#id_tab_theme a[href="#tab_0"]').click(OnClickMultiModeTab);\r
$('#id_tab_theme a[href="#tab_1"]').click(OnClickMultiModeTab);\r