fix(settings): giữ tên nút chặn mạng cũ và nới cột mục lục
CI / test (pull_request) Canceled after 0s
CI / test (pull_request) Canceled after 0s
- Trả nhãn công tắc về "Block network for agent-run commands" (vi/ja như cũ). - Cột mục lục bên trái tính độ rộng theo kiểu chữ của mục đang chọn (in đậm + lề 10px), trước đây "Sandbox Security Layer" bị cắt. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8c497cf50a
commit
10b8379824
@@ -10,9 +10,9 @@ from typing import Dict
|
||||
|
||||
STRINGS: Dict[str, Dict[str, str]] = {
|
||||
"settings.sandbox_block_network": {
|
||||
"en": "Block network (AI provider still allowed)",
|
||||
"ja": "ネットワークをブロック(AIプロバイダーのみ許可)",
|
||||
"vi": "Chặn mạng (vẫn cho gọi nhà cung cấp AI)"},
|
||||
"en": "Block network for agent-run commands",
|
||||
"ja": "エージェントが実行するコマンドのネットワークをブロック",
|
||||
"vi": "Chặn mạng cho lệnh do agent chạy"},
|
||||
"settings.allow_url_fetch": {
|
||||
"en": "Allow the agent to fetch URLs (web pages, SharePoint / OneDrive links)",
|
||||
"ja": "エージェントによるURL取得を許可(Webページ、SharePoint / OneDriveリンク)",
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
"""Width of a navigation list whose current row is drawn bold.
|
||||
|
||||
The theme draws the selected ``sectionIndex`` row with ``font-weight: 600``
|
||||
and 10px padding each side (``theme/qss.py``). Sizing the list from the plain
|
||||
font left the selected label too wide for its row, so "Sandbox Security
|
||||
Layer" was cut off in Settings as soon as it was picked.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Iterable
|
||||
|
||||
from PySide6.QtGui import QFont, QFontMetrics
|
||||
|
||||
#: Item padding (10px x 2) + item radius + list frame, with a little slack.
|
||||
ROW_CHROME_PX = 48
|
||||
|
||||
|
||||
def selected_label_width(widget, labels: Iterable[str]) -> int:
|
||||
"""Pixels needed to show the widest of ``labels`` in the bold selected style."""
|
||||
widget.ensurePolished()
|
||||
bold = QFont(widget.font())
|
||||
bold.setWeight(QFont.Weight.DemiBold)
|
||||
metrics = QFontMetrics(bold)
|
||||
return max((metrics.horizontalAdvance(label) for label in labels), default=0) + ROW_CHROME_PX
|
||||
|
||||
|
||||
__all__ = ["ROW_CHROME_PX", "selected_label_width"]
|
||||
+3
-2
@@ -490,8 +490,9 @@ def section_panels(sections, width: int = 260):
|
||||
index.currentRowChanged.connect(stack.setCurrentIndex)
|
||||
index.setCurrentRow(0)
|
||||
|
||||
natural = max(index.fontMetrics().horizontalAdvance(lab) for lab, _w in sections) + 36
|
||||
index.setFixedWidth(max(120, min(width, natural)))
|
||||
# Sized for the SELECTED look (bold + padding), or the picked label is cut.
|
||||
from ..presentation.shared.list_sizing import selected_label_width
|
||||
index.setFixedWidth(max(120, min(width, selected_label_width(index, [lab for lab, _w in sections]))))
|
||||
return index, stack
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user