Skip to content

Commit e2ec4a4

Browse files
authored
Added mavlink forwarding to mac menu bar (#855)
* added mavlink forwarding to mac menu bar * addressing copilot suggestion by replacing removeListener with removeAllListeners
1 parent 9b0f2e5 commit e2ec4a4

4 files changed

Lines changed: 26 additions & 8 deletions

File tree

gcs/electron/main.ts

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -304,13 +304,6 @@ function setMainMenu() {
304304
{
305305
label: "View",
306306
submenu: [
307-
{
308-
label: "Connection Stats",
309-
click: () => {
310-
openLinkStatsWindow()
311-
},
312-
},
313-
{ type: "separator" },
314307
{ role: "reload" },
315308
{ role: "forceReload" },
316309
{ role: "toggleDevTools" },
@@ -322,6 +315,23 @@ function setMainMenu() {
322315
{ role: "togglefullscreen" },
323316
],
324317
},
318+
{
319+
label: "Advanced",
320+
submenu: [
321+
{
322+
label: "Connection Stats",
323+
click: () => {
324+
openLinkStatsWindow()
325+
},
326+
},
327+
{
328+
label: "MAVLink Forwarding",
329+
click: () => {
330+
win?.webContents.send("mavlink-forwarding:open")
331+
},
332+
},
333+
],
334+
},
325335
]
326336
const menu = Menu.buildFromTemplate(template)
327337
Menu.setApplicationMenu(menu)

gcs/electron/preload.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ const ALLOWED_ON_CHANNELS = [
5858
"app:send-ekf-status",
5959
"app:send-vibe-status",
6060
"settings:open",
61+
"mavlink-forwarding:open",
6162
]
6263

6364
contextBridge.exposeInMainWorld("ipcRenderer", {

gcs/src/components/navbar.jsx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,13 @@ export default function Navbar() {
162162
}
163163
}, [comPorts, selectedComPort])
164164

165+
useEffect(() => {
166+
const handler = () => dispatch(setForwardingAddressModalOpened(true))
167+
window.ipcRenderer.on("mavlink-forwarding:open", handler)
168+
return () =>
169+
window.ipcRenderer.removeAllListeners("mavlink-forwarding:open")
170+
}, [dispatch])
171+
165172
const linkClassName =
166173
"text-md px-2 rounded-sm outline-none focus:text-falconred-400 hover:text-falconred-400 transition-colors delay-50"
167174

gcs/src/helpers/settingsProvider.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export const SettingsProvider = ({ children }) => {
3939
useEffect(() => {
4040
const handler = () => open()
4141
window.ipcRenderer.on("settings:open", handler)
42-
return () => window.ipcRenderer.removeListener("settings:open", handler)
42+
return () => window.ipcRenderer.removeAllListeners("settings:open")
4343
}, [open])
4444

4545
const setSetting = (setting, value) => {

0 commit comments

Comments
 (0)