feat(core): 增强工作模式菜单状态同步功能

- 在主窗口和离线模式管理器中添加工作模式菜单状态同步逻辑,确保UI状态与实际工作模式一致。
- 在UI管理器中实现同步方法,提升菜单状态更新的可靠性和兼容性。
- 优化代码结构,确保在菜单创建后立即同步状态,增强用户体验。
This commit is contained in:
hyb-oyqq
2025-08-15 14:06:22 +08:00
parent d7ceb71607
commit adcd6da5b4
3 changed files with 52 additions and 3 deletions

View File

@@ -204,9 +204,14 @@ class OfflineModeManager:
# 同步更新UI菜单中的模式选择状态
if hasattr(self.main_window, 'ui_manager'):
ui_manager = self.main_window.ui_manager
if hasattr(ui_manager, 'online_mode_action') and hasattr(ui_manager, 'offline_mode_action'):
ui_manager.online_mode_action.setChecked(not enabled)
ui_manager.offline_mode_action.setChecked(enabled)
# 使用专门的同步方法确保菜单状态正确更新
if hasattr(ui_manager, 'sync_work_mode_menu_state'):
ui_manager.sync_work_mode_menu_state()
elif hasattr(ui_manager, 'online_mode_action') and hasattr(ui_manager, 'offline_mode_action'):
# 兼容旧版本的直接设置方式
if ui_manager.online_mode_action and ui_manager.offline_mode_action:
ui_manager.online_mode_action.setChecked(not enabled)
ui_manager.offline_mode_action.setChecked(enabled)
# 记录离线模式状态变化
logger.debug(f"离线模式已{'启用' if enabled else '禁用'}")