Files
msime-windows/ui-html/webview2/settings/default.html
T
2025-11-08 01:18:18 +08:00

389 lines
13 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>(IME)Settings</title>
<link rel="icon" href="./assets/MetasequoiaIME.ico">
<link href="./style.css" rel="stylesheet">
<style>
</style>
</head>
<body>
<div class="main">
<div class="sidebar">
<div class="sidebar-header">
<img src="./assets/MetasequoiaIME.ico" alt="">
<span>水杉输入法</span>
</div>
<div class="item" data-target="general-settings"><span class="icon">⚙️</span> 通用</div>
<div class="item" data-target="appearence-settings"><span class="icon">🎨</span> 外观</div>
<div class="item active" data-target="input-settings"><span class="icon input-icon">⌨️</span> 输入</div>
<div class="item" data-target="helpcode-settings"><span class="icon">🧩</span> 辅助码</div>
<div class="item" data-target="shortcut-settings"><span class="icon">⌘</span> 快捷键</div>
<div class="item" data-target="dict-settings"><span class="icon">📚</span> 词库</div>
<div class="item" data-target="skin-settings"><span class="icon">🖼️</span> 皮肤</div>
<div class="item" data-target="voice-settings"><span class="icon">🎙️</span> 语音打字</div>
<div class="item" data-target="screenkb-settings"><span class="icon">🖥️</span> 屏幕键盘</div>
<div class="item" data-target="tools-settings"><span class="icon">🛠️</span> 实用功能</div>
<div class="item" data-target="ai-settings"><span class="icon">🤖</span> AI 辅助</div>
<div class="item" data-target="help-settings"><span class="icon">❓</span> 帮助</div>
<div class="item" data-target="about-settings"><span class="icon">ℹ️</span> 关于</div>
<div class="item" data-target="feedback-settings"><span class="icon">💬</span> 反馈</div>
</div>
<!-- 通用 -->
<div class="content" id="general-settings">
<div class="content-header"><span>通用</span></div>
<!-- 悬浮工具栏 toggle -->
<div class="section ftb-toggle">
<div class="section-header">
<div class="section-title">悬浮工具栏</div>
<div class="ftb-toggle-btn" id="ftbToggleBtn">
<div class="ftb-toggle-knob"></div>
</div>
</div>
</div>
</div>
<!-- 外观 -->
<div class="content" id="appearence-settings">
<div class="content-header"><span>外观</span></div>
<!-- 候选窗口预览 -->
<div class="section candidate-preview">
<div class="section-title cand-prev-title">候选窗口预览</div>
<div class="candidate-container">
<div class="candidate-row">
<div class="candidate-text">ni'mf</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand candidate-first">
<div class="candidate-text">1 你们(rR)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">2 你(rX)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">3 尼(uV)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">4 妮(nV)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">5 泥(dV)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">6 逆(zQ)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">7 拟(fR)</div>
</div>
</div>
<div class="candidate-row-wrapper">
<div class="candidate-row candidate-cand">
<div class="candidate-text">8 腻(oD)</div>
</div>
</div>
</div>
</div>
<!-- 主题模式 -->
<div class="section theme">
<div class="section-header">
<div class="section-title">主题模式(默认)</div>
<div class="dropdown">
<button class="dropdown-toggle" id="themeBtn">
<span>深色</span>
<div class="arrow">
<img src="./assets/arrow.svg" alt="arrow">
</div>
</button>
<div class="dropdown-menu" id="themeMenu">
<div class="dropdown-item" data-value="dark">深色</div>
<div class="dropdown-item" data-value="light">浅色</div>
<div class="dropdown-item" data-value="system">跟随系统</div>
</div>
</div>
</div>
<div class="divider"></div>
<div class="section-header arrange-item">
<div class="section-title">候选项排列方式</div>
<div class="dropdown">
<button class="dropdown-toggle" id="arrangeBtn">
<span>竖排</span>
<div class="arrow">
<img src="./assets/arrow.svg" alt="arrow">
</div>
</button>
<div class="dropdown-menu" id="arrangeMenu">
<div class="dropdown-item" data-value="horizontal">横排</div>
<div class="dropdown-item" data-value="vertical">竖排</div>
</div>
</div>
</div>
</div>
</div>
<!-- 输入 -->
<div class="content active" id="input-settings">
<div class="content-header"><span>输入</span></div>
<!-- 输入方案 -->
<div class="section">
<div class="section-header">
<div class="section-title">输入方案</div>
</div>
<div class="input-option-content">
<label class="radio-option">
<input type="radio" name="input-method" value="pinyin">
<span>拼音输入(全拼)</span>
</label>
<div class="input-option-divider"></div>
<label class="radio-option">
<input type="radio" name="input-method" value="doublepinyin" checked>
<span>双拼输入</span>
</label>
<div class="input-option-divider"></div>
<label class="radio-option">
<input type="radio" name="input-method" value="wubi">
<span>五笔输入</span>
</label>
</div>
</div>
<!-- 输入方案 -->
<div class="section">
<div class="section-header">
<div class="section-title">双拼设置</div>
</div>
<div class="shuangpin-settings-scheme">
<div class="shuangpin-settings-scheme-title">双拼方案</div>
<div class="dropdown shuangpin-scheme-dropdown">
<button class="dropdown-toggle dropdown-toggle-shuangpin-scheme" id="shuangpinSchemeBtn">
<span>小鹤双拼</span>
<div class="arrow shuangpin-scheme-arrow">
<img src="./assets/arrow.svg" alt="arrow">
</div>
</button>
<div class="dropdown-menu shuangpin-scheme-dropdown-menu" id="shuangpinSchemeMenu">
<div class="dropdown-item" data-value="xiaohe">小鹤双拼</div>
<div class="dropdown-item" data-value="ziranma">自然码双拼</div>
<div class="dropdown-item" data-value="ziranma">微软双拼</div>
</div>
</div>
</div>
<div class="add-shuangpin-scheme">
<button class="add-shuangpin-scheme-btn">添加方案</button>
</div>
</div>
</div>
<!-- 辅助码 -->
<div class="content" id="helpcode-settings">
<div class="content-header"><span>辅助码</span></div>
</div>
<!-- 快捷键 -->
<div class="content" id="shortcut-settings">
<div class="content-header"><span>快捷键</span></div>
</div>
<!-- 词库 -->
<div class="content" id="dict-settings">
<div class="content-header"><span>词库</span></div>
</div>
<!-- 皮肤 -->
<div class="content" id="skin-settings">
<div class="content-header"><span>皮肤</span></div>
</div>
<!-- 语音打字 -->
<div class="content" id="voice-settings">
<div class="content-header"><span>语音打字</span></div>
</div>
<!-- 屏幕键盘 -->
<div class="content" id="screenkb-settings">
<div class="content-header"><span>屏幕键盘</span></div>
</div>
<!-- 实用功能 -->
<div class="content" id="tools-settings">
<div class="content-header"><span>实用功能</span></div>
</div>
<!-- AI 辅助 -->
<div class="content" id="ai-settings">
<div class="content-header"><span>AI 辅助</span></div>
</div>
<!-- 帮助 -->
<div class="content" id="help-settings">
<div class="content-header"><span>帮助</span></div>
</div>
<!-- 关于 -->
<div class="content" id="about-settings">
<div class="content-header"><span>关于</span></div>
</div>
<!-- 反馈 -->
<div class="content" id="feedback-settings">
<div class="content-header"><span>反馈</span></div>
</div>
</div>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
//
// 外观 -> 主题模式(默认)
//
{
const btn = document.getElementById('themeBtn');
const menu = document.getElementById('themeMenu');
const textSpan = btn.querySelector('span');
btn.addEventListener('click', e => {
// e.stopPropagation();
menu.classList.toggle('open');
});
menu.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', () => {
textSpan.textContent = item.textContent;
if (window.chrome?.webview) {
window.chrome.webview.postMessage({
action: "changeTheme",
theme: item.dataset.value
});
}
menu.classList.remove('open');
});
});
// 点击外部关闭当前菜单
document.addEventListener('click', e => {
if (!btn.contains(e.target) && !menu.contains(e.target)) {
menu.classList.remove('open');
}
});
}
//
// 候选项排列方式
//
{
const btn = document.getElementById('arrangeBtn');
const menu = document.getElementById('arrangeMenu');
const textSpan = btn.querySelector('span');
btn.addEventListener('click', e => {
// e.stopPropagation();
menu.classList.toggle('open');
});
menu.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', () => {
textSpan.textContent = item.textContent;
if (window.chrome?.webview) {
window.chrome.webview.postMessage({
action: "changeCandidateArrange",
arrange: item.dataset.value
});
}
menu.classList.remove('open');
});
});
// 点击外部关闭当前菜单
document.addEventListener('click', e => {
if (!btn.contains(e.target) && !menu.contains(e.target)) {
menu.classList.remove('open');
}
});
}
//
// 双拼方案
//
{
const btn = document.getElementById('shuangpinSchemeBtn');
const menu = document.getElementById('shuangpinSchemeMenu');
const textSpan = btn.querySelector('span');
btn.addEventListener('click', e => {
e.stopPropagation();
menu.classList.toggle('open');
});
menu.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', () => {
textSpan.textContent = item.textContent;
if (window.chrome?.webview) {
window.chrome.webview.postMessage({
action: "changeShuangpinScheme",
scheme: item.dataset.value
});
}
menu.classList.remove('open');
});
});
// 点击外部关闭当前菜单
document.addEventListener('click', e => {
if (!btn.contains(e.target) && !menu.contains(e.target)) {
menu.classList.remove('open');
}
});
}
});
const sidebarItems = document.querySelectorAll('.sidebar .item');
sidebarItems.forEach(item => {
item.addEventListener('click', () => {
document.querySelector('.sidebar .item.active')?.classList.remove('active');
item.classList.add('active');
document.querySelector('.content.active')?.classList.remove('active');
const targetId = item.dataset.target;
document.getElementById(targetId)?.classList.add('active');
});
});
//
// 通用 -> 悬浮工具栏
//
const toggle = document.getElementById('ftbToggleBtn');
toggle.addEventListener('click', () => {
toggle.classList.toggle('active');
});
</script>
</body>
</html>