mirror of
https://github.com/ventoy/Ventoy.git
synced 2025-08-27 16:01:14 +00:00
1.0.80 release
This commit is contained in:
@@ -486,9 +486,11 @@ void ventoy_data_default_control(data_control *data)
|
||||
{
|
||||
memset(data, 0, sizeof(data_control));
|
||||
|
||||
data->secondary_menu = 1;
|
||||
data->filter_dot_underscore = 1;
|
||||
data->max_search_level = -1;
|
||||
data->menu_timeout = 0;
|
||||
data->secondary_menu_timeout = 0;
|
||||
|
||||
strlcpy(data->default_kbd_layout, "QWERTY_USA");
|
||||
strlcpy(data->help_text_language, "en_US");
|
||||
@@ -510,7 +512,9 @@ int ventoy_data_cmp_control(data_control *data1, data_control *data2)
|
||||
data1->filter_vtoy != data2->filter_vtoy ||
|
||||
data1->win11_bypass_check != data2->win11_bypass_check ||
|
||||
data1->linux_remount != data2->linux_remount ||
|
||||
data1->menu_timeout != data2->menu_timeout)
|
||||
data1->secondary_menu != data2->secondary_menu ||
|
||||
data1->menu_timeout != data2->menu_timeout ||
|
||||
data1->secondary_menu_timeout != data2->secondary_menu_timeout)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
@@ -555,7 +559,9 @@ int ventoy_data_save_control(data_control *data, const char *title, char *buf, i
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_FILE_FLT_VTOY", filter_vtoy);
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_WIN11_BYPASS_CHECK", win11_bypass_check);
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_LINUX_REMOUNT", linux_remount);
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_BOOT_MENU", secondary_menu);
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_MENU_TIMEOUT", menu_timeout);
|
||||
VTOY_JSON_FMT_CTRL_INT(L2, "VTOY_SECONDARY_TIMEOUT", secondary_menu_timeout);
|
||||
|
||||
VTOY_JSON_FMT_CTRL_STRN(L2, "VTOY_DEFAULT_KBD_LAYOUT", default_kbd_layout);
|
||||
VTOY_JSON_FMT_CTRL_STRN(L2, "VTOY_HELP_TXT_LANGUAGE", help_text_language);
|
||||
@@ -600,7 +606,9 @@ int ventoy_data_json_control(data_control *ctrl, char *buf, int buflen)
|
||||
VTOY_JSON_FMT_SINT("filter_vtoy", ctrl->filter_vtoy);
|
||||
VTOY_JSON_FMT_SINT("win11_bypass_check", ctrl->win11_bypass_check);
|
||||
VTOY_JSON_FMT_SINT("linux_remount", ctrl->linux_remount);
|
||||
VTOY_JSON_FMT_SINT("secondary_menu", ctrl->secondary_menu);
|
||||
VTOY_JSON_FMT_SINT("menu_timeout", ctrl->menu_timeout);
|
||||
VTOY_JSON_FMT_SINT("secondary_menu_timeout", ctrl->secondary_menu_timeout);
|
||||
VTOY_JSON_FMT_STRN("default_kbd_layout", ctrl->default_kbd_layout);
|
||||
VTOY_JSON_FMT_STRN("help_text_language", ctrl->help_text_language);
|
||||
|
||||
@@ -666,7 +674,9 @@ static int ventoy_api_save_control(struct mg_connection *conn, VTOY_JSON *json)
|
||||
VTOY_JSON_INT("filter_vtoy", ctrl->filter_vtoy);
|
||||
VTOY_JSON_INT("win11_bypass_check", ctrl->win11_bypass_check);
|
||||
VTOY_JSON_INT("linux_remount", ctrl->linux_remount);
|
||||
VTOY_JSON_INT("secondary_menu", ctrl->secondary_menu);
|
||||
VTOY_JSON_INT("menu_timeout", ctrl->menu_timeout);
|
||||
VTOY_JSON_INT("secondary_menu_timeout", ctrl->secondary_menu_timeout);
|
||||
|
||||
VTOY_JSON_STR("default_image", ctrl->default_image);
|
||||
VTOY_JSON_STR("default_search_root", ctrl->default_search_root);
|
||||
@@ -3808,6 +3818,10 @@ static int ventoy_parse_control(VTOY_JSON *json, void *p)
|
||||
{
|
||||
CONTROL_PARSE_INT(child, data->linux_remount);
|
||||
}
|
||||
else if (strcmp(child->pcName, "VTOY_SECONDARY_BOOT_MENU") == 0)
|
||||
{
|
||||
CONTROL_PARSE_INT(child, data->secondary_menu);
|
||||
}
|
||||
else if (strcmp(child->pcName, "VTOY_TREE_VIEW_MENU_STYLE") == 0)
|
||||
{
|
||||
CONTROL_PARSE_INT(child, data->treeview_style);
|
||||
@@ -3865,6 +3879,10 @@ static int ventoy_parse_control(VTOY_JSON *json, void *p)
|
||||
{
|
||||
data->menu_timeout = (int)strtol(child->unData.pcStrVal, NULL, 10);
|
||||
}
|
||||
else if (strcmp(child->pcName, "VTOY_SECONDARY_TIMEOUT") == 0)
|
||||
{
|
||||
data->secondary_menu_timeout = (int)strtol(child->unData.pcStrVal, NULL, 10);
|
||||
}
|
||||
else if (strcmp(child->pcName, "VTOY_VHD_NO_WARNING") == 0)
|
||||
{
|
||||
CONTROL_PARSE_INT(child, data->vhd_no_warning);
|
||||
|
@@ -58,7 +58,9 @@ typedef struct data_control
|
||||
int filter_vtoy;
|
||||
int win11_bypass_check;
|
||||
int menu_timeout;
|
||||
int secondary_menu_timeout;
|
||||
int linux_remount;
|
||||
int secondary_menu;
|
||||
char default_search_root[MAX_PATH];
|
||||
char default_image[MAX_PATH];
|
||||
char default_kbd_layout[32];
|
||||
|
Binary file not shown.
@@ -1 +1 @@
|
||||
20220430 13:06:42
|
||||
20220921 18:42:35
|
@@ -723,7 +723,7 @@
|
||||
|
||||
<footer class="main-footer">
|
||||
<div class="pull-right hidden-xs">
|
||||
<b id="plugson_build_date">20220430 13:06:42</b>
|
||||
<b id="plugson_build_date">20220921 18:42:35</b>
|
||||
</div>
|
||||
<strong><a href="https://www.ventoy.net" target="_blank">https://www.ventoy.net</a></strong>
|
||||
</footer>
|
||||
|
@@ -390,6 +390,85 @@
|
||||
</div><!-- /.box -->
|
||||
|
||||
|
||||
|
||||
<div class="box box-primary box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title" style="font-size: 14px;font-weight: bold;">VTOY_SECONDARY_BOOT_MENU
|
||||
<span id="id_span_desc_cn"> —— 二级启动菜单显示开关</span></h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
||||
</div><!-- /.box-tools -->
|
||||
</div><!-- /.box-header -->
|
||||
<div class="box-body no-padding">
|
||||
<table class="table table-bordered no-padding">
|
||||
<tr style="font-weight:bold;">
|
||||
<td class="td_ctrl_col" id="td_title_setting">选项设置</td>
|
||||
<td>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" id="id_ctrl_secondary_radio0" name="id_ctrl_secondary_radio" data-type="0" value="0"> <span style="font-weight:bold;">0</span>
|
||||
</label>
|
||||
<label class="radio-inline">
|
||||
<input type="radio" id="id_ctrl_secondary_radio1" name="id_ctrl_secondary_radio" data-type="1" value="1"> <span style="font-weight:bold;">1</span>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="tr_title_desc_cn">
|
||||
<td class="td_ctrl_col" id="td_title_desc">选项说明</td>
|
||||
<td>二级启动菜单控制开关
|
||||
<code style="font-weight: bold;">0</code> 不显示
|
||||
<code style="font-weight: bold;">1</code> 显示
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="tr_title_desc_en">
|
||||
<td class="td_ctrl_col" id="td_title_desc">Option Description</td>
|
||||
<td>
|
||||
Secondary boot menu display option
|
||||
<code style="font-weight: bold;">0</code> Don't display
|
||||
<code style="font-weight: bold;">1</code> Display
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- /.box-body -->
|
||||
</div><!-- /.box -->
|
||||
|
||||
<div class="box box-primary box-solid">
|
||||
<div class="box-header with-border">
|
||||
<h3 class="box-title" style="font-size: 14px;font-weight: bold;">VTOY_SECONDARY_TIMEOUT
|
||||
<span id="id_span_desc_cn"> —— 二级启动菜单倒计时</span></h3>
|
||||
<div class="box-tools pull-right">
|
||||
<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
|
||||
</div><!-- /.box-tools -->
|
||||
</div><!-- /.box-header -->
|
||||
<div class="box-body no-padding">
|
||||
<table class="table table-bordered no-padding">
|
||||
<tr style="font-weight:bold;">
|
||||
<td class="td_ctrl_col" id="td_title_setting">选项设置</td>
|
||||
<td>
|
||||
<div class="col-sm-9" style="padding-left:0px;">
|
||||
<input type="text" class="form-control" id="id_ctrl_text_secondary_timeout" name="name_ctrl_text_secondary_timeout"/>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="tr_title_desc_cn">
|
||||
<td class="td_ctrl_col">选项说明</td>
|
||||
<td>
|
||||
二级菜单倒计时(秒)。只有当 <code>VTOY_SECONDARY_BOOT_MENU</code> 设置为1时才有效。<br/>
|
||||
默认不设置,设置之后,比如设置为10,则在倒计时10秒之后,会自动选择第一项,即:<code>Boot in normal mode</code> <br/>
|
||||
在倒计时的过程中按任意键会停止倒计时,等待用户操作。
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="tr_title_desc_en">
|
||||
<td class="td_ctrl_col">Option Description</td>
|
||||
<td>
|
||||
Timeout seconds for the secondary boot menu. Only take effect when <code>VTOY_SECONDARY_BOOT_MENU</code> is 1.<br/>
|
||||
By default no timeout is set. When you set it to 10 for example, the first entry (<code>Boot in normal mode</code>) will be selected an run after 10 seconds.
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><!-- /.box-body -->
|
||||
</div><!-- /.box -->
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="box box-primary box-solid">
|
||||
@@ -906,7 +985,7 @@
|
||||
</div><!-- /.box-body -->
|
||||
</div><!-- /.box -->
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
@@ -935,8 +1014,10 @@
|
||||
|
||||
data.win11_bypass_check = parseInt($('input:radio[name=id_ctrl_bypass_win11_radio]:checked').val());
|
||||
data.linux_remount = parseInt($('input:radio[name=id_ctrl_linux_remount_radio]:checked').val());
|
||||
data.secondary_menu = parseInt($('input:radio[name=id_ctrl_secondary_radio]:checked').val());
|
||||
data.default_search_root = $('input:text[id=id_ctrl_text_search_root]').val();
|
||||
data.menu_timeout = parseInt($('input:text[id=id_ctrl_text_timeout]').val());
|
||||
data.secondary_menu_timeout = parseInt($('input:text[id=id_ctrl_text_secondary_timeout]').val());
|
||||
data.default_image = $('input:text[id=id_ctrl_text_default_img]').val();
|
||||
|
||||
level = $('select[id=id_ctrl_sel_max_depth').val();
|
||||
@@ -968,6 +1049,7 @@
|
||||
//VTOY_WIN11_BYPASS_CHECK
|
||||
$('input:radio[name=id_ctrl_bypass_win11_radio]')[data.win11_bypass_check].checked = true;
|
||||
$('input:radio[name=id_ctrl_linux_remount_radio]')[data.linux_remount].checked = true;
|
||||
$('input:radio[name=id_ctrl_secondary_radio]')[data.secondary_menu].checked = true;
|
||||
|
||||
//VTOY_DEFAULT_SEARCH_ROOT
|
||||
$('input:text[id=id_ctrl_text_search_root]').val(data.default_search_root);
|
||||
@@ -986,6 +1068,9 @@
|
||||
|
||||
//VTOY_MENU_TIMEOUT
|
||||
$('input:text[id=id_ctrl_text_timeout]').val(data.menu_timeout);
|
||||
|
||||
//VTOY_SECONDARY_TIMEOUT
|
||||
$('input:text[id=id_ctrl_text_secondary_timeout]').val(data.secondary_menu_timeout);
|
||||
|
||||
|
||||
//VTOY_DEFAULT_IMAGE
|
||||
@@ -1070,8 +1155,10 @@
|
||||
index: current_tab_index,
|
||||
win11_bypass_check: data.win11_bypass_check,
|
||||
linux_remount:data.linux_remount,
|
||||
secondary_menu:data.secondary_menu,
|
||||
default_search_root: data.default_search_root,
|
||||
menu_timeout: data.menu_timeout,
|
||||
secondary_menu_timeout: data.secondary_menu_timeout,
|
||||
default_image: data.default_image,
|
||||
max_search_level: data.max_search_level,
|
||||
default_kbd_layout: data.default_kbd_layout,
|
||||
@@ -1200,6 +1287,15 @@
|
||||
$('input:text[id=id_ctrl_text_timeout]').val(m_data_control[current_tab_index].menu_timeout);
|
||||
}
|
||||
});
|
||||
$('input[id=id_ctrl_text_secondary_timeout]').change(function() {
|
||||
var value = $('input:text[id=id_ctrl_text_secondary_timeout]').val();
|
||||
if (/^[0-9][0-9]*$/.test(value)) {
|
||||
VtoySaveCurrentPage();
|
||||
} else {
|
||||
Message.error(g_vtoy_cur_language.STR_INVALID_TIMEOUT);
|
||||
$('input:text[id=id_ctrl_text_secondary_timeout]').val(m_data_control[current_tab_index].secondary_menu_timeout);
|
||||
}
|
||||
});
|
||||
|
||||
$('#id_tab_control a[href="#tab_0"]').click(OnClickMultiModeTab);
|
||||
$('#id_tab_control a[href="#tab_1"]').click(OnClickMultiModeTab);
|
||||
|
Reference in New Issue
Block a user