Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
void
ManageV7Widget::OnAction(int id)
{
  switch (id) {
  case SETUP:
    {
      V7ConfigWidget widget(GetLook(), device);
      DefaultWidgetDialog(_T("LXNAV V7"), widget);
    }
    break;
  }
}
Ejemplo n.º 3
0
void
ManageNanoWidget::OnAction(int id)
{
  switch (id) {
  case SETUP:
    {
      NanoConfigWidget widget(GetLook(), device);
      DefaultWidgetDialog(UIGlobals::GetMainWindow(), GetLook(),
                          _T("LXNAV Nano"), widget);
    }
    break;
  }
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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;
  }
}