(event?: Electron.IpcMainEvent | Electron.IpcMainInvokeEvent)
| 269 | } |
| 270 | |
| 271 | private subInputBlur(event?: Electron.IpcMainEvent | Electron.IpcMainInvokeEvent): boolean { |
| 272 | try { |
| 273 | // 让插件应用获得焦点(子输入框会自动失去焦点) |
| 274 | if (event) { |
| 275 | // 直接让调用者(插件 webContents)获得焦点 |
| 276 | event.sender.focus() |
| 277 | console.log('[PluginUI] 插件应用获取焦点(分离窗口)') |
| 278 | return true |
| 279 | } else { |
| 280 | const currentPluginView = this.pluginManager?.getCurrentPluginView() |
| 281 | if (currentPluginView) { |
| 282 | currentPluginView.webContents.focus() |
| 283 | console.log('[PluginUI] 插件应用获取焦点(主窗口)') |
| 284 | return true |
| 285 | } else { |
| 286 | console.warn('[PluginUI] 没有活动的插件,无法获取焦点') |
| 287 | return false |
| 288 | } |
| 289 | } |
| 290 | } catch (error: unknown) { |
| 291 | console.error('[PluginUI] 插件获取焦点失败:', error) |
| 292 | return false |
| 293 | } |
| 294 | } |
| 295 | |
| 296 | private subInputSelect(event?: Electron.IpcMainEvent | Electron.IpcMainInvokeEvent): boolean { |
| 297 | try { |
no test coverage detected