The GPS protocol rolls over the week number every 1024 weeks, and some GPS
receivers may have an internal clock so far off it won't detect that roll over,
resulting in timestamps that are about 19 years, 7 months off
{
private JDialog _dialog = null;
private JRadioButton _addRadio = null, _subtractRadio = null;
{
private JDialog _dialog = null;
private JRadioButton _addRadio = null, _subtractRadio = null;
- private WholeNumberField _dayField = null, _hourField = null;
- private WholeNumberField _minuteField = null;
+ private WholeNumberField _1024weekField = null, _dayField = null;
+ private WholeNumberField _hourField = null, _minuteField = null;
private JButton _okButton = null;
private JButton _okButton = null;
// Make a central panel with the text boxes
JPanel descPanel = new JPanel();
descPanel.setLayout(new GridLayout(0, 2));
// Make a central panel with the text boxes
JPanel descPanel = new JPanel();
descPanel.setLayout(new GridLayout(0, 2));
+ descPanel.add(makeRightLabel("dialog.addtimeoffset.1024week"));
+ _1024weekField = new WholeNumberField(3);
+ descPanel.add(_1024weekField);
descPanel.add(makeRightLabel("dialog.addtimeoffset.days"));
descPanel.add(makeRightLabel("dialog.addtimeoffset.days"));
- _dayField = new WholeNumberField(3);
+ _dayField = new WholeNumberField(4);
descPanel.add(_dayField);
descPanel.add(makeRightLabel("dialog.addtimeoffset.hours"));
_hourField = new WholeNumberField(3);
descPanel.add(_dayField);
descPanel.add(makeRightLabel("dialog.addtimeoffset.hours"));
_hourField = new WholeNumberField(3);
_okButton.setEnabled(getOffsetSecs() != 0L);
};
};
_okButton.setEnabled(getOffsetSecs() != 0L);
};
};
+ _1024weekField.addKeyListener(keyListener);
_dayField.addKeyListener(keyListener);
_hourField.addKeyListener(keyListener);
_minuteField.addKeyListener(keyListener);
_dayField.addKeyListener(keyListener);
_hourField.addKeyListener(keyListener);
_minuteField.addKeyListener(keyListener);
+ _1024weekField.addMouseListener(mouseListener);
_dayField.addMouseListener(mouseListener);
_hourField.addMouseListener(mouseListener);
_minuteField.addMouseListener(mouseListener);
_dayField.addMouseListener(mouseListener);
_hourField.addMouseListener(mouseListener);
_minuteField.addMouseListener(mouseListener);
{
long offsetSecs = _minuteField.getValue() * 60L
+ _hourField.getValue() * 60L * 60L
{
long offsetSecs = _minuteField.getValue() * 60L
+ _hourField.getValue() * 60L * 60L
- + _dayField.getValue() * 60L * 60L * 24L;
+ + _dayField.getValue() * 60L * 60L * 24L
+ + _1024weekField.getValue() * 60L * 60L * 24L * 7L * 1024L;
if (_subtractRadio.isSelected()) {offsetSecs = -offsetSecs;}
return offsetSecs;
}
if (_subtractRadio.isSelected()) {offsetSecs = -offsetSecs;}
return offsetSecs;
}
dialog.pointnameedit.titlecase=Title Case
dialog.addtimeoffset.add=Add time
dialog.addtimeoffset.subtract=Subtract time
dialog.pointnameedit.titlecase=Title Case
dialog.addtimeoffset.add=Add time
dialog.addtimeoffset.subtract=Subtract time
+dialog.addtimeoffset.1024week=1024-week block
dialog.addtimeoffset.days=Days
dialog.addtimeoffset.hours=Hours
dialog.addtimeoffset.minutes=Minutes
dialog.addtimeoffset.days=Days
dialog.addtimeoffset.hours=Hours
dialog.addtimeoffset.minutes=Minutes