()
| 145 | } |
| 146 | |
| 147 | protected createAssistantsItemsInViewMenu() { |
| 148 | if (this.#assistantsMenuInView) |
| 149 | throw new Error('Assistant items already created'); |
| 150 | if (!this.#viewMenu) |
| 151 | throw new Error('There is no View menu'); |
| 152 | this.#viewMenu.append(gui.MenuItem.create('separator')); |
| 153 | this.#viewMenu.append(gui.MenuItem.create({ |
| 154 | label: 'Switch to Previous Assistant', |
| 155 | accelerator: 'CmdOrCtrl+[', |
| 156 | validate: isDashboard, |
| 157 | onClick: () => getDashboard()?.switchToNext(false), |
| 158 | })); |
| 159 | this.#viewMenu.append(gui.MenuItem.create({ |
| 160 | label: 'Switch to Next Assistant', |
| 161 | accelerator: 'CmdOrCtrl+]', |
| 162 | validate: isDashboard, |
| 163 | onClick: () => getDashboard()?.switchToNext(true), |
| 164 | })); |
| 165 | this.#viewMenu.append(gui.MenuItem.create('separator')); |
| 166 | this.#assistantsMenuInView = new AssistantsMenu(this.#viewMenu, this.#viewMenu.itemCount(), 'CmdOrCtrl', (assistant) => ({ |
| 167 | label: `Switch to ${assistant.service.name}`, |
| 168 | validate: isDashboard, |
| 169 | onClick: () => { |
| 170 | const win = getDashboard(); |
| 171 | if (win) |
| 172 | win.switchTo(win.views.findIndex(v => v.assistant == assistant)); |
| 173 | } |
| 174 | })); |
| 175 | } |
| 176 | |
| 177 | // Concatenate menu items of all registered views. |
| 178 | protected getAllViewMenuItems() { |
no test coverage detected