fix(autocal): 将标定记录总览接入主窗口

合并旧占位页为标定记录页,并统一采集页的数据查看入口。通过45项相关测试、离屏布局检查及代码和文档门禁。
This commit is contained in:
ykcheungab
2026-10-11 19:35:25 +08:00
parent b200f3d55c
commit 432f45325f
8 changed files with 112 additions and 33 deletions
+33 -5
View File
@@ -159,15 +159,43 @@ def test_overview_gui_plan_click_trial_filter_and_saved_roundtrip(qt_app, overvi
dialog.close()
def test_calibration_review_action_opens_record_overview(make_window, overview_session, monkeypatch):
from orisys_autocal.ui.record_overview_dialog import RecordOverviewDialog
def test_calibration_review_action_opens_records_tab(make_window, overview_session, monkeypatch):
from orisys_autocal.ui.calibration_panel import QFileDialog
root, _, _ = overview_session
opened = []
monkeypatch.setattr(QFileDialog, "getExistingDirectory", lambda *args: str(root))
monkeypatch.setattr(RecordOverviewDialog, "exec", lambda dialog: opened.append(dialog))
window = make_window()
assert window.workspace.page_keys() == ["axes", "sequence", "finger", "sensor", "records"]
window.calibration_panel.review_button.click()
assert len(opened) == 1 and len(opened[0].rows) == 3
assert window.workspace.current_key() == "records"
page = window.workspace.page("records")
assert len(page.overview.rows) == 3
assert not page.overview.isWindow()
window.close()
def test_records_tab_browse_error_and_reload(make_window, overview_session, monkeypatch, qt_app, tmp_path):
from PySide6.QtCore import Qt
from PySide6.QtTest import QTest
from orisys_autocal.ui.record_overview_dialog import QFileDialog
root, _, _ = overview_session
window = make_window()
window.resize(1600, 1000)
window.workspace.set_current_key("records")
page = window.workspace.page("records")
assert page.overview is None and page.path_label.text()
monkeypatch.setattr(QFileDialog, "getExistingDirectory", lambda *args: str(root))
page.open_button.click()
first = page.overview
page.load_session(root / "not-a-session")
assert page.overview is first and page.message.text()
page.open_button.click()
assert page.overview is not first and not page.message.text()
window.show()
qt_app.processEvents()
assert page.overview.isVisible()
QTest.keyClick(page.overview, Qt.Key.Key_Escape)
assert page.overview.isVisible()
assert window.grab().save(str(tmp_path / "records-tab.png"))
window.close()