inline void DeviceListWidget::EditCurrent() { const unsigned current = GetList().GetCursorIndex(); if (current >= NUMDEV) return; const unsigned index = current; DeviceConfig &config = CommonInterface::SetSystemSettings().devices[index]; DeviceEditWidget widget(config); if (!DefaultWidgetDialog(UIGlobals::GetMainWindow(), UIGlobals::GetDialogLook(), _("Edit device"), widget)) /* not modified */ return; /* save new config to profile .. */ config = widget.GetConfig(); Profile::SetDeviceConfig(Profile::map, index, config); Profile::Save(); /* .. and reopen the device */ DeviceDescriptor &descriptor = (*devices)[index]; descriptor.SetConfig(widget.GetConfig()); GetList().Invalidate(); UpdateButtons(); /* this OperationEnvironment instance must be persistent, because DeviceDescriptor::Open() is asynchronous */ static MessageOperationEnvironment env; descriptor.Reopen(env); }
void ManageV7Widget::OnAction(int id) { switch (id) { case SETUP: { V7ConfigWidget widget(GetLook(), device); DefaultWidgetDialog(_T("LXNAV V7"), widget); } break; } }
void ManageNanoWidget::OnAction(int id) { switch (id) { case SETUP: { NanoConfigWidget widget(GetLook(), device); DefaultWidgetDialog(UIGlobals::GetMainWindow(), GetLook(), _T("LXNAV Nano"), widget); } break; } }
static void EditUnits(const DialogLook &look, CAI302Device &device) { CAI302::Pilot data; MessageOperationEnvironment env; if (!device.ReadActivePilot(data, env)) return; CAI302UnitsEditor widget(look, data); if (!DefaultWidgetDialog(_("Units"), widget)) return; device.WriteActivePilot(widget.GetData(), env); }
void ManageV7Widget::OnAction(int id) { MessageOperationEnvironment env; switch (id) { case SETUP: { V7ConfigWidget widget(GetLook(), device); DefaultWidgetDialog(UIGlobals::GetMainWindow(), GetLook(), _T("LXNAV V7"), widget); } break; case NANO: if (device.EnablePassThrough(env)) { ManageNanoDialog(device, secondary_info); device.EnableNMEA(env); } break; } }